Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures

Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2009-042.ps

Size

2.77 MB

Format

PostScript

Checksum (MD5)

a3f6d59d8eee08593e3b7195209a52f7

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2009-042.pdf

Size

1.39 MB

Format

Adobe PDF

Checksum (MD5)

f239ec47ddfe27f75c3eea42804a0707

Author(s)
Hoffmann, Henry
•
Misailovic, Sasa
•
Sidiroglou, Stelios
•
Agarwal, Anant
•
Rinard, Martin
Advisor(s)
Martin Rinard
Date Issued
September 3, 2009
Series/Report no.
MIT-CSAIL-TR-2009-042
Abstract
Many modern computations (such as video and audio encoders, Monte Carlo simulations, and machine learning algorithms) are designed to trade off accuracy in return for increased performance. To date, such computations typically use ad-hoc, domain-specific techniques developed specifically for the computation at hand. We present a new general technique, code perforation, for automatically augmenting existing computations with the capability of trading off accuracy in return for performance. In contrast to existing approaches, which typically require the manual development of new algorithms, our implemented SpeedPress compiler can automatically apply code perforation to existing computations with no developer intervention whatsoever. The result is a transformed computation that can respond almost immediately to a range of increased performancedemands while keeping any resulting output distortion within acceptable user-defined bounds. We have used SpeedPress to automatically apply code perforation to applications from the PARSEC benchmark suite. The results show that the transformed applications can run as much as two to three times faster than the original applications while distorting the output by less than 10%. Because the transformed applications can operate successfully at many points in the performance/accuracy tradeoff space, they can (dynamically and on demand) navigate the tradeoff space to either maximize performance subject to a given accuracy constraint, or maximize accuracy subject to a given performance constraint. We also demonstrate the SpeedGuard runtime system which uses code perforation to enable applications to automatically adapt to challenging execution environments such as multicore machines that suffer core failures or machines that dynamically adjust the clock speed to reduce power consumption or to protect the machine from overheating.
Persistent DSpace Link
http://hdl.handle.net/1721.1/46709
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.