Ana Klimovic officially joined the Department of Computer Science of ETH Zurich in August 2020 as Tenure Track Assistant Professor of Computer Science and Engineering. Due to the coronavirus crisis, her arrival was postponed until September. Get to know her in this short interview.

Professor Ana Klimovic
Professor Ana Klimovic researches hardware and software systems for cloud computing.

Professor Klimovic, welcome to ETH! What are your current research interests?
I work on computer systems for large-scale emerging applications such as cloud computing services, data analytics and machine learning. The goal of my research is to improve the performance and resource efficiency of cloud computing while making it easier for users to deploy and manage their applications [1]. My research interests include operating systems, computer architecture, and their intersection with machine learning.

What is the impact of your research on society?
Cloud computing facilities host internet services that we rely on daily, such as search engines, email and social media. The cloud is also enabling great advances in fields such as machine learning by offering cost-effective and convenient access to large-scale hardware and software systems for storing and processing large datasets. As the amount of data we collect and store in the cloud continues to grow along with our desire to extract insights from this data, optimising the performance and energy efficiency of cloud computing systems is increasingly important. 

In addition to improving cloud infrastructure to ensure more efficient handling of today’s workloads, a primary goal of my research is to advance cloud software and hardware systems to meet the needs of new and emerging applications. For example, there is currently interest in scaling machine learning models to billions of parameters to improve accuracy on a variety of language and image understanding tasks. I enjoy building core software systems that link the unique requirements of emerging applications with the capabilities of cutting-edge hardware. 

Where were you working before you came to ETH?
Before joining ETH in August 2020, I spent a year as a research scientist at Google Brain in Mountain View, California. At Google, I worked on research challenges at the intersection of computer systems and machine learning. Prior to that, I completed my PhD at Stanford University.

Which courses will you be teaching at ETH?
I am looking forward to teaching the undergraduate course Systems Programming and Computer Architecture alongside Professor Timothy Roscoe in autumn. I will also co-lead a graduate seminar on Hardware Acceleration for Data Processing. In the spring, Professor Gustavo Alonso and I will be offering a new course on cloud computing. This course will cover topics such as cloud application frameworks, datacenter hardware design, and large-scale cluster resource management.

Name an interesting fact about your research area.
Servers in cloud computing facilities today tend to operate at relatively low average utilisation, spending most of their time in the 10% to 50% CPU utilisation range [2]. Utilisation is kept relatively low to ensure high performance and accommodate load spikes, as performance decreases at high load when request queues build up. However, due to the non-linear energy efficiency profiles of modern servers, this means that servers are spending most of their time in the load region in which they are the least energy efficient. Considering that the critical power of a large-scale cloud facility can exceed 100 megawatts, improving cloud server utilisation can save significant amounts of energy by allowing us to handle more application requests with the same amount of server resources. The challenge is improving resource utilisation while maintaining high performance for applications. My research in computer systems explores these trade-offs and explores innovation in hardware and software systems to improve both performance and resource efficiency. 

What advice would you give to students who are just starting out in computer science?
My advice is to explore broadly and adopt a growth mindset. Developing your knowledge across the full stack – from algorithms to system software to hardware design – will allow you to truly understand how computers work and will help you to identify opportunities for innovation and optimisation, which often arise across layers of the stack. 

When taking your first few courses in computer science, it is easy to feel overwhelmed or behind, especially if you compare yourself to other students who may have been coding for years as a hobby. This is where having a growth rather than a fixed mindset comes in. Remember that no one was born knowing how to code or debug complex systems; these are skills that are learned and developed over time, with practice. In the words of Professor John Ousterhout at Stanford University: “A little bit of slope makes up for a lot of y-intercept.” So focus on your slope.

References:

[1] https://anakli.inf.ethz.ch
[2] Luiz André Barroso, Urs Hölzle, and Parthasarathy Ranganathan. external pageThe Datacenter as a Computer: Designing Warehouse-Scale Machines, Third Edition. Synthesis Lectures on Computer Architecture. Morgan & Claypool Publishers, October 2018.

JavaScript has been disabled in your browser