ITR: Application Partitioning Without Programming
Georgia Tech Research Corporation, Atlanta GA
Investigators
Abstract
Application partitioning is the task of breaking up the functionality of an application into distinct entities that can operate independently, usually in a distributed setting. As networking changes the computing landscape, application partitioning is becoming an increasingly common form of distributed programming. This project examines the possibility of automating the partitioning of a software application. Instead of hand re-coding, higher-level tools allow the user to express how the application is to be partitioned. The tools can then rewrite the existing application code to replace local data exchange (e.g. function calls, data sharing through pointers) with remote communication (e.g. remote function calls, remote pointers or mobile objects). The tools are based on a novel static analysis and translation algorithm. The potential impact of this work is in significantly simplifying distributed program construction, a prime intellectual and practical challenge of computer science. Automatic partitioning can revolutionize the way a large class of distributed programs is developed. Additionally, the proposed tools have a high educational value: they can be used for illustrating crucial concepts in both programming languages and distributed systems, while minimizing distractions due to low-level complexity.
View original record on NSF Award Search →