[Image]: Lockheed Martin - we never forget who we're working for. Home | Contact Us
  
Advanced Search   
 
TEXT LINKS HERE

Home > Advanced Technology Laboratories > News > Technology Briefs

download pdf version

Introduction
The new era of “multiprocessing on a chip” promises huge advances in computing performance (i.e., increased speed and/or reduced power consumption) in the same physical footprint as current microprocessors.

Leveraging these advances poses incredible challenges—challenges that are akin to Medusa-like nightmares. One critical challenge is integrating legacy software—not originally designed for multi-core processing architectures—with multi-core processors while achieving even moderate improvements in performance.

Legacy software is any existing software that continues to do a useful job.

It has been tried, tested and refined over long periods of time, and continues to work well in its intended application. Legacy software is pervasive in defense systems—many “modern” weapons systems depend on decades-old technology.

The Multi-Core Challenge

Most legacy software supports concurrent processing, i.e., the ability to execute multiple tasks at the same time. On single-core processors,concurrent processing threads take turns using the processor. Executing this software on multi-core processors, however, frequently does not yield the desired benefits.

For example, naïvely assigning processing threads to cores (e.g., by using the operating system’s scheduler) can significantly increase the overhead of keeping multi-core memory caches coherent, degrading application performance by an order of magnitude or more.

Perseus — The ATL Solution
Under a contract with the Air Force Research Laboratory, Lockheed Martin Advanced Technology Laboratories has developed an innovative software tool, aptly named Perseus—slayer of Medusa—to enable software to be migrated to multi-core processors while simultaneously improving performance.

Through binary-level instrumentation, Perseus analyzes legacy software during its execution to collect important run-time behavior. Perseus uses the behavioral data plus models of the target platform (that define aspects of the multi-core system such as cache topology) to generate a control plan to dynamically map software threads to processing cores and modulate frequencies of individual cores to optimize performance.

Perseus approach is that the control plan is stimulated directly by the application,meaning that control adjustments are made as the needs of the application change over time.

Determining an optimal control plan is immensely complex and relies on a huge number of interdependent factors. Perseus uses advanced machine learning techniques—specifically, genetic algorithms —to perform this optimization. The control plan is integrated into the legacy application by grafting “triggers” at strategic points in binary code of the original application.

Access to the legacy source code is not needed and the legacy code is not modified. In initial tests, Perseus yielded up to 20% savings in power and 20% reduction in execution time over non-optimized applications. These early results show that legacy applications can be deployed effectively in a multi-core world with the help of tools that understand this new processing scheme.

© 2009
Lockheed Martin Corporation
All rights reserved.
Disclaimer