Skip to Main Content
Manufacturers insist that the microprocessors of the future will have exponentially increasing numbers of cores for as long as Moore's Law lasts. Those of us who write programs to make and analyze measurements, like all who create soft ware as part of their work, will have to write parallel code in order to reap any benefit from new generations of processors. In the past, the primary way to program in parallel on shared memory computers was to work with threads directly. Doing so is time consuming, error prone, and best left to experts in thread programming. Over the last three years or so, several toolkits or libraries have appeared that provide generic parallel algorithms. These algorithms are implemented with threads but hide the details of threading. The programmer can use these generic parallel algorithms to parallelize code without getting involved with the pitfalls of threading. Using such toolkits or libraries is currently the best way to reap im proved measurement analysis speed on multicore processors and to future-proof that code for the upcoming generations of microprocessors with doubling and re-doubling numbers of cores.