Electrical Engineering and Computer Science

Dynamic Application Recompilation with Little Overhead Cost

Protean Code is a new technique for recompiling applications that run on data center servers and introducing that updated code as needed - with very little overhead cost.

  Bookmark and Share

Protean Code Allows Data Center Servers to Adapt to Changing Environments with Breakthrough Compiler Technology

A team of CSE researchers has developed a new technique, called Protean Code, which is aimed at efficiently and continuously transforming the way in which the application programs running in data centers are recompiled in order to adapt to changing compute environments.

Modern data centers have arisen to serve the world's needs for web services and are critical infrastructure for commerce, communications, research, entertainment, and more. Maintaining responsive and scalable web services has driven the growth of Warehouse Scale Computers (WSCs), extremely large, complex, and resource hungry facilities which host user-facing web services, such as search and social media sites, along with a variety of back-end support applications.

Given the continuing growth in demand for web services and the need to mitigate the cost and impact of building ever-larger and more resource-intensive data centers, maximizing the efficiency and utilization of WSCs has become an important challenge.

One approach to increasing WSC efficiency has been the practice of collocating multiple applications on a single server. However, the unpredictable dynamism that results from fluctuating user loads and application demands limits the ability to collocate because of the threat of violating the quality of service of user facing latency-sensitive applications.

Protean Code is an enabling technology for dynamically recompiling native applications and rebalancing the use of WSC resources as demands dictate. Although previous approaches have existed to perform dynamic compilation, none have been deployable in production because they have come with high overhead cost, demanding that applications be stopped and started in order to recompile. Protean Code makes use of a novel mechanism that enables precise control of the compute resources used to dynamically recompile code and stitches that new code into use in an asynchronous manner. This mechanism provides dynamic recompilation while incurring less than a 1% overhead cost for doing so.

The researchers, including graduate students Michael Laurenzano and Yunqi Zhang and Profs. Lingjia Tang and Jason Mars, have published their results in the paper entitled, "Protean Code: Achieving Near-free Online Code Transformations for Warehouse Scale Computers," which was presented at 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). The researchers provide an additional overview explanation of Protean code in the video below.

Protean Code

Although their initial focus for Protean Code has been data centers, the researchers forsee other applications for the technique, including usage on smartphones, which run a changing set of applications with dynamic usage patterns.

Posted: December 19, 2014