Cloud computing has enabled huge triumphs in big data, from searching the web in a millisecond to decoding the human genome. But to keep cloud servers running smoothly, developers have applied different techniques to minimize disrupting their central processing units (CPUs) — techniques that don't often work together.
Thanks to a team of computer science researchers, that's all changed.
Historically, developers have relied on containerization or remote direct memory access (RMDA) to keep cloud applications running smoothly. The first technique creates an isolated computing environment where applications can run without disrupting a machine's CPU. RDMA allows developers to access memory on a remote server without interrupting the server's CPU. Traditionally, the two couldn't be used together.
"Before FreeFlow, no system could use RDMA for containerized applications," said Daehyeok Kim, a Ph.D. student in Carnegie Mellon's Computer Science Department (CSD). "FreeFlow makes this possible."
Kim presented FreeFlow earlier this year at the 16th USENIX Symposium on Networked Systems Design and Implementation in Boston. (You can watch Kim's presentation on YouTube).
To understand how FreeFlow works, consider TensorFlow, a popular machine learning framework that companies such as Google use for various tasks, including image and speech recognition. If a developer installs the software on containers in the cloud, a TensorFlow instance running inside one container can't remotely access data inside another container without invoking the host server's CPU. They also couldn't use RDMA as a communication method in their application, so performance has been limited.
"This boils down to companies like Intel running deep learning applications at much faster speeds with FreeFlow than they were able to before," says Kim. "That's because RDMA is 15 times faster than traditional networking."
Other researchers on the study included CSD Ph.D. student Tianlong Tu, Hongqiang Harry Liu from Alibaba, Jitu Padhye and Shachar Raindel from Microsoft Research, Chuanxiong Guo and Yibo Zhu from Bytedance, CyLab and Electrical and Computer Engineering professor Vyas Sekar, and CSD Department Head Srinivasan Seshan.