Computer Engineering

Computer engineering research is a constantly evolving field that considers all aspects of computing technology from hardware (i.e. circuit technology and architecture) to software (i.e. operating systems to applications to user interfaces) and how we can improve them to benefit world. Since computing technology is a fundamental part of our society, this research often considers the impacts and/or restrictions of current technology and/or how it is being used in particular application areas (health, biomedical, cloud computing, multimedia applications, environmental, aeronautics, robotics, etc.). In many cases, the best solution for application-specific computing problems such as these is to create a custom computing solution that combines custom hardware and software to ensure the computing solution meets performance, power, area, weight, etc. requirements.

Research Topics

  • Computer Architecture (multicore and manycore, accelerator-rich architectures, memory systems and near data computing)
  • Operating Systems and Middleware
  • Heterogeneous computing architecture and virtualization
  • Reconfigurable computing
  • Application analysis and application-specific architectures
  • Emerging workload characterization and optimization
  • Networks-on-Chip (NoCs) and Systems-on-Chip (SoCs) on integrated circuits
  • Hardware virtualization
  • Runtime Performance Monitoring
  • Programming and compiler support
  • Field Programmable Gate Arrays
  • Big data computing systems: especially for enabling FPGA accelerators in datacenter
  • Computer Aided Design (CAD) tools and architecture for integrated circuits
  • Performance evaluation and design automation: especially for architectural simulation, benchmarking, prototyping, and GPU-FPGA comparison
  • Reconfigurable Microfluidics