1. A computer system for a remote procedure call (RPC) with call-by-reference semantics, comprising: a memory having computer readable computer instructions; and a processor for executing the computer readable instructions to perform a method comprising: establishing a session between a client and a server; initializing a session heap memory with a remote direct memory access (RDMA) provider of the client; storing a parameter in the session heap memory of the client, wherein the parameter comprises a value stored at a memory address in the session heap memory; passing a handle for the parameter to the server, wherein the handle comprises a reference to the memory address of the parameter in the session heap memory; and permitting the server to access the value of the parameter stored in the session heap memory of the client responsive to an on-demand request from the server, and further comprising: caching a parameter state within a session; and responsive to a repeating RPC within the session, reading only modified parameters.