Systems for ML
ML requires an unprecedented scale of computing power and necessitates the design and development of specialized computing stacks that offer otherwise-unachievable system performance and efficiency. We take a holistic approach by considering hardware, software, and algorithm together, and build full stacks for efficient and performant ML computing. These stacks encompass almost the entire layers in computing stacks, such as computer architecture, operating systems, runtime software, compiler, programming languages, and algorithms.
Processor and memory system design for edge-cloud systems
As the applications are diversified and the computing is needed in various circumstances, the importance of processor and memory system design for various computing platforms—from edge to cloud—constantly increases. The diversity and heterogeneity pose numerous research challenges in designing processor and memory architecture, for which we aim to resolve.
Operating system support for emerging memory technologies
Emerging memory technologies promise new capabilities for future computing systems yet require heavy operating system support for their effective use. We build next-generation operating systems that are capable of effectively leveraging the new memory technologies to boost the system performance.
Trusted computing for system security
As the security and privacy become a significant concern for modern computing environment, the system security technologies have attained an increasing attention. We look at security and privacy problems in the perspective of system development, and explore hardware-software co-designed approaches to offer the trustworthy system environment for application users.