EDBT 2026 Demo / reviewers in the wild / expert
Masamichi Takagi
dblp:09/2450
· DBLP profile ↗
18ranked-venue papers
4as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 15 · 3 first-author · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Parallel and multicore computing · 55% High-performance computing · 16% Memory systems · 16% | |
| Software engineering, system software, and programming languages
3 papers |
Operating systems · 100% |
Topics — the 17 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Operating systems › kernel
lightweight kernel |
0.5 | 1 | 2021 | Linux vs. lightweight multi-kernels for high performance computing: experiences at pre-exascale · SC 2021 |
Parallel and multicore computing › parallel programming models › message passing
MPI one-sided communication |
0.3 | 1 | 2018 | Dynamic Adaptable Asynchronous Progress Model for MPI RMA Multiphase Applications · IEEE Trans. Parallel Distributed Syst. 2018 |
Parallel and multicore computing › parallel computation models
parallel execution models |
0.3 | 1 | 2018 | Process-in-process: techniques for practical address-space sharing · HPDC 2018 |
Parallel and multicore computing › parallel programming models
message passing |
0.3 | 1 | 2017 | Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017 |
Parallel and multicore computing › parallel programming models › message passing
MPI implementation |
0.3 | 1 | 2017 | Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017 |
Parallel and multicore computing
parallel programming models |
0.3 | 1 | 2017 | Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017 |
High-performance computing
performance optimization at scale |
0.3 | 1 | 2017 | Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1 · SC 2017 |
Operating systems › resource management
memory management |
0.2 | 1 | 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-cores · HPDC 2014 |
Memory systems › memory hierarchy
memory hierarchy management |
0.2 | 1 | 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-cores · HPDC 2014 |
Memory systems › memory management › virtual memory
page replacement |
0.2 | 1 | 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-cores · HPDC 2014 |
High-performance computing › supercomputing
exascale computing |
0.1 | 1 | 2021 | Linux vs. lightweight multi-kernels for high performance computing: experiences at pre-exascale · SC 2021 |
Operating systems › resource management › memory management
virtual memory |
0.1 | 1 | 2018 | Process-in-process: techniques for practical address-space sharing · HPDC 2018 |
Processor architecture and microarchitecture
many-core architecture |
0.1 | 1 | 2018 | Dynamic Adaptable Asynchronous Progress Model for MPI RMA Multiphase Applications · IEEE Trans. Parallel Distributed Syst. 2018 |
Processor architecture and microarchitecture › special-purpose processor
coprocessor |
0.1 | 1 | 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-cores · HPDC 2014 |
Processor architecture and microarchitecture › many-core architecture
intel xeon phi |
0.1 | 1 | 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-cores · HPDC 2014 |
Memory systems
cache design |
0.1 | 1 | 2005 | Pinot: Speculative Multi-threading Processor Architecture Exploiting Parallelism over a Wide Range of Granularities · MICRO 2005 |
Processor architecture and microarchitecture › multithreading
speculative multithreading |
0.1 | 1 | 2005 | Pinot: Speculative Multi-threading Processor Architecture Exploiting Parallelism over a Wide Range of Granularities · MICRO 2005 |
Methods — techniques the papers use, named apart from their topics
multi-kernel OS · 1.0OS-level memory management · 0.4self-profiling · 0.3prediction · 0.3PMPI redirection · 0.3instruction-level analysis · 0.3communication stack optimization · 0.3cycle-accurate simulation · 0.1combinatorial optimization · 0.1FPGA prototyping · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Linux vs. lightweight multi-kernels for high performance computing: experiences at pre-exascaleabstractThe long standing consensus in the High-Performance Computing (HPC) Operating Systems (OS) community is that lightweight kernel (LWK) based OSes have the potential to outperform Linux at extreme scale. To explore if LWKs live up to their expectation we developed IHK/McKernel, a lightweight multi-kernel OS designed for HPC, and deployed it on two high-end supercomputers to compare its performance against Linux. Oakforest-PACS, an Intel Xeon Phi (x86) based supercomputer, runs a moderately tuned Linux distribution. Fugaku, the world's fastest supercomputer at the time of writing this paper, is based on Fujitsu's A64FX (aarch64) CPU that runs a highly tuned Linux environment. Balazs Gerofi, Kohei Tarumizu, Takayuki Okamoto, Masamichi Takagi, Shinji Sumimoto, Yutaka Ishikawa |
SC | 5 |
| 2018 | Process-in-process: techniques for practical address-space sharingabstractThe two most common parallel execution models for many-core CPUs today are multiprocess (e.g., MPI) and multithread (e.g., OpenMP). The multiprocess model allows each process to own a private address space, although processes can explicitly allocate shared-memory regions. The multithreaded model shares all address space by default, although threads can explicitly move data to thread-private storage. In this paper, we present a third model called process-in-process (PiP), where multiple processes are mapped into a single virtual address space. Thus, each process still owns its process-private storage (like the multiprocess model) but can directly access the private storage of other processes in the same virtual address space (like the multithread model). Atsushi Hori, Min Si, Balazs Gerofi, Masamichi Takagi, Jai Dayal, Pavan Balaji, Yutaka Ishikawa |
HPDC | 4 |
| 2018 | Performance and Scalability of Lightweight Multi-kernel Based Operating SystemsabstractMulti-kernels leverage today's multi-core chips to run multiple operating system (OS) kernels, typically a Light Weight Kernel (LWK) and a Linux kernel, simultaneously. The LWK provides high performance and scalability, while the Linux kernel provides compatibility. Multi-kernels show the promise of being able to meet tomorrow's extreme-scale computing needs while providing strong isolation, yielding high performance and scalability needed by classical HPC applications. McKernel and mOS started as independent research initiatives to explore the above potential. Previous work described their design and architecture advantages. This paper deploys the two LWKs and presents results from running them on a 2,048-node system with Intel Xeon Phi processors (KNL) connected by Intel Omni-Path Fabric. We compare the performance of McKernel, mOS, and Linux. Although the two multi-kernel efforts approached the problem from different angles, the results show a median performance improvement of 9% with some applications as high as 280% validating the efficacy of the multi-kernel approach. We provide insight into the performance improvements and discuss the strengths of the two different multi-kernel approaches. Balazs Gerofi, Rolf Riesen, Masamichi Takagi, Taisuke Boku, Kengo Nakajima, Yutaka Ishikawa, Robert W. Wisniewski |
IPDPS | 3 |
| 2018 | Dynamic Adaptable Asynchronous Progress Model for MPI RMA Multiphase ApplicationsabstractCasper is a process-based asynchronous progress model for MPI one-sided communication on multi- and many-core architectures. The one-sided communication is not truly one-sided in most MPI implementations: the target process still relies on software progress to complete incoming operations. Casper allows the user to specify an arbitrary number of cores dedicated to background ghost processes and transparently redirects the RMA operations to ghost processes by utilizing the PMPI redirection and MPI-3 shared-memory technologies. Although Casper benefits applications that suffer from lack of asynchronous progress, the operation redirection design might not support complex multiphase applications effectively, which often involve dynamically changing communication density and computing workloads. In this paper, we present an adaptive mechanism in Casper to address the limitation of static asynchronous progress in multiphase applications. We exploit two adaptive strategies, a user-guided strategy and a fully transparent and automatic strategy based on self-profiling and prediction, to dynamically reconfigure the asynchronous progress in Casper according to real-time performance characteristics during multiphase execution. We evaluate the adaptive approaches in both microbenchmarks and a real quantum chemistry application suite, NWChem, on the Cray XC30 supercomputer and an Intel Omni-Path cluster. Min Si, Antonio J. Peña, Jeff R. Hammond, Pavan Balaji, Masamichi Takagi, Yutaka Ishikawa |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2017 | Why is MPI so slow?: analyzing the fundamental limits in implementing MPI-3.1abstractThis paper provides an in-depth analysis of the software overheads in the MPI performance-critical path and exposes mandatory performance overheads that are unavoidable based on the MPI-3.1 specification. We first present a highly optimized implementation of the MPI-3.1 standard in which the communication stack---all the way from the application to the low-level network communication API---takes only a few tens of instructions. We carefully study these instructions and analyze the root cause of the overheads based on specific requirements from the MPI standard that are unavoidable under the current MPI standard. We recommend potential changes to the MPI standard that can minimize these overheads. Our experimental results on a variety of network architectures and applications demonstrate significant benefits from our proposed changes. Kenneth Raffenetti, Abdelhalim Amer, Lena Oden, Charles Archer, Wesley Bland, Hajime Fujita 0002, Yanfei Guo, Tomislav Janjusic, Dmitry Durnov, Michael Blocksome, Min Si, Akhil Langer, Gengbin Zheng, Masamichi Takagi, Paul K. Coffman, Sayantan Sur, Alexander Sannikov, Sergey Oblomov, Michael Chuvelev, Masayuki Hatanaka, Paul F. Fischer, Thilina Ratnayaka, Matthew Otten, Misun Min, Pavan Balaji |
SC | 15 |
| 2016 | On the Scalability, Performance Isolation and Device Driver Transparency of the IHK/McKernel Hybrid Lightweight KernelabstractExtreme degree of parallelism in high-end computing requires low operating system noise so that large scale, bulk-synchronous parallel applications can be run efficiently. Noiseless execution has been historically achieved by deploying lightweight kernels (LWK), which, on the other hand, can provide only a restricted set of the POSIX API in exchange for scalability. However, the increasing prevalence of more complex application constructs, such as in-situ analysis and workflow composition, dictates the need for the rich programming APIs of POSIX/Linux. In order to comply with these seemingly contradictory requirements, hybrid kernels, where Linux and a lightweight kernel (LWK) are run side-by-side on compute nodes, have been recently recognized as a promising approach. Although multiple research projects are now pursuing this direction, the questions of how node resources are shared between the two types of kernels, how exactly the two kernels interact with each other and to what extent they are integrated, remain subjects of ongoing debate. In this paper, we describe IHK/McKernel, a hybrid software stack that seamlessly blends an LWK with Linux by selectively offloading system services from the lightweight kernel to Linux. Specifically, we are focusing on transparent reuse of Linux device drivers and detail the design of our framework that enables the LWK to naturally leverage the Linux driver codebase without sacrificing scalability or the POSIX API. Through rigorous evaluation on a medium size cluster we demonstrate how McKernel provides consistent, isolated performance for simulations even in face of competing, in-situ workloads. Balazs Gerofi, Masamichi Takagi, Atsushi Hori, Gou Nakamura, Tomoki Shirasawa, Yutaka Ishikawa |
IPDPS | 2 |
| 2016 | Revisiting RDMA Buffer Registration in the Context of Lightweight Multi-kernelsabstractLightweight multi-kernel architectures, where HPC specialized lightweight kernels (LWKs) run side-by-side with Linux on compute nodes, have received a great deal of attention recently due to their potential for addressing many of the challenges system software faces as we move towards exascale and beyond. LWKs in multi-kernels implement only a limited set of kernel functionality and the rest is supported by Linux, for example, device drivers for high-performance interconnects. While most of the operations of modern high-performance interconnects are driven entirely by user-space, memory registration for remote direct memory access (RDMA) usually involves interaction with the Linux device driver and thus comes at the price of service offloading. Balazs Gerofi, Masamichi Takagi, Yutaka Ishikawa |
EuroMPI | 2 |
| 2015 | Casper: An Asynchronous Progress Model for MPI RMA on Many-Core ArchitecturesabstractIn this paper we present "Casper," a process-based asynchronous progress solution for MPI one-sided communication on multi- and many-core architectures. Casper uses transparent MPI call redirection through PMPI and MPI-3 shared-memory windows to map memory from multiple user processes into the address space of one or more ghost processes, thus allowing for asynchronous progress where needed while allowing native hardware-based communication where available. Unlike traditional thread- and interrupt-based asynchronous progress models, Casper provides the capability to dedicate an arbitrary number of ghost processes for asynchronous progress, thus balancing application requirements with the capabilities of the underlying MPI implementation. We present a detailed design of the proposed architecture including several techniques for maintaining correctness per the MPI-3 standard as well as performance optimizations where possible. We also compare Casper with traditional thread- and interrupt-based asynchronous progress models and demonstrate its performance improvements with a variety of micro benchmarks and a production chemistry application. Min Si, Antonio J. Peña, Jeff R. Hammond, Pavan Balaji, Masamichi Takagi, Yutaka Ishikawa |
IPDPS | 5 |
| 2015 | Toward Operating System Support for Scalable Multithreaded Message PassingabstractModern CPU architectures provide a large number of processing cores and application programmers are increasingly looking at hybrid programming models, where multiple threads of a single process interact with the MPI library simultaneously. Moreover, recent high-speed interconnection networks are being designed with capabilities targeting communication explicitly from multiple processor cores. As a result, scalability of the MPI library so that multithreaded applications can efficiently drive independent network communication has become a major concern. Balazs Gerofi, Masamichi Takagi, Yutaka Ishikawa |
EuroMPI | 2 |
| 2014 | Interface for heterogeneous kernels: A framework to enable hybrid OS designs targeting high performance computing on manycore architecturesabstractTurning towards exascale systems and beyond, it has been widely argued that the currently available systems software is not going to be feasible due to various requirements such as the ability to deal with heterogeneous architectures, the need for systems level optimization targeting specific applications, elimination of OS noise, and at the same time, compatibility with legacy applications. To cope with these issues, a hybrid design of operating systems where light-weight specialized kernels can cooperate with a traditional OS kernel seems adequate, and a number of recent research projects are now heading into this direction. This paper presents Interface for Heterogeneous Kernels (IHK), a general framework enabling hybrid kernel designs in systems equipped with manycore processors and/or accelerators. IHK provides a range of capabilities, such as resource partitioning, management of heterogeneous OS kernels, as well as a low-level communication layer among the kernels. We describe IHK's interface and demonstrate its feasibility for hybrid kernel designs through executing various different lightweight OS kernels on top of it, which are specialized for certain types of applications. We use the Intel Xeon Phi, Intel's latest manycore coprocessor, as our experimental platform. Taku Shimosawa, Balazs Gerofi, Masamichi Takagi, Gou Nakamura, Tomoki Shirasawa, Yuji Saeki, Masaaki Shimizu, Atsushi Hori, Yutaka Ishikawa |
HiPC | 3 |
| 2014 | CMCP: a novel page replacement policy for system level hierarchical memory management on many-coresabstractThe increasing prevalence of co-processors such as the Intel Xeon Phi, has been reshaping the high performance computing (HPC) landscape. The Xeon Phi comes with a large number of power efficient CPU cores, but at the same time, it's a highly memory constraint environment leaving the task of memory management entirely up to application developers. To reduce programming complexity, we are focusing on application transparent, operating system (OS) level hierarchical memory management. Balazs Gerofi, Akio Shimada, Atsushi Hori, Masamichi Takagi, Yutaka Ishikawa |
HPDC | 4 |
| 2014 | MT-MPI: multithreaded MPI for many-core environmentsabstractMany-core architectures, such as the Intel Xeon Phi, provide dozens of cores and hundreds of hardware threads. To utilize such architectures, application programmers are increasingly looking at hybrid programming models, where multiple threads interact with the MPI library (frequently called "MPI+X" models). A common mode of operation for such applications uses multiple threads to parallelize the computation, while one of the threads also issues MPI operations (i.e., MPI FUNNELED or SERIALIZED thread-safety mode). In MPI+OpenMP applications, this is achieved, for example, by placing MPI calls in OpenMP critical sections or outside the OpenMP parallel regions. However, such a model often means that the OpenMP threads are active only during the parallel computation phase and idle during the MPI calls, resulting in wasted computational resources. In this paper, we present MT-MPI, an internally multithreaded MPI implementation that transparently coordinates with the threading runtime system to share idle threads with the application. It is designed in the context of OpenMP and requires modifications to both the MPI implementation and the OpenMP runtime in order to share appropriate information between them. We demonstrate the benefit of such internal parallelism for various aspects of MPI processing, including derived datatype communication, shared-memory communication, and network I/O operations. Min Si, Antonio J. Peña, Pavan Balaji, Masamichi Takagi, Yutaka Ishikawa |
ICS | 4 |
| 2013 | Revisiting rendezvous protocols in the context of RDMA-capable host channel adapters and many-core processorsabstractWe revisit RDMA-based rendezvous protocols in MPI in the context of cluster computer with RDMA-capable HCA and many-core processors, and propose two improved protocols. The conventional sender-initiate rendezvous protocols cause costly processor-device communications via PCI bus on detecting completion of RDMA transfer. The conventional receiver-initiate rendezvous protocols need to send extra control messages when a value of the memory-slot to poll in the receive buffer has the same value as the send buffer. The first proposed protocol implements polling on a memory-slot in the receive buffer to eliminate the processor-device communications. The second proposed protocol randomizes the value of the memory-slot to poll to reduce extra control messages. We have evaluated the proposed protocols using micro-benchmarks and NAS Parallel Benchmarks. One of the proposed protocols has a benefit compared to the conventional protocols. And the second proposed protocol reduces the execution time by up to 11.14% compared to the first protocol. Masamichi Takagi, Yuichi Nakamura 0002, Atsushi Hori, Balazs Gerofi, Yutaka Ishikawa |
EuroMPI | 1 |
| 2012 | Dynamic query switching for complex event processing on FPGAsabstractThis paper presents an FPGA event processing system which can dynamically switch queries with the following features. (1) The switch can be performed without a need for a server shutdown. (2) The output stream includes results of the old query just until the new query starts producing results. (3) The old results and new results are not disordered in the output stream. Switching queries is essential to maintain reliability, availability, and serviceability and to increase business profit. We propose (i) a query management mechanism which makes both a new and old query run in parallel and (ii) a network which selects and send out proper result data from mixed result data. We have validated the design on a FPGA board with financial trading queries and shown the feasibility of the query switch with 32 queries running simultaneously, each of which is fed input events of 20Gbps throughput. Masamichi Takagi, Takashi Takenaka, Hiroaki Inoue |
FPL | 1 |
| 2012 | A scalable complex event processing framework for combination of SQL-based continuous queries and C/C++ functionsabstractSQL-based languages are widely used for Software-based Complex Event Processing (CEP) systems. This paper proposes a FPGA acceleration framework to compile a SQL-based event processing language, which is based on the ANSI standard proposal to support event processing, into a high-performance CEP engine on FPGAs. Besides the SQL's primitives such as partitioning, windowing, aggregation and pattern matching, the proposed framework allows C/C++ functions to implement complex algorithms required by real-world applications. The CEP engine also scales very efficiently processing multiple streams in parallel by making use of inexpensive block memories. Experimental results show that our proposed CEP engine, which is compiled for a financial analysis application calculating a popular trading benchmark to capture meaningful market trends, achieves 150M events/sec (20Gbps) processing performance for over 16,000 streams. Takashi Takenaka, Masamichi Takagi, Hiroaki Inoue |
FPL | 2 |
| 2005 | Pinot: Speculative Multi-threading Processor Architecture Exploiting Parallelism over a Wide Range of GranularitiesabstractWe propose a speculative multi-threading processor architecture called Pinot. Pinot exploits parallelism over a wide range of granularities without modifying program sources. Since exploitation of fine-grain parallelism suffers from limits of parallelism and overhead incurred by parallelization, it is better to extract coarse-grain parallelism. Coarse-grain parallelism is biased in some programs (mainly, numerical ones) and some program portions. Therefore, exploiting both coarse- and fine-grain parallelism is a key to the performance of speculative multithreading. The features of Pinot are as follows: (1) A parallelizing tool extracts parallelism at any level of granularity (e.g. even ten thousand instructions) from any program sub-structures (e.g. loops, calls, or basic blocks). The tool utilizes formulation in which the parallelization process is reduced to a combinatorial optimization problem. (2) A parallel execution model with extension of thread control instructions is designed in order to minimize the increase of the dynamic instruction count. The model employs implicit thread termination and cancellation, as well as register value transfer without synchronization. (3) A versioning cache called version resolution cache (VRC) accomplishes both coarse- and fine-grained speculative multithreading. VRC operates as a large buffer for coarse-grained multi-threading. In addition, it provides low latency inter-thread communication with an update-based protocol for fine-grained multi-threading. We performed cycle-accurate simulations with 38 programs from the SPEC and MiBench benchmarks. The speedup with 4-processor-element-Pinot is up to 3.7 times, and 2.2 times on geometric mean against a conventional processor. The speedup in a program (susan) drops from 3.7 to 1.6 when the speculative buffer size is limited to 256 bytes. It confirms that exploiting coarse-grain parallelism is essential to the improved performance. FPGA implementation shows 32% overhead of area and 12% increase of critical path delay compared to a conventional processor. Taku Ohsawa, Masamichi Takagi, Shoji Kawahara, Satoshi Matsushita |
MICRO | 2 |
| 2004 | Inter-reference gap distribution replacement: an improved replacement algorithm for set-associative cachesabstractWe propose a novel replacement algorithm, called Inter-Reference Gap Distribution Replacement (IGDR), for set-associative secondary caches of processors. IGDR attaches a weight to each memory-block, and on a replacement request it selects the memory-block with the smallest weight for eviction. The time difference between successive references of a memory-block is called its Inter-Reference Gap (IRG). IGDR estimates the ideal weight of a memory-block by using the reciprocal of its IRG.To estimate this reciprocal, it is assumed that each memory-block has its own probability distribution of IRGs; from which IGDR calculates the expected value of the reciprocal of the IRG to use as the weight of the memory-block. For implementation, IGDR does not have the probability distribution; instead it records the IRG distribution statistics at run-time. IGDR classifies memory-blocks and records statistics for each class. It is shown that the IRG distributions of memory-blocks correlate their reference counts, this enables classifying memory-blocks by their reference counts. IGDR is evaluated through an execution-driven simulation. For ten of the SPEC CPU2000 programs, IGDR achieves up to 46.1% (on average 19.8%) miss reduction and up to 48.9% (on average 12.9%) speedup, over the LRU algorithm. Masamichi Takagi, Kei Hiraki |
ICS | 1 |
| 2003 | Compression in Data Caches with Compressible Field Isolation for Recursive Data Structures
Masamichi Takagi, Kei Hiraki |
Euro-Par | 1 |