The University of Arizona

Research

Advanced Computing Systems

The Advanced Computing Systems cluster explores novel ways to enhance the functionality or performance of existing computer systems and new ways to exploit the capabilities of emerging technologies (e.g., dual-core processors, energy-aware processors, and sensors). Current projects examine a range of technologies and applications including sensor networks, wireless and wired networks, embedded systems, and distributed systems.

Faculty

Gregory Andrews
Saumya Debray
Alon Efrat
Chris Gniady
John Hartman
Beichuan Zhang

Projects

MPD: Multithreaded, Parallel, and Distributed Programming
Solar: Software Optimization at Link-Time and Run-Time

Extended Description

This research cluster explores novel ways to enhance the functionality or performance of existing computer systems and new ways to exploit the capabilities of emerging technologies such as dual-core processors, energy-aware processors, and sensors. Current projects examine a range of technologies and applications including sensor networks, wireless and wired networks, embedded systems, and distributed systems. To enhance the possibility of making significant advances, the projects integrate and apply the perspectives, tools, and techniques from multiple fields of computer science: algorithms, architecture, compilers, distributed computing, operating systems, and parallelism. Some examples of this integrative style of research are listed below.

Architectural Support

This project is developing architectural support aimed at enhancing the interactions between the hardware and the operating system as well as the hardware and the compiler. Our research considers processors ranging from powerful multiple cores to simple embedded cores. A key focus of this research is the design of mechanisms for dynamic adaptations. Such adaptations are needed to meet the changing needs of applications (with respect to performance, energy, and other system resources) and to have the system efficiently manage the resources. Microarchitectural support to both perform adaptations and to trigger adaptations under OS and compiler control are being developed.

Compilers and Operating Systems

The Solar group examines ways in which binary rewriting can be used to improve properties of applications and operating systems, such as their performance, size, or security. The research employs knowledge of architecture, compilers, and operating systems, and it addresses software layers from applications through libraries to operating system kernels. We also examine a variety of different types of systems, including embedded, distributed, parallel, and sensor. As a specific example, we are currently exploring ways to specialize an operating system kernel to support a fixed set of applications, as in an embedded system, so that the entire system is both faster and smaller.

Networking and Operating Systems

This project focuses on the interaction of networks and operating systems. The goal is to improve overall system performance, reliability, and availability by integrating functionality across what are commonly thought of as independent subsystems. Aspects of this research include routing algorithms for sensor networks, self-organizing large-scale networks, and virtualized network services.