Execution of unmodified applications on distributed storage and compute resources
Abstract
Processing of unmodified applications on distributed storage and compute resources can be achieved by presenting the application with a virtual machine interface that abstracts access to the resources. This approach decouples the problem of mapping an application to available resources into two independent problems, (a) writing, compiling or translating the application to the virtual machine interface, and (b) building an efficient implementation of the virtual machine on top of the resources. The key challenges with this approach are: (a) how should the underlying resources be virtualized, and (b) at which layer of system software should the virtualization be implemented. The resolution of these two issues, depends on the characteristics of the applications to be supported, and the target distributed resources. In this thesis, the above virtualization approach is investigated in the context of three specific target systems. ‘Software-extended-machine-architecture’ is an abstract interface at the ISA-level, to exploit resources at intelligent peripherals within a node, that can be implemented via the compiler framework and application runtime system. The abstract ISA consists of the ISA of the main CPU extended by a soft ISA to program devices. SCODE, a proposal for a soft ISA that expresses the fine grained data-parallelism in general-purpose applications demonstrates the applicability of the proposed approach to exploit resources at intelligent streaming data devices within a node. The ‘delegated process’ abstraction at the OS-level, enables sequential distributed processing of multiprogramming workloads across closely coupled nodes managed as independent systems. An implementation in the Linux kernel demonstrates the viability of the approach by enabling systems that are out of memory to support memory-intensive workloads by borrowing memory and compute resources from remote machines. The ‘abstract job’ interface in the grid-middleware level, provides grid applications with a single system image to grid resources. Implementations in deployed grid-computing environments, PUNCH and In-VIGO, demonstrate the portability and scalability of the proposed interface by allowing the incorporation of new types of heterogeneous platforms with little effort and overhead. Successful application of the proposed virtualization approach in the above distinct scenarios provides evidence for its general applicability.
Degree
Ph.D.
Advisors
Jamieson, Purdue University.
Subject Area
Computer science|Electrical engineering
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.