Sihang Liu joined the Cheriton School of Computer Science as an Assistant Professor in 2023. He has a PhD in Computer Science from the University of Virginia, where he was advised by Professor Samira Khan. His doctoral research focused on building system support for a new memory technology called persistent memory, spanning both the software and hardware stacks. He has a B.S. degree from Shanghai Jiao Tong University and the University of Michigan through the dual-degree program.
Before joining Waterloo, Sihang was a visiting faculty member at SystemsResearch@Google, a group of computer scientists who accelerate the invention and deployment of new technologies for the next generation of hardware and software systems.
What follows is a lightly edited transcript of a Q&A interview.
When did you become interested in computer systems and architecture?
My interest in computer systems and architecture can be traced to my undergraduate experiences at the University of Michigan, where I took a series of computer systems and architecture classes and participated in several undergraduate research programs in the area of computer architecture. My education experience inspired me to continue my education at the doctoral level and eventually become a professor.
What attracted you to the Cheriton School of Computer Science?
The University of Waterloo is a strong university in many fields — in computer science, in mathematics, and in many areas of engineering — both in Canada and internationally. My cousin did his master’s degree in engineering at Waterloo, so I knew about the university from him as well as from other people.
During my interview, I got a great impression of the faculty and staff at the School of Computer Science. Everyone was friendly and supportive, and the faculty are excellent researchers and strongly collaborative. I was thinking, I hope I can become their colleague.
I also talked to grad students during my second visit, and it was clear they are smart and hardworking. Waterloo attracts excellent students from all over the world, and I see this diversity very much as an asset. Students with diverse education, training and experiences are the kind I want in my research group.
Tell us a bit about your past research.
During my PhD, my research focused on systems support for new and emerging computer architecture and memory systems. I focused mostly on support for persistent memory systems, a memory technology that enables both fast memory access and recovery in case of a failure. I worked in many areas including on providing security and reliability guarantees using integrity verification encryption to persistent memory hardware systems so that the data on persistent memory is trustworthy and secure. I also optimized for performance, ensuring that high performance is maintained while guaranteeing the security of data stored on persistent memory.
Persistent memory is a new technology and it requires changes to software systems. One important property of persistent memory systems is that it enables data to be persistent even without power or if the operating system fails. In this area my work makes it easier for programmers to use persistent memory while guaranteeing that the programs are failure-recoverable.
At Waterloo I intend to work in more diverse areas, but still focusing on emerging computer architecture systems, such as computer express link — or CXL — an open standard for high-speed, high-capacity CPU-to-device and CPU-to-memory connections for high-performance computers in data centers. I’d also like to work on customized hardware systems for data center applications, such as accelerators that are dedicated and optimized for different core components in data center applications.
Do you see opportunities for collaboration?
I am primarily in the Systems and Networking group. I see many opportunities to collaborate with the world-class researchers in my research group. As I conduct computer architecture research, I see new architecture features will require systems and networking support. For example, accelerators can be integrated into programmable NICs to achieve higher efficiency.
I also see a strong collaborative relationship with researchers in the Data Systems Group. In fact, I will be co-advising a student with a professor in that group. Database management systems also use new hardware features such as accelerators for databases. I’d like to apply my expertise in computer systems and architecture to provide better hardware platforms for future generations of data systems.
I also see opportunities to collaborate with researchers in the Programming Languages and the Software Engineering groups. During my PhD, I worked on software engineering for persistent memory systems. We will undoubtedly see hardware advancements in different areas, which will eventually require software to be adapted on top. Programming languages and software engineering are two key aspects to use these new and emerging hardware systems.
Who has inspired you most?
My PhD advisor, Professor Samira Khan, at the University of Virginia was my greatest inspiration. I was her first PhD student she had accepted after she joined the University of Virginia.
Her research is primarily in computer architecture systems, so that’s the direction I followed and interacting with her during my PhD was a great experience. I learned many things from her, among them how to conduct innovative research. Much research in my area is incremental and while that’s important big improvements usually come about by thinking innovatively about problems. Her advice to me was to think about research questions that are challenging and game changing rather than research that leads to incremental improvements in the performance of a system.
Besides the technical skills needed to identify good research problems and how to develop the skills to conquer the challenges they present, she imparted the importance of strong communications skills. Developing communications in computer science and in computer systems research were as important to me as developing technical skills. Articulating your ideas to others is critically important. She asked me to spend a month polishing the slides for my first conference presentation. At the time I didn’t appreciate the importance of doing this, but I soon appreciated the significance of clear communications and getting there by polishing every slide and every sentence in a slide.
She also encouraged me to open source my work as much as possible. During my PhD, I open sourced almost everything I worked on, including the software systems I developed and the hardware systems. Open sourcing is important to the research and practitioner communities because it can drive related research and inspire other communities to use the systems we develop. Open sourcing does not mean giving away intellectual property. It’s a way of seeding ideas, increasing adoption and improving collaboration.
What do you do in your spare time?
I enjoy hiking and I’m an avid photographer. When I was a grad student at the University of Virginia, I often hiked the Shenandoah National Park, taking pictures of its scenic mountains. I hope to do the same as I explore regions of Ontario. I also enjoy cooking, exploring exotic foods, and trying different recipes.