Methods and apparatus for multi-threading using differently coded software segments to perform an algorithm
US7360220B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Oct 31, 2002 |
| Grant date | Apr 15, 2008 |
| Priority date | — |
| Expiry date | Mar 17, 2025 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F2209/5018
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
Methods and apparatus for multi-threading on a simultaneous multi-threading processor are provided. The methods and apparatus described herein increase computational throughput by launching two or more computational threads to perform the same algorithm using two different software segments. One of the software segments is coded to perform the algorithm using primarily a first processor resource (e.g., a floating point unit). Another software segment is coded to perform the same algorithm using a primarily a second processor resource (e.g., an integer execution unit). A workload requiring execution of the algorithm is allocated to the threads in a balanced manner (e.g., faster code segments are given more of the workload). The threads use different processor resources, therefore the threads are able to execute in parallel in an efficient manner. When each of the threads completes execution, the results may be synchronized.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.