Sandhya Dwarkadas

Sandhya Dwarkadas works at the interface of hardware and software. One focus of her research is scalable support for parallelism—developing communication and coordination mechanisms that allow computational tasks to be executed simultaneously in an efficient manner.

 

Sandhya Dwarkadas

Professor of Computer Science

Sandhya Dwarkadas works at the interface of hardware and software. At times, her research delves deep into technology issues and how they impact computer architecture. At other times, Dwarkadas is on the software side dealing with problems associated with efficient use and allocation of resources and easy-to-use programming interfaces.

One focus of her research is scalable support for parallelism. The more processors work together on a problem, the more difficult it becomes to coordinate their activities and to share information efficiently. Without sufficient care, the processors tend to “step on each other’s toes” just like a family in the kitchen with each person needing to get into the refrigerator at the same time. Dwarkadas designs scalable communication and coordination mechanisms that allow computational tasks to execute simultaneously in an efficient manner.

In her most recent project, Dwarkadas, in collaboration with her colleague Michael Scott in computer science and Srinivas Aluru at Georgia Tech, aims to develop a programming interface and a corresponding runtime system to enable transparent and portable large-scale parallelization of applications with unstructured data.

A way to understand this is to look at social networks such as Facebook, Twitter, Google+, and others. “Some people have lots of connections while others have very few,” she says. “If you are trying to mine information on that kind of network in parallel, the number of connections someone has can significantly affect the distribution of work and the amount of communication needed, requiring careful design to generate results in a timely manner.”

Gene assembly, a particular focus application she and her colleagues are working on, exhibits a different and more dynamic structure, requiring unique optimization techniques. Dwarkadas’s work aims to transparently adapt infrastructure based on the application’s needs, allowing end users, such as scientists, to focus on their own problem domain.

Dwarkadas, in collaboration with her colleague Kai Shen, is also working to solve the problem of power management and resource allocation. “We all experience issues related to power supply,” she says. “Just the other day, I was in Google Hangout, which is video-based, with five participants, and my laptop shut down. This tells me that it isn’t capable of handling the kind of heat dissipation that comes with the amount of data we were transmitting and computing on. Solving these problems is a challenging task involving both modeling and control at multiple levels, but we believe we are making inroads.”

To visualize the resource allocation problem, imagine it is the holiday season and two companies send workers with packages to the post office that has only one line. One company sends 10 people with one package each. The other sends one worker with two packages. This worker gets in line behind the other 10. Despite the fact that the post office is trying to service both companies equally, it turns out that the one that sent 10 workers is actually delaying (either maliciously or unintentionally) that other company from completing its task. Dwarkadas looks at problems like this and determines how best to allocate and control the utilization of resources.

“Anytime you create the need for a single resource by multiple tasks, it can become a bottleneck,” Dwarkadas says. “Only a single worker or process can utilize the resource at any given time. Your entire computation time is now a function of the speed at which the bottleneck is cleared.”

The new Institute for Data Science will support Dwarkadas and others as they build and hone the foundation that drives computing. Her research provides the basic infrastructure needed to deal with data science and helps others extract science and knowledge out of data.