There are two implementations of RPC for Shrimp.
The first implementation, called VRPC, is fully compatible with the SunRPC standard. We change the RPC runtime library; the operating system kernel is unchanged, and only a minimal change was needed in the stub generator to create a new protocol identifier. Despite these restrictions, our VRPC implementation is several times faster than existing SunRPC implementations. A round-trip null RPC with no arguments and results under VRPC takes about 33 microseconds.
The second implementation, called ERPC, is not compatible with SunRPC but offers much better performance. ERPC specializes the stub generator and runtime library to take full advantage of SHRIMP's features. The result is a round-trip null RPC latency of 9.5 microseconds, which is about one microsecond above the hardware minimum.