Welcome to KMR#

This is KMR, a high-performance map-reduce library. KMR-1.0 is available on the K computer since 2013-04-26. KMR works on ordinary clusters as well.

Latest release is KMR-1.1 (2013-09-20). New!.

KMR is a set of high-performance map-reduce operations in the MPI (Message Passing Interface) environment. It makes programming for data-processing much easier by hiding low-level details of message passing. Its main targets are large-scale supercomputers with thousands of compute nodes, such as K and Fujitsu FX10. On these platforms, KMR provides utilities other than the map-reduce operations which address issues such as accessing very large file-systems.

KMR is designed to work on-memory and exploits large amount of memory available on supercomputers, whereas most map-reduce implementations are designed to work with external (disk-based) operations. So, data exchanges in KMR occur as message passing instead of remote file operations. The KMR routines work in bulk-synchronous and the most part of the code is sequential, but the code inside the mapper and reducer are multi-threaded.

Project Site#


//* Overview and API Document (Newer, corrected, for the next release): //** https://mt.aics.riken.jp/kmr/docs/next/html/index.html //** Documentation in the distribution is late, and it is placed here for late breaking.


  • Source Code Download:
    • Download
    • KMR source is available with LGPL-2.1.

Issue Reporting#



KMR comes with ABSOLUTELY NO WARRANTY. This wiki also comes with ABSOLUTELY NO WARRANTY. Contents are liable to change.


KMR is a product of RIKEN AICS. Part of the results is obtained by using the K computer at RIKEN AICS.