A Critique of the Remote Procedure Call Paradigm

The remote procedure call paradigm is widely used in distributed operating systems. It is conceptually simple to use and straightforward to implement. Nevertheless, experience has shown that it also has some subtle, but less pleasant aspects. In this paper we discuss problems with RPC in the areas of conceptual problems with the model itself, technical problems with implementing it, problems caused by client and server crashes, problems caused by heterogeneous systems, and performance problems. The paper concludes with a discussion and analysis of the problems and proposed solutions.