CAREER: An Evolutionary Approach to Hardware/Software Collaborative Design
University Of Virginia Main Campus, Charlottesville VA
Investigators
Abstract
Modern computer system designers must consider many more factors than just raw performance. Thermal output, power consumption, reliability, testing, and security are quickly becoming first-order concerns. Despite various motivating factors, research efforts in optimizing computer systems have historically targeted a single logical layer in the system stack, whether it has been application code, operating systems, virtual machines, microarchitecture, or circuits. Solutions targeting a single layer in isolation are losing momentum, however, given the ever-increasing complexity of modern system and application interaction. An effective way to mitigate this complexity is to employ a holistic solution that considers multiple layers of hardware and software in conjunction, allowing software to adapt and react to changing system conditions at run time. In this project, we are exploring the symbiotic relationship between the various hardware and software design layers, and the corresponding opportunity to provide cohesive solutions to performance, power, reliability, and temperature problems. We are focusing on adding lightweight, well-defined feedback channels to existing hardware and software. Meanwhile, we use a virtual execution environment (VEE) to collate information from various layers and to orchestrate adaptive solutions by modifying the application or OS behavior as necessary. The project provides the ability to re-factor the OS and other system layers to remove complex hardware idiosyncrasies. It also provides virtualization benefits to the underlying hardware. Above all, it directly addresses the pressing need for scalable yet simple solutions to modern and emerging computing challenges
View original record on NSF Award Search →