Mercury is a C library for implementing a technique known as remote procedure call (RPC), optimized for high-performance computing systems. Mercury has support for remote function calls that include large data arguments. Since code generation is done by using the C preprocessor, no external tool is required.
Mercury builds on a small, easily ported network abstraction layer, providing operations closely matched to the capabilities of high-performance network environments. Unlike most other RPC frameworks, Mercury directly supports handling remote calls containing large data arguments. Moreover, Mercury’s network protocol is designed to scale to thousands of clients.