ONCRPC Enhancements for Realtime IPC Requirements

  • Abstract

    The standard ONCRPC architecture (check this link for details) is a widely used mechanism for inter-process communications (IPC).  This discussion revolves around the modifications to ONCRPC required by NetApp to address scalability and usability issues when applied to a large scale realtime system. The following are some of the technical challenges addressed:

    • Network latency for establishing TCP connections
    • Synchronous nature of RPCs
    • Dealing with slow performing application procedures
    • Scheduling & Prioritizing of requests
    • Scalability of processing a large number of RPCs
    • Instrumentation required to analyze performance
    • The multiplexing of services (programs) over a single listening socket 

    While presenting the technical overview of the enhancements to ONCRPC, it is the goal of this presentation to provide the student with general approaches for addressing scalability and usability issues in core software.