Mercury is a C library for implementing Remote Procedure Call, optimized for High-Performance Computing Systems. Mercury has support for remote function calls which include large data arguments. Since code generation is done using the C preprocessor, no external tool is required.
See here for a quick introduction on how to use Mercury in your projects!
Mercury is partially supported by DOE Office of Science Advanced Scientific Computing Research (ASCR) research and by NSF Directorate for Computer & Information Science & Engineering (CISE) Division of Computing and Communication Foundations (CCF) core program funding. Mercury is also part of the Mochi project.