Leveraging the Bandwidth/Latency Tradeoffs of Modern Networks via Software Abstraction

Speaker: Prof. Eli Tilevich
Date: Friday, November 4, 2011
Time: 11:15am-12:30pm
Location: 2150 Torgerson


As computing is becoming increasingly distributed, network programming has come to the forefront of developing computing applications. Modern networks are characterized by continuously expanding bandwidths, with latencies remaining the main performance bottleneck. As a result, distributed applications must effectively leverage the bandwidth/latency tradeoffs of modern networks to achieve the requisite performance. Unfortunately, the Remote Procedure Call (RPC)—the foundation of the majority of distributed programming abstractions—is inefficient when invoking multiple remote operations. Furthermore, numerous proposals to optimize latency within traditional RPC have side-effects that are often as bad as the problem they are meant to solve. In this talk, I will present an alternative to RPC—Remote Batch Invocation (RBI)—that offers language support for explicit client-defined remote batches. A Remote Batch statement combines remote and local execution: all the remote code is executed in a single round-trip to the server, in which all data sent to the server and results from the batch are communicated in bulk. In addition to effectively batching remote calls, RBI seamlessly supports iteration, conditionals, and local handling of remote exceptions. RBI enables large-granularity, stateless remote interactions, characteristic of cloud computing, thereby offering a convenient and efficient software abstraction for developing modern distributed applications.

Eli Tilevich has been an Assistant Professor of Computer Science at Virginia Tech since 2006. He has received B.A. summa cum laude from Pace University, M.S. from NYU, and Ph.D. from Georgia Tech. His research interests lie on the Systems and Languages side of Software Engineering. In particular, his research is concerned with software technologies for distributed/high-end computing, automated program transformation, middleware, and novel programming paradigms. He has authored more than 40 technical publications that appeared in major peer-reviewed conference proceedings and international journals. At Virginia Tech, he leads the Software Innovations Lab. The lab’s research projects have been supported by the NSF, the ONR, and IBM Research.