Intel Threading Building Blocks –
“A primary benefit of TBB is that applications using the library automatically scale to utilize the available processing cores, with no changes to the source code or the executable program file. In other words, the same executable will create threads that utilize one core on a single core machine, two cores on a dual-core machine, four cores on a quad-core machine, etc. No recompilation of the application is required, because the library itself detects the hardware architecture and uses that information to determine how to break up the tasks for assignment to each core.” – From the Wiki Entry
The MIT ‘Adaptive Scheduling of Parallel Jobs’ Project –“In this project, we are investigating adaptive scheduling and resource allocation in the domain of dynamic multithreading. Most existing parallel programming systems are nonadaptive, where each job is assigned a fixed number of processors. This strategy may lead to a poor use of available resources. For example, if the job’s parallelism changes while the job is executing, or if the resources available in the system change, the job is still forced to run with the same number of processors as it was allotted when it started executing. A more attractive model would be an adaptive model, where processors allotted to a job change according to the job’s parallelism and the system environment.”Some papers associated with this project:
If anyone has any others they’d like to mention, please feel free to leave a message in the comments section.