Title :
Mercury: Enabling remote procedure call for high-performance computing
Author :
Soumagne, Jerome ; Kimpe, Dries ; Zounmevo, J. ; Chaarawi, Mohamad ; Koziol, Quincey ; Afsahi, Ahmad ; Ross, Robert
Author_Institution :
HDF Group, Champaign, IL, USA
Abstract :
Remote procedure call (RPC) is a technique that has been largely adopted by distributed services. This technique, now more and more used in the context of high-performance computing (HPC), allows the execution of routines to be delegated to remote nodes, which can be set aside and dedicated to specific tasks. However, existing RPC frameworks assume a socket-based network interface (usually on top of TCP/IP), which is not appropriate for HPC systems, because this API does not typically map well to the native network transport used on those systems, resulting in lower network performance. In addition, existing RPC frameworks often do not support handling large data arguments, such as those found in read or write calls. We present in this paper an asynchronous RPC interface, called Mercury, specifically designed for use in HPC systems. The interface allows asynchronous transfer of parameters and execution requests and provides direct support of large data arguments. Mercury is generic in order to allow any function call to be shipped. Additionally, the network implementation is abstracted, allowing easy porting to future systems and efficient use of existing native transport mechanisms.
Keywords :
application program interfaces; data handling; parallel processing; remote procedure calls; API; HPC; Mercury; asynchronous RPC interface; asynchronous transfer; distributed services; high-performance computing; large data arguments; native transport mechanisms; remote procedure call; socket-based network interface; Data transfer; Memory management; Pipeline processing; Protocols; Registers; Servers;
Conference_Titel :
Cluster Computing (CLUSTER), 2013 IEEE International Conference on
Conference_Location :
Indianapolis, IN
DOI :
10.1109/CLUSTER.2013.6702617