Computer Science Thesis Proposal
Virtual Presentation - Remote Access - Zoom
PRATIK FEGADE , Ph.D. Student
Compiler Techniques to Optimize Communication for Fragmented Applications
With the increasing difference between communication and computation latencies, the performance of modern application domains such as deep learning and web applications is often bottlenecked by data movement. Given the size and complexity of these applications, their individual components are often (i) designed, developed, optimized and managed independently and therefore (ii) often use a wide array of different source languages as well as other technologies. Such fragmentation of the application's logic means that compiler optimizations, traditionally shown to be highly effective at optimizing data movement, may no longer be as effective because no compiler has an end-to-end view of the entire application.
In this thesis, we develop compiler techniques to optimize communication costs by (i) explicitly breaking artificial compilation boundaries arising due to fragmentation, and (ii) specializing for the structure of the data involved. We focus on microservice-based web applications and deep learning computations that exhibit shape and control flow dynamism. Accordingly, we first discuss our work on Cortex, a compiler that performs end-to-end optimization of the control flow and tensor computations found in recursive deep learning models. We then move on to discuss a few proposed directions where we aim to (i) develop techniques for performant handling of control flow dynamism in deep learning, (ii) expand the scope of computations handled by tensor compilers and (iii) develop automated caching techniques for microservice applications. In solving these problems, we propose solutions that cross compilation and development boundaries, allowing us to perform global optimizations to reduce communication costs. .
Todd C. Mowry (Co-Chair)
Phillip B. Gibbons (Co-Chair)
Saman Amarasinghe (Massachusetts Institute of Technology)
Zoom Participation. See announcement.
For More Information: