Wisconsin Alumni Research Foundation

Information Technology
Information Technology
Optimizing Parallelism During Run-Time
WARF: P130131US01

Inventors: Gurindar Sohi, Srinath Sridharan

The Wisconsin Alumni Research Foundation (WARF) is seeking commercial partners interested in developing a method for determining the right amount of parallelism needed to improve processor speed, energy efficiency and resource usage.
Overview
Executing different portions of a program in parallel on different processors is known as parallelism. While this can boost how fast a program is executed, increased parallelism is not always beneficial and can lead to inefficiencies.

Determining the correct amount of parallelism is innately complex due to changes in program phases, the unknown effects of other concurrently executing programs, diverse performance goals (such as reduced power consumption and efficient utilization of computation resources) and the variability of hardware platforms and resources.
The Invention
UW–Madison researchers have developed a method to determine the optimal amount of parallelism during run-time and to control parallelism according to that determination. This run-time assessment improves portability of programs among multiple disparate devices across which the amount of parallelism may change significantly.

In an embodiment, a virtualizer program transparently interposes between the application program and the computer’s operating system. It continuously monitors changes in the execution environment and rapidly optimizes the program’s parallelism to best fit the environment.

The virtualizer program operates in periodic intervals. During a preceding interval, it varies the parallelism in a program, monitors performance and establishes a relationship between parallelism and performance. Based on this relationship, it controls the parallelism during a succeeding interval to satisfy a desired performance goal while ensuring the program’s forward progress.
Applications
  • Implementation on multicore processors
Key Benefits
  • Faster, more efficient processing
  • Programs are more portable between different devices.
  • Amount of parallelism is based on current run-time conditions.
  • Can satisfy diverse performance goals, such as instruction execution speed, processor resource usage, processor energy usage or processor power usage.
  • Minimal overhead
  • Rapid response to even slightest of changes in run-time conditions
  • Method is not beholden to any operating system or application program.
Additional Information
For More Information About the Inventors
For current licensing status, please contact Emily Bauer at [javascript protected email address] or 608-960-9842

WARF