Abstract :
Microprocessor makers have come up with a design that combines two or more independent processors on one chip. Most PC programs, however, cannot take advantage of additional processors since they have been written to run on a single processor. Despite this, programs have still been getting more powerful because of improved processors. Organizing software so that blocks of code in one program can be spread across many processors and run at the same time with increased performance may address this issue. This approach, which has been carried over into transactional memory, gives an operating system more freedom to break a program down into blocks that can be more freely distributed across the processing resources available