A distributed device paradigm for commodity, applications
Enrique Cauich, John U. Duselis, Richert Wang, Isaac D. Scherson · 2009
Virtualization has proven to be a powerful technique used for resource partitioning and resource aggregation. Although this concept has been widely utilized in cluster computing, distributed systems and system consolidation; it has not been equally applied to improve performance of commodity operating systems and applications. This paper introduces a client-driven paradigm for harnessing specific system components and presenting them to the operating system as local devices (virtual devices). This client-driven approach based on the transparent remote execution environment (TREx) not only allows for systems inside a network to share individual resources such as memory, graphics cards or co-processors, but is also completely transparent to users, applications and operating systems. Additionally, this paper presents specific architectural designs necessary for achieving maximum performance with these virtual devices, and presents the implementation of two of them: a distributed ramdisk and a distributed graphics device.