Deepti Raghavan Joins Brown CS As Assistant Professor
- Posted by Jesse Polhemus
- on Aug. 12, 2024
The word hacking recurs in conversation with Deepti Raghavan, who just finished her doctorate at Stanford University. Not hacker, a statement of identity, but a course of action, a challenging and rewarding process of analysis and refinement.
“There’s something unique about low-level systems programming,” she says, “like my kernel-bypass work. I really enjoy understanding how to improve performance, looking at code, and asking myself if there’s some performance effect that I don’t understand. Building systems is fun, especially understanding exactly what is happening and why certain optimizations or algorithms help.”
This fall, Deepti joins Brown CS as assistant professor. She’s one of the four latest hires in the multi-year CS With Impact campaign, our largest expansion to date.
Like many of our undergrads, Deepti says that research was invaluable in cementing her interest in computer science. In high school, physics was her favorite class, but her performance in CS intro courses at Massachusetts Institute of Technology (MIT) wasn’t what she’d hoped for: “I definitely had impostor syndrome, along with a fear that I couldn’t get into or succeed in graduate school. But then I realized that research lets you gravitate toward what you like, which is probably what you’re better at. By my junior year, I was already developing an interest in systems and networking, and three years of research in the same lab helped me hit my stride.”
After finishing her master’s at MIT, she moved on to Stanford for graduate school, where she wanted to expand beyond networking and try other fields within systems, including machine learning (ML) systems. In her first ML systems project, she looked at how to catch mistakes made by machine learning models and formalized an interface in which people could learn about them.
“But I missed the heavy systems-building aspects of some of my previous projects,” she says. “I liked working on improving performance and efficiency in systems.”
Recently, Deepti’s doctoral work has centered on three main projects. “When I look back,” she says, “I realize what connects them. They all have to do with efficient movement of data. How do we move data more efficiently and achieve the same computation?”
In the first project, Deepti worked on building a framework that accelerates shell scripts for users who are running them over remote storage by sometimes pushing computation closer to the data. “For many applications,” Deepti says, “it’s inefficient to send data across the network for minimal computation. It would be faster to move the code rather than the data. There are many frameworks that allow you to push computation closer to data, but we wanted to do it in a way that didn't force developers to rewrite shell applications.”
In a collaboration with Microsoft Research, she then explored building an efficient data serialization library for datacenter applications. When distributed applications communicate, Deepti explains, they use a data serialization protocol to move objects from one machine’s memory to the other. Deepti’s work investigated improving serialization by removing the memory copies that occur in serialization, without new hardware: “Lots of folks have been designing proposals for custom hardware accelerators for this important workload, but we realized there was a way to accelerate serialization without new hardware.” Her research used features in commodity network interface cards (NICs) to remove copies in serialization.
Most recently, toward the end of her PhD, she went back to machine learning systems, but in the context of building frameworks to support developing novel ML applications. “With the explosion of chatbots,” Deepti says, “people are building apps that combine multiple language models together, or combine language models along with external tools like retrievers to complete a higher level task.” In this project, she’s working on making these applications more efficient by taking advantage of streaming: “Because language models produce data in a streaming fashion (one word, then another), we can speed up these complex applications by sending data from the language model to the downstream task as soon as individual words are produced.”
Privacy concerns and ethical considerations are paramount when working with machine learning, Deepti says, but when she looks at the Brown CS Socially Responsible Computing program, she sees an opportunity for a contribution that she’s uniquely qualified to make: improving energy efficiency for the notoriously power-hungry systems.
“I’m excited to delve into this as a researcher,” she says, “because I’ve thought about performance and usability in all the systems I’ve built, and I’m very interested in metrics about the energy impact of systems we’re building. From first principles, I want to think about how design decisions lead to energy usage and how we can make things more efficient.”
In sum, Deepti tells us, she finds joy in working on systems that help other researchers accelerate their research. “It’s great to find end users,” she says, “though it’s more realistic in some scenarios than others. At times, as with my datacenter work, it’s nice to make observations that developers and practitioners will learn from. They may not use the exact code that I wrote, but they can definitely learn from my measurements on memory copies. At other times, I’m building a system that developers will interact with directly. I enjoy having an impact in all those different ways.”
Having recently arrived on campus, Deepti is eager to be put to the test by a new group of inquisitive students. “In my interviews,” she says, “I got the sense that Brown undergraduates really expect professors to teach well, so I’m looking forward to being kept on my toes. And I’m excited to join the Systems group and start collaborations on systems, networking, and machine learning – and maybe even get back to working on the shell, which Nikos [Vasilakis, a Brown CS faculty member] has been doing a lot of great work on.”
And perhaps make music with them as well. Deepti has been playing violin since she was small, and she’s really excited about being back in New England with its vibrant music scene. As a college student, she regularly attended Boston Symphony Orchestra concerts with a student pass.
If one of her new students is interested in getting into distributed systems and networking, what would Deepti’s pitch be? Surprisingly, she draws a contrast with machine learning. ML is powerful, she says, and its use is surging, but she sometimes finds it less than satisfying:
“Using machine learning,” Deepti reflects, “can seem a bit magical to me: I made this change, but I don’t understand its effect. With systems, performance may be surprising, but you can dig in and find out why things are the way they are. Systems work is about writing code, building prototypes, analyzing existing code and restructuring it to improve.”
“That’s what hacking is to me,” she says, “and I love it because it means I really understand a system and I have a clear explanation of what I did to have an impact.”
For more information, click the link that follows to contact Brown CS Communications Manager Jesse C. Polhemus.