Stanford Electrical Engineering

You are here

Hardware/Software Systems

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.

System Hardware

System Software

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.


Active Faculty:

Dan BonehBill DallyDawson Engler, Hector Garcia-MolinaPatrick HanrahanMark HorowitzSachin Katti, Christos KozyrakisPhilip LevisMarc Levoy, Nick McKeownSubhasish MitraBoris MurmannKunle Olukotun, Mendel RosenblumFouad TobagiJennifer Widom