This article is published in the September 2024 issue.

Navigating the World of Computer Architecture from Chip Design to Formal Verification


By Alejandro Velasco Dimate (CRA-E Fellow, College of William & Mary) and Emma McDonald (CRA-E Fellow, University of Alberta)

Viansa Schmulbach, B.S. in Computer Science, University of California, Berkeley

 

This Q&A highlight features Viansa Schmulbach, an Honorable Mention in the 2024 CRA Outstanding Undergraduate Researchers award program. Viansa finished her undergrad in Electrical Engineering and Computer Science at the University of California, Berkeley (UC Berkeley), and now is pursuing her PhD at MIT.

 

What can you tell us about your research interests?

My main focus is computer architecture. At MIT, I will work with professors Christina Delimitrou and Daniel Sanchez in the Computer Architecture and Systems Lab under the Systems Community of Research, covering topics that closely align with the ones I explored during my undergraduate studies at UC Berkeley. I have also worked on designing and fabricating chips. 

 

How did you first get involved with research?

During the second semester of my junior year, I enrolled in a chip design class, taught by professors Borivoje Nikolic, Kris Pister, and Ali Niknejad. Although I was initially more interested in exploring computer architecture, taking this class ignited my interest in chip design research. I then had the wonderful opportunity to collaborate with Intel, and they let us use their facilities to turn our designs into real pieces of silicon that could be used. Designing chips was a significant challenge because of the many factors that needed to be considered. While this process primarily focuses on optimizing performance, we also addressed other crucial aspects like the power consumption rate and the area of the chip. These aspects are important because I find many people are more concerned about their devices’ battery life than about achieving top performance.

 

What can you tell us about your research? 

Besides designing chips, one of my research topics was formal verification, which involves creating mathematical specifications to formally prove certain properties of a system. This is useful in the context of security. For example, given a hardware model specification and a known attack, such as Spectre which leaks the victim’s sensitive data, we can generate constraints on the model to formally ensure the system is secure. Our focus was on identifying constraints that require minimal changes to the system to prevent potential vulnerabilities. An abstract of our work was accepted to the FMCAD’23 Student Forum. I also had the chance to present a poster at the conference, which was a really good experience for me.

 

How was your experience working in formal verification?

When I got started with the formal verification project, I was assigned to work with two graduate students under my advisor Sanjit Seshia’s guidance. Initially, I worked on a simple formal verification project to learn the basics. We were working on trying to generate attacks, but I quickly found that scalability was a major issue. This led to many shifts in direction and we went from generating attacks to creating mitigations instead. A valuable lesson is that the more experimental your project is, the more likely it will change direction along the way. 

 

How do you balance research with other activities in your personal life? 

I am a very family-oriented person, and balancing research with the time I spend with my family is extremely important to me. I believe that setting boundaries is essential for achieving both, though it was challenging for me at first. There is always more work to be done, but I have realized that if something slips through the cracks, it’s okay. I do not have to do everything. It’s also crucial for me to be there for my family and spend quality time with them. As well, I enjoy cooking and going for walks. I think that being a happy well-rounded person will make you a better researcher. If you are always working around the clock, you will not be at your best.

 

Do you have any advice for other students looking to get into research?

I felt like I struggled a lot at the beginning because it was difficult for me to find a research topic that I was interested in. My biggest advice if you are interested in research is not to be afraid of trying new things. Also, do not feel trapped. Many people, including myself, get stuck on certain topics because they feel guilty about leaving. However, as an undergraduate, exploring and trying new things is part of the journey, and you should not feel bad about moving on to something that better suits your interests.

 

Do you have any advice for students who doubt their ability to succeed in research?

In the past, I often felt like I did not belong in research. This was because I had a fixed mindset about what being “smart” meant. I had to do a lot of work to expand that definition, because it did not include me. Part of the reason finding a sense of belonging was so difficult is because I barely had any women professors when I was starting as an undergraduate. But then I took a class with Sophia Shao, who is a PI in the computer architecture lab, and that helped a lot. So did meeting senior women in my lab. Identifying people who you can look up to is helpful.