Meet the Faculty - Abhishek Chandra
Tell us about your journey to the University of Minnesota. How did you become interested in computer science and your specific field?
I was always interested in math and science, and then I got some exposure to programming in high school. I got interested in it because when you're programming, you’re basically solving problems. It’s almost like solving puzzles. Suddenly, you get this aha feeling once you get something working, especially if you’re debugging something for a long time and suddenly it starts working. You can see there’s something cool happening here.
I did my Bachelor's of Technology in Computer Science at the Indian Institute of Technology Kanpur. There, I got quite interested in trying to understand how computers work behind the scenes. For example, I remember when I was in college, we got the first internet connection in our university, and it was super cool to see that you could access somebody’s website or email somebody on the other side of the world.
I also got interested in trying to understand how different applications work on a computer, or how to send data across the world. What happens when you write a program? How does it eventually start running on a system? This led me to an interest in systems research. This is essentially the basic software that makes everything work in our computers and all the systems we see around us.
I then came to the United States for a PhD at the University of Massachusetts. After that, I applied for jobs at a few places. When I came to interview at the University of Minnesota, I really liked the environment here. People were very friendly and welcoming. I also talked to a few people who knew about the department, and many people from the department also reached out to me. It seemed like a place where people really wanted you to come, and there was a lot of collegiality. That sort of sold this place for me. I've been really happy that I made that choice, and this has been a great place to be.
Tell us more about your current research!
Broadly speaking, I work in the area of distributed systems, which basically looks at how you build very large-scale systems, like cloud computing, supercomputing, or even things like the internet itself.
One particular area where I’ve been focusing quite a bit lately is edge computing. This is driven by the fact that many of us now carry our phones, wear smartwatches, and have various sensors either in our homes or all around us. There’s a lot of data that is being generated all the time. Edge computing is looking at pushing the computing closer to where the user is, or where the data is coming from, in order to make sense of this data in real time. Rather than having to wait for it to be processed in some back-end, huge server farm somewhere. This also makes it much easier for users to interact with computing without even being aware of its presence. It's a very exciting area where we are essentially pushing computing closer and closer to the users.
Another area that I'm interested in is sustainable computing. There, we are focusing on what effect computation is having on the environment. For example, how much carbon is being emitted when you're running all of this computing? Is it affecting the water usage in different places? Does it have any social impacts?
Which courses are you teaching? What can students expect to get out of that class?
I typically teach operating systems and distributed systems courses at the undergraduate and graduate levels. These include CSCI 4061 - Introduction to Operating Systems for undergraduates, and both CSCI 5103 - Operating Systems and CSCI 5105 - Introduction to Distributed Systems for graduate students. The main goal of teaching these classes is to try to make students understand the fundamentals of what goes behind making many of these systems work, be it a smartphone, a laptop, or a cloud computing system.
In the fall, I'm going to be teaching CSCI 5980 and 8980 - Sustainable Computing: A Systems View. This course is available for graduate students as well as undergraduate students who are interested in research in this area. In this course, we will be looking at some of the major issues related to sustainability as far as computing systems are concerned, what kind of solutions people are looking at, and what kind of solutions we can think of.
What do you do outside of the classroom for fun?
I really enjoy reading, watching movies, and listening to music, especially old Indian music. I also like spending time outdoors, going on nature hikes, and biking, especially in summer.
Do you have a favorite spot in the city or on campus?
The Chain of Lakes area, like around Lake Bde Maka Ska and Lake Harriet. It's always lively, and it's a very nice place to take a walk. In addition, I also like the parks in the Three Rivers Park District. They have fabulous nature, biking, and skiing trails. Quite often, I just go with my family and spend time in nature for an hour or two.
Is there anything else you would like students to know about you?
Just in general, I feel that computing is an exciting area because it changes so quickly. There's always a chance to keep learning something new, and so I would always encourage students to be curious and try something new, even if it's a little bit out of their comfort zone. As far as my research is concerned, I'm very happy to talk to students anytime they want. I'm always looking for good students to work with. Our research won't go anywhere if we don't have smart students. So, even if you're an undergrad looking for research opportunities, I'm always happy to talk to you.