Performance of CORBA-based client-server architectures
Middleware has been introduced to provide interoperability as well as transparent location of servers in heterogeneous client-server environments. Although such benefits accrue from the use of middleware, careful consideration of system architecture is required to achieve high performance. Based on implementation and measurements made on the system, this paper is concerned with the Impact of client-server interaction architecture on the performance of CORBA Systems. CORBA or Common Object Request Broker Architecture, proposed by the Object Management Group, is one of the commonly used standards for middleware architectures. Using a commercially available CORBA compliant ORB software called ORBeline, four different architectures were designed and implemented for client-server interaction on a network of workstations. In the Handle-Driven ORB (H-ORB) architecture, the client gets the address of the server from the agent and communicates with the server directly. In the Forwarding ORB (F-ORB) architecture the client request is automatically forwarded by the agent to the appropriate server which then returns the results of the computations to the client directly. In the Process Planner (P-ORB) architecture, the agent combines request forwarding with concurrent invocation of multiple servers for complex requests that require the services of multiple servers. The Adaptive ORB (A-ORB) combines the functionalities of both the H-ORB and the F-ORB and can switch dynamically from an H-ORB mode to an F-ORB mode and vice versa, depending on the load condition. Our measurements show that the difference samong the performances of these architectures change with a change in the workload. The paper will report on the relative performances of these four architectures under different workload conditions. The results provide insights into system behavior for designers as well as users of systems. In particular, the impact of internode delays, message size, and request service times on the latency and scalability attributes of these architectures is analyzed. A discussion of how agent cloning can improve system performance is also included.
middleware performance corba performance software performance experimental performance evaluation client-server performance