Algorithms to improve computer networks

Daniel Zuo came to MIT with a plan: He wanted to study algorithms and one day to become a research professor.

The senior has more than accomplished the former goal, conducting innovative research on algorithms to reduce network congestion, in the Networks and Mobile Systems group at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL). And, as he graduates this spring with a bachelor’s degree in computer science and electrical engineering and a master’s in engineering, he is well on his way to achieving the latter one.

But Zuo has also taken some productive detours from that roadmap, including minoring in creative writing and helping to launch MakeMIT, the nation’s largest “hardware hackathon.”

The next step in his journey will take him to Cambridge University, where he will continue his computer science research as a Marshall Scholar.

“The Marshall affords me the opportunity to keep exploring for a couple more years on an academic level, and to grow on a personal level, too,” Zuo says. While studying in the Advanced Computer Science program at the university’s Computer Laboratory, “I’ll be able to work with networks and systems to deepen my understanding and take more time to explore this field,” he says.

Algorithms to connect the world

Zuo fell in love with algorithms his first year at MIT. “It was exactly what I was looking for,” he says with a smile. “I took every algorithms course there was on offer.”

His first research experience, the summer after his freshman year, was in the lab of Professor Manolis Kellis, head of the Computational Biology group at CSAIL. Zuo worked with a postdoc in Kellis’ group to use algorithms to identify related clusters of genes in a single cell type within a specific tissue. “We ended up coming up with a pretty cool algorithm,” he says.

As a research assistant for TIBCO Career Development Assistant Professor Mohammad Alizadeh, Zuo is now working on cutting-edge algorithms for congestion control in networks, with a focus on “lossless” data networks.

Modern computer network applications need to be able to transmit large amounts of data quickly, without losing information. Zuo likens the situation to a congested traffic light. When there are too many messages queuing at the light, some information just gets dropped.

“When the traffic light starts to get too full, I can send a packet back upstream that says ‘Wait, if you’re going to send me something, don’t,’” he explains. But sending that signal can create a new problem: a “back-propagation” of even more pauses, and more congestion upstream. Zuo’s algorithms aim to solve both of these problems, ensuring that sent data are never lost and that “traffic lights” don’t become too crowded.

“The idea is we can create a network that never drops a packet of information. I’ve been exploring how to do congestion-control algorithms on these lossless networks, which are becoming more popular,” he says.

Reducing congestion to achieve truly lossless networks could free up a lot of system space and funding for software developers that typically goes to toward maintaining data centers.

“Making communicating within a network more efficient and more reliable can open the door to having more wireless connections across the world,” Zuo says.

Wireless access point towers are ‘leapfrogging’ fiber optic cable in some rural parts of the developing world, he says. Algorithms like his could lower the costs and improve the efficiency of those connections — thereby reducing some key barriers to connectivity in far-flung places. “It’s a long-term goal, and it’s why I’m interested in this field.”

“We’re one of the most connected societies in the world,” he says. “But there are so many places in the world that don’t have this ability. Even if you have amazing ideas, you don’t have access to get your voice heard.”