Information Technology
Controlling Parallelism in Real Time
WARF: P110121US01
Inventors: Gurindar Sohi, Srinath Sridharan, Gagan Gupta
The Wisconsin Alumni Research Foundation (WARF) is seeking commercial partners interested in developing a software-based method to measure program execution speed and adjust parallelism accordingly.
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. Excessive parallelism can actually slow down execution speed as different threads compete for scarce resources such as memory, interconnection bandwidth, etc., (resource contention).
The Invention
UW–Madison researchers have developed a method to dynamically control parallelism according to performance. Their elegant solution measures how fast a program is executing and adjusts parallelism in real time to achieve a balance. This improves speed, throughput, energy efficiency, cache usage, memory and more.
Applications
- Software-based solution to control parallelism
Key Benefits
- Provides dynamic, performance-driven control
- Method is simple and efficient.
- Uses standard hardware
- Programs are more portable between different devices.
Stage of Development
The researchers have tested their method using several benchmark programs, on real hardware and in a variety of different operating environments.
Additional Information
For More Information About the Inventors
Related Technologies
For current licensing status, please contact Emily Bauer at [javascript protected email address] or 608-960-9842
- WARF reference number P130131US01 describes an improved method for run-time parallelism optimization of computer software.
- WARF reference number P100343US01 describes an improved method for run-time parallelization of computer software.
- WARF reference number P07057US describes an automated method of parallelizing the execution of a sequential computer program for multiple processors.