I/O Virtualization - From Self-Virtualizing Devices to Metadata-Rich Information Appliances
Georgia Tech Research Corporation, Atlanta GA
Investigators
Abstract
Demands for online access to large data sets distributed across multiple machines are prevalent both in large-scale enterprises and in scientific settings. An example is remote data visualization for large-scale applications running on peta-scale machines, where researchers are seeking ways to accelerate the scientific processes they are carrying out via real-time inspection and validation of the outputs from their running codes. This research addresses a basic problem basic problem for the large-scale data movements implied by such tasks, which is the substantial semantic gap between application-level data exchanges and the I/O services provided by underlying hardware and system platforms. For instance, at the device level, data being moved may be described as a linear sequence of blocks, whereas the application level views it as highly structured data on which it is performing a complex checkpoint operation. To help close help close this gap, for future virtualized execution platforms, this project realizes the notion of Abstract IO (A-IO) devices, where each such device can be designed to provide useful new functionality to end user applications. Toward this end, it exploits new system- and device -level virtualization technologies to present to operating systems what appear to be physical devices, but are actually virtual representations of such devices. For such `logical devices', it then addresses the question regarding where to place their higher level I/O device functions on future many-core platforms: on the general computational cores of host machines or on specialized cores associated with devices. The utility of the approach is evaluated in the context of two realizations of A-IO based devices (NIC and block device), and with actual scientific and enterprise applications.
View original record on NSF Award Search →