Font Size: a A A

XenRPC: The Research Of VM-based Remote Procedure Call System

Posted on:2011-06-18Degree:MasterType:Thesis
Country:ChinaCandidate:C F PengFull Text:PDF
GTID:2178360308468839Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Recently, virtualization technology's advantages in areas such as server consolidation, high performance computing are increasingly obvious. However, the natural isolation property of virtual machines makes the performance not satisfactory for the VMs to communicate with each other. Currently, the usual way which the VMs use to communicate with each other is the virtual network, but the fact is that the VMs are actually in the same machine, we can use this feature to develop an efficient remote procedure call system.The Xen-based remote procedure call system XenRPC is exactly based on the Xen virtual machine's this feature. The most prominent feature of this system is that: the data such as the function's parameters is transferred bidirectional through the shared memory instead of virtual network, which improves the efficiency of remote calls, while it strengthens the protection to the shared memory to prevent buffer overflow attacks and uses event channel mechanism to achieve real-time asynchronous event notification between client and server applications. XenRPC consists of four modules:shared memory module, network communication module, procedure call module, and message management module. The shared memory module is responsible for sharing three types of memory:stack, heap and the control page, the shared stack is there for passing information such as function parameters and result, the shared heap is used to store the contents of the function's pointer parameters, while the control page is used to transfer control message. The network communication module is mainly responsible for transferring data before the shared memory has not yet came true. Procedure call module is the core of the system whose duties are dealing with the procedure's parameters and control information, implementing the called function, handling the stack's safe and switching between the memory areas. The main function of information management module is to establish a highly efficient channel to transfer events asynchronously between the domains.The results of the system tests show that XenRPC's performances in transmission delay, bandwidth, CPU usage, stack overflow prevention and code complexity are much better than the performances of Sun RPC, Ice these two classic remote procedure call mechanism.
Keywords/Search Tags:Xen, Remote Procedure Call, Shared Memory, Event Channel, Stack Overflow
PDF Full Text Request
Related items