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 ready-made 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 well-used 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 domain-specific language for vertex-centric large-scale 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, 4998-5015, 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:1-77:11, 2019.
-
Kosuke Murata, Kento Emoto
Recursion Schemes in Coq
Programming Languages and Systems - 17th Asian Symposium, APLAS 2019, , Springer, pp. 202--221, 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 9-11, 2018, Proceedings, , pp. 166-181, 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. 1-15.
-
Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, Hideya Iwasaki
Think like a vertex, behave like a function! a functional DSL for vertex-centric big graph processing
In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP2016, Nara, Japan, Setember 18-22, 2016, , pp. 200-213, ACM, 2016.
-
Kento Emoto, Frederic Loulergue, Julien Tesson
A Verified Generate-Test-Aggregate Coq Library for Parallel Programs Extraction
In Proceedings of the 5th Conference on Interactive Theorem Proving (ITP 2014), , LNCS, Vol. 8558, pp. 258--274, Springer, 2014.
-
Kento Emoto, Kiminori Matsuzaki
An Automatic Fusion Mechanism for Variable-Length List Skeletons in SkeTo
International Journal of Parallel Programming (IJPP), Springer, 2014, Vol. 42, No. 4, pp. 546-563, 2014.
-
Yu Liu, Kento Emoto, Zhenjiang Hu
A Generate-Test-Aggregate Parallel Programming Library
Parallel Computing, Vol. 40, No. 2, pp. 116-135, 2014.
-
Yu Liu, Kento Emoto, Zhenjiang Hu
A Generate-Test-Aggregate 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. 71-81, 2013.
-
Kento Emoto, Sebastian Fischer, Zhenjiang Hu
Filter-embedding Semiring Fusion for Programming with MapReduce
Formal Aspects of Computing, Vol. 24, No. 4-6, pp. 623-645, 2012.
-
Kento Emoto, Hiroto Imachi
Parallel Tree Reduction on MapReduce
Procedia CS, Vol. 9, pp. 1827-1836, 2012.
-
Kento Emoto, Sebastian Fischer, Zhenjiang Hu
Generate, Test, and Aggregate---A Calculation-based Framework for Systematic Parallel Programming with MapReduce
21st European Symposium on Programming (ESOP 2012), Lecture Notes in Computer Science, Vol. 7211, pp. 254-273, Springer Verlag, 2012.
-
Kiminori Matsuzaki, Kento Emoto
Lessons from Implementing the BiCGStab Method with SkeTo Library
In Proceedings of the Fourth International Workshop on
High-level Parallel Programming and Applications (HLPP 2010), pp. 15-24, ACM, 2010.
-
Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Kiminori Matsuzaki, Masato Takeichi
Generators-of-generators Library with Optimization Capabilities in Fortress
In Euro-Par 2010, Parallel Processing, Part II, Lecture Notes in Computer Science, Vol. 6272, pp. 26--37, 2010.
-
Kiminori Matsuzaki, Kento Emoto
Implementing fusion-equipped 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. 72--89, 2010.
-
Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
Domain-Specific 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. 705-714, 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. 615-658, 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 Asia-Pacific Web Conference and the 8th International Conference on Web-Age Information Management (APWeb/WAIM 2007), pp. 721-732, Huangshan, China, June 16-18, 2007.
-
Kazuhiko Kakehi, Kiminori Matsuzaki, Kento Emoto
Efficient Parallel Tree Reductions on Distributed Memory Environments
In Fourth International Workshop on Practical Aspects of High-level Parallel Programming (PAPP 2007), part of The International Conference on Computational Science (ICCS 2007), pp. 601-608, Beijing, China, May 27-30, 2007.
-
Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
Surrounding Theorem: Developing Parallel Programs for Matrix-Convolutions
In 12th International Euro-Par 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/Non-Refereed Papers/Technical Reports
-
Ryuichi Takakura, Kento Emoto
Switching execution between vertex-centric computation and block-centric computation for distributed large-graph processing
9th International Symposium on Applied Engineering and Sciences (SAES2021), online, 2021-12.
-
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)
-
Le-Duc Tung, Kento Emoto, Zhenjiang Hu
Shortest Regular Category-Path Queries
Technical Report GRACE-TR-2014-03, 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 Variable-Length List Skeletons in SkeTo
Technical Report METR 2013-04, 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 Aggregate---A Calculation-based Framework for Systematic Parallel Programming with MapReduce
Technical Report METR 2011-34, 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 DIKU-IST Workshop, Jan 10-13, 2011.
-
Kento Emoto
An Algebraic Approach to Efficient Parallel Algorithms for Nested Reductions
Technical Report METR 2011-01, 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 Non-numeric Computation
2nd Parallelism-Oblivious Programming (POP) Workshop, Kochi, September 9-10, 2010.
-
Kento Emoto
Active Libraries for Parallel Programming in Fortress
4th International Workshop on Bidirectional Transformation in Architecture-Based Component Composition, Kanagawa, Japan, March 12-14, 2010.
-
Kiminori Matsuzaki, Kento Emoto
Implementing fusion-equipped parallel skeletons by expression templates
In Draft Proceedings of the 21st International Symposium on Implementation and Application of Functional Languages (IFL 2009), pp. 100-115, 2009.
-
Kento Emoto, Zhenjiang Hu, Kazuhiko Kakehi, Kiminori Matsuzaki, Masato Takeichi
Generator-based GG Fortress Library --Collection of GGs and Theories--
Technical Report METR 2008-17, 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
Generator-based GG Fortress Library
Technical Report METR 2008-16, 19 pages, Department of Mathematical Engineering and Information Physics, University of Tokyo, 2008. Available from METR List 2008.
-
Kento Emoto
Domain-Specific Optimization Strategy for Skeleton Programs
Workshop on Parallelism Oblivious Programming, Tokyo, July 26-27, 2007.
-
Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi
Domain-Specific Optimization for Skeleton Programs Involving Neighbor Elements
Technical Report METR 2007-05, 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 2006-64, 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 Data-Parallel 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 METR2005-09, Department of Mathematical Informatics, University of Tokyo, 2005.
-
Zhenjiang Hu, Kento Emoto, Shin-Cheng Mu, Masato Takeichi
Bidirectionalizing Tree Transformations
Workshop on New Approaches to Software Construction (WNASC 2004), The University of Tokyo, Komaba, Tokyo, Japan, September 13-14, 2004. pp.3-22.
Thesis
-
Kento Emoto
Homomorphism-based 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.
© 2004-2017 Kento EMOTO<emoto_remove_@ai.kyutech.ac.jp>. All rights reserved.