Kento EMOTO's Home Page
Research Topics
 Generator, Test, and Aggregate Programming
We have been proposing and studying a new programming framework
"Generate, Test, and Aggregate" (GTA for short) to support easy
parallel programming. The framework is equipped with a programming
style, namely, GTA programming style in which a programmer designs a
naive parallel program by composing a Generator to produce a
multiset of solution candidates, Testers to discard invalid
candidates, and an Aggregator to make a summary of valid
candidates. This style fits with practical combinatorial problems, and
it is easy to write correct programs in this style. The framework
also equipped with a theory of mechanical program transformations so
that programmer's naive programs can be optimized into efficient
parallel programs runnable on various parallel computation
environments, e.g., Hadoop MapReduce. The combination of the GTA
style and the optimization theory allows programmers to develop
correct and efficient parallel programs easily.
Research directions in this topic are (1) to study a theory of program
transformation used in optimizing naively composed GTA programs, (2) to
implement active libraries to provide the GTA programming to various
programming languages, and (3) to solve application problems by using
the GTA framework.
 Skeletal Parallel Programing
We have been
working on "Skeletal Parallelism", in which we are encouraged to build
efficient parallel programs by composing readymade components, called
parallel skeletons. This style frees programmers from burdensome tasks
in parallel programming.
Research directions in this topic are (1) to design flexible,
expressive efficient parallel skeletons, (2) to implement such
skeletons on various parallel computer architectures, and (3) to study
a methodology to derive efficient parallel program systematically or
automatically from ones naively composed with skeletons.
Research Activities
 GTALib
We have been developing an Haskell library 'GTALib' to provide GTA
programming in Haskell, a practical functional programming
language. The library provides the core mechanism of the optimization,
generic combinators to compose GTA programs, and useful generators and
aggregators for several wellused data structures.
 SkeTo
Project
We have been developing a practical
parallel skeleton library named 'SkeTo', which provides a set of
parallel skeletons (basic patterns of common parallel computation) to
be composed with each other to form parallel programs naively. In addition,
we have been trying to implement an optimization mechanism on
skeletons within the library.
 Collaboration Work with Sun
Microsystems Laboratories on Parallel Programming
We have been developing growing libraries for reliable, easy parallel
programming in Fortress based
on our knowledge about skeletal parallel programming. One of the most
important features of our libraries is that libraries themselves
implement optimization mechanisms to provide efficient execution to
naively composed parallel programs. Some results have been included
in the standard library of Fortress.
Publications
Japanese publications are listed in Japanese Page
Refereed Papers

Hideya Iwasaki, Kento Emoto, Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu
Fregel: a functional domainspecific language for vertexcentric largescale graph processing
Journal of Functional Programming, Vol. 32, No. 2, 2022.

Kento Emoto, Fumihisa Sadahira
A DSL for graph parallel programming with vertex subsets
The Journal of Supercomputing, Springer, Vol. 76, No. 7, 49985015, 2020.

Masahiro Yasugi, Daisuke Muraoka, Tasuku Hiraishi, Seiji Umatani, Kento Emoto
HOPE: A Parallel Execution Model Based on Hierarchical Omission
Proceedings of the 48th International Conference on Parallel Processing, ICPP 2019, , ACM, pp. 77:177:11, 2019.

Kosuke Murata, Kento Emoto
Recursion Schemes in Coq
Programming Languages and Systems  17th Asian Symposium, APLAS 2019, , Springer, pp. 202221, 2019.

Akimasa Morihata, Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Hideya Iwasaki
Optimizing Declarative Parallel Distributed Graph Processing by Using Constraint Solvers
Functional and Logic Programming, 14th International Symposium, FLOPS 2018, Nagoya, Japan, May 911, 2018, Proceedings, , pp. 166181, 2018.

Kazuhiko Kakehi, Kiminori Matsuzaki, Kento Emoto
Efficient Parallel Tree Reductions on Distributed Memory Environments
Scalable Computing: Practice and Experience, 2017, Vol. 18(1), pp. 115.

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, Hideya Iwasaki
Think like a vertex, behave like a function! a functional DSL for vertexcentric big graph processing
In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP2016, Nara, Japan, Setember 1822, 2016, , pp. 200213, ACM, 2016.

Kento Emoto, Frederic Loulergue, Julien Tesson
A Verified GenerateTestAggregate Coq Library for Parallel Programs Extraction
In Proceedings of the 5th Conference on Interactive Theorem Proving (ITP 2014), , LNCS, Vol. 8558, pp. 258274, Springer, 2014.

Kento Emoto, Kiminori Matsuzaki
An Automatic Fusion Mechanism for VariableLength List Skeletons in SkeTo
International Journal of Parallel Programming (IJPP), Springer, 2014, Vol. 42, No. 4, pp. 546563, 2014.

Yu Liu, Kento Emoto, Zhenjiang Hu
A GenerateTestAggregate Parallel Programming Library
Parallel Computing, Vol. 40, No. 2, pp. 116135, 2014.

Yu Liu, Kento Emoto, Zhenjiang Hu
A GenerateTestAggregate Parallel Programming Library
In Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM 2013), ACM New York, pp. 7181, 2013.

Kento Emoto, Sebastian Fischer, Zhenjiang Hu
Filterembedding Semiring Fusion for Programming with MapReduce
Formal Aspects of Computing, Vol. 24, No. 46, pp. 623645, 2012.

Kento Emoto, Hiroto Imachi
Parallel Tree Reduction on MapReduce
Procedia CS, Vol. 9, pp. 18271836, 2012.

Kento Emoto, Sebastian Fischer, Zhenjiang Hu
Generate, Test, and AggregateA Calculationbased Framework for Systematic Parallel Programming with MapReduce
21st European Symposium on Programming (ESOP 2012), Lecture Notes in Computer Science, Vol. 7211, pp. 254273, Springer Verlag, 2012.

Kiminori Matsuzaki, Kento Emoto
Lessons from Implementing the BiCGStab Method with SkeTo Library
In Proceedings of the Fourth International Workshop on
Highlevel Parallel Programming and Applications (HLPP 2010), pp. 1524, ACM, 2010.

Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Kiminori Matsuzaki, Masato Takeichi
Generatorsofgenerators Library with Optimization Capabilities in Fortress
In EuroPar 2010, Parallel Processing, Part II, Lecture Notes in Computer Science, Vol. 6272, pp. 2637, 2010.

Kiminori Matsuzaki, Kento Emoto
Implementing fusionequipped parallel skeletons by expression templates
In Post Proceedings of the 21st International Symposium on Implementation and Application of Functional Languages (IFL 2009), Lecture Notes in Computer Science, Vol. 6041, pp. 7289, 2010.

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
DomainSpecific Optimization Strategy for Skeleton Programs
In Proceedings of 13th International European Conference on Parallel and Distributed Computing (EuroPar 2007), Lecture Notes in Computer Science 4641, pp. 705714, Springer, 2007.

Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Masato Takeichi
A Compositional Framework for Developing Parallel Programs on Two Dimensional Arrays
International Journal of Parallel Programming (IJPP), Volume 35, Number 6, pp. 615658, Springer, 2007.

Yasushi Hayashi, Dongxi Liu, Kento Emoto, Kazutaka Matsuda, Zhenjiang Hu, Masato Takeichi
A Web Service Architecture for Bidirectional XML Updating
Joint conference of the 9th AsiaPacific Web Conference and the 8th International Conference on WebAge Information Management (APWeb/WAIM 2007), pp. 721732, Huangshan, China, June 1618, 2007.

Kazuhiko Kakehi, Kiminori Matsuzaki, Kento Emoto
Efficient Parallel Tree Reductions on Distributed Memory Environments
In Fourth International Workshop on Practical Aspects of Highlevel Parallel Programming (PAPP 2007), part of The International Conference on Computational Science (ICCS 2007), pp. 601608, Beijing, China, May 2730, 2007.

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
Surrounding Theorem: Developing Parallel Programs for MatrixConvolutions
In 12th International EuroPar Conference, Dresden, Germany, August/September 2006, Proceedings, pages 605  614, Lecture Notes in Computer Science 4128, 2006.

Kiminori Matsuzaki, Kento Emoto, Hideya Iwasaki, Zhenjiang Hu
A Library of Constructive Skeletons for Sequential Style of Parallel Programming
First International Conference on Scalable Information Systems (InfoScale 2006), Hong Kong, May 29  June 1, 2006. Available from ACM Digital Library.
Presentations/NonRefereed Papers/Technical Reports

Ryuichi Takakura, Kento Emoto
Switching execution between vertexcentric computation and blockcentric computation for distributed largegraph processing
9th International Symposium on Applied Engineering and Sciences (SAES2021), online, 202112.

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, Hideya Iwasaki
A Functional DSL for Large Scale Graph Processing
Thirteenth International Symposium on Functional and Logic Programming (FLOPS 2016), Kochi, Japan, March 2016. (poster)

LeDuc Tung, Kento Emoto, Zhenjiang Hu
Shortest Regular CategoryPath Queries
Technical Report GRACETR201403, 12 pages, GRACE Center, National Institute of Informatics,August 2014, Available from GRACE Technical Report List.

Kento Emoto, Kiminori Matsuzaki
An Automatic Fusion Mechanism for VariableLength List Skeletons in SkeTo
Technical Report METR 201304, 18 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2013. Available from METR List 2013.

Kento Emoto, Sebastian Fischer, Zhenjiang Hu
Generate, Test, and AggregateA Calculationbased Framework for Systematic Parallel Programming with MapReduce
Technical Report METR 201134, 28 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2011. Available from METR List 2011.

Kento Emoto
Semirings for Free! An Algebraic Approach to Efficient Parallel Algorithms for Nested Reductions
Presentation at the fourth DIKUIST Workshop, Jan 1013, 2011.

Kento Emoto
An Algebraic Approach to Efficient Parallel Algorithms for Nested Reductions
Technical Report METR 201101, 31 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2011. Available from METR List 2011.

Kento Emoto
GoG Style Parallel Programming for Nonnumeric Computation
2nd ParallelismOblivious Programming (POP) Workshop, Kochi, September 910, 2010.

Kento Emoto
Active Libraries for Parallel Programming in Fortress
4th International Workshop on Bidirectional Transformation in ArchitectureBased Component Composition, Kanagawa, Japan, March 1214, 2010.

Kiminori Matsuzaki, Kento Emoto
Implementing fusionequipped parallel skeletons by expression templates
In Draft Proceedings of the 21st International Symposium on Implementation and Application of Functional Languages (IFL 2009), pp. 100115, 2009.

Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Kiminori Matsuzaki, Masato Takeichi
Generatorbased GG Fortress Library Collection of GGs and Theories
Technical Report METR 200817, 19 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2008. Available from METR List 2008.

Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Kiminori Matsuzaki, Masato Takeichi
Generatorbased GG Fortress Library
Technical Report METR 200816, 19 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2008. Available from METR List 2008.

Kento Emoto
DomainSpecific Optimization Strategy for Skeleton Programs
Workshop on Parallelism Oblivious Programming, Tokyo, July 2627, 2007.

Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
DomainSpecific Optimization for Skeleton Programs Involving Neighbor Elements
Technical Report METR 200705, 29 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2007. Available from METR List 2007.

Kazuhiko Kakehi, Kiminori Matsuzaki, Kento Emoto, Zhenjiang Hu
An Practicable Framework for Tree Reductions under Distributed Memory Environments
Technical Report METR 200664, 21 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2006. Available from METR List 2006.

Kazuhiko Kakehi, Kiminori Matsuzaki, Akimasa Morihata, Kento Emoto, Zhenjiang Hu
Parallel Dynamic Programming using DataParallel Skeletons
In Proceedings of the 22nd JSSST Conference, Sep, 2005.

Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Masato Takeichi
A Compositional Framework for Developing Parallel Programs on Two Dimensional Arrays
Technical Report METR200509, Department of Mathematical Informatics, University of Tokyo, 2005.

Zhenjiang Hu, Kento Emoto, ShinCheng Mu, Masato Takeichi
Bidirectionalizing Tree Transformations
Workshop on New Approaches to Software Construction (WNASC 2004), The University of Tokyo, Komaba, Tokyo, Japan, September 1314, 2004. pp.322.
Thesis

Kento Emoto
Homomorphismbased Structured Parallel Programming
Graduate School of Information Science and Technology, University of Tokyo, 2009.
Curriculum Vitae
Other information about me can be found in CV
page.
© 20042017 Kento EMOTO<emoto_remove_@ai.kyutech.ac.jp>. All rights reserved.