Shenango: improving data center efficiency

“What we’ve got here is failure to communicate,” Strother Martin famously said to Paul Newman after his character in the film Cool Hand Luke was once again caught trying to escape prison.

While Newman’s character didn’t take that advice to heart, researchers at MIT may have done so. Shenango, data center manager software developed by MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), boosts the efficiency of data centers by improving communications between servers and the processes running on those servers.

According to Adam Belay, an assistant professor of electrical engineering and computer science and a CSAIL researcher, the key is tight communication between the IOKernel, algorithm, apps and server hardware. “The system has global visibility into what’s happening in each server,” he said in a statement. “It sees the hardware providing the packets, what’s running where in each core, and how busy each of the apps are. And it does that at the microsecond scale.”

The Shenango system constantly monitors servers using a congestion-detection algorithm that determines which apps and processes need more compute power and then allocates idle CPU cores to speed the operation. The algorithm checks data packets in each app’s processing queue every five microseconds.

“In data centers, there’s a tradeoff between efficiency and latency, and you really need to reallocate cores at much finer granularity than every millisecond,” said Amy Ousterhout, a Ph.D. student in CSAIL and a lead member of the development team. Shenango, she said, lets servers “manage operations that occur at really short time scales and do so efficiently.”

Thanks to its unique architecture for queueing packets, Shenango’s congestion-detection algorithm is much faster than systems that require checking on each packet’s time stamp. Instead, Shenango puts packets into slots in “ring buffers,” with subsequent packets being placed into the next slot in the ring. That means Shenango only needs to compare two points in the queue to determine if packets are being delayed.

Shenango isn’t quite ready for market. The team is working to ensure that the program can handle the high-data throughput required by real-world data centers and that the software is secure.