Patent ID: 7373640

Claim:
A method for executing uniprocessor (UP) coded workloads in a multiprocessor (MP) computer system without having to rewrite the UP-coded workloads' code, comprising: identifying threads in the uniprocessor coded workloads (UP-workloads) which can execute concurrently, and identifying threads in the UP-workloads which cannot execute concurrently; assigning first threads which cannot execute concurrently to a first concurrency group, and assigning second threads which cannot execute concurrently to a second concurrency group, where any thread in the first concurrency group can execute concurrently with any thread in the second concurrency group; compiling the UP workload to execute on the MP system, the threads in the first concurrency group compiled to be prevented from executing concurrently, the threads in the second concurrency group compiled to be prevented from executing concurrently, and the threads in the first and the second concurrency groups compiled to execute concurrently; scheduling first and second execution vehicles that respectively execute on different processors in the MP computer system at substantially the same time; acquiring the first concurrency group by the first execution vehicle and the second concurrency group by the second execution vehicle; and executing UP-coded workloads in the first concurrency group through the first execution vehicle at substantially the same time as UP-coded workloads in the second concurrency group are executed through the second execution vehicle.