You are here
Work in this area is built upon principles and techniques involved in the design and analysis of systems implemented using hardware and software. This includes computer networks; the architecture and design of computer subsystems including processors, memory systems, input/output, and interconnect; programming systems and compilers; and large software systems including systems handling massive amounts of data, graphics and imaging systems, and distributed web services.
Hardware/Software Systems Sub-Areas:
Architecture and VLSI
Faculty in this sub-area focus on creating new architectures and design approaches for the hardware platforms that power our information world, including:
- Reducing the dollar and energy cost of computation to broaden application scope and increase scale;
- Robust architecture and design techniques;
- Circuit design, design methods and supporting tools;
- The architecture of parallel computer systems, including efficient mechanisms for communication, synchronization, and thread management;
- Parallel programming systems including domain-specific languages;
- Hardware/software tradeoffs, including specialized hardware structures and the design of compilers and run-time systems supporting novel architectures.
Research in this sub-area focuses on the design and analysis of networks and network systems, wired and wireless networks, including:
- The architecture of the Internet, layering, and new abstractions;
- The architecture, design and analysis of switches, routers and wireless access points;
- The design and implementation of low-power wireless protocols and systems, including wireless sensor networks;
- Queuing, caching and content distribution;
- Coding, scheduling and cross-layer design;
- Techniques for inter- and intra-domain routing;
- Reliable communication and congestion control;
- Secure network systems, detecting and preventing attacks;
- Novel applications for data-centers, wireless networks, wide-area networks, enterprises and the home.
Faculty in this sub-area design and implement reliable, secure and high performance software, including:
- New languages and methodologies for massively parallel programming;
- Automatically finding software bugs and generating bug-triggering inputs;
- Large-scale data storage, processing, and querying for both traditional and untraditional data;
- Novel data-center storage systems;
- Software and operating system support for programmable devices, such as computational photography, embedded sensors, network switches, and software radios.
Dan Boneh, Bill Dally, Dawson Engler, Hector Garcia-Molina, Patrick Hanrahan, Mark Horowitz, Sachin Katti, Christos Kozyrakis, Philip Levis, Marc Levoy, Nick McKeown, Subhasish Mitra, Boris Murmann, Kunle Olukotun, Mendel Rosenblum, Fouad Tobagi, Jennifer Widom