Background photo

Multi-
threading

Multithreading

Race car

Programs X1t and X2t in GWB10 Professional are multithreaded and as such run in parallel on the multicore CPUs used in modern PCs. The programs divide up the work required to complete each time step and spread the effort among the computing cores on the CPU.

The programs also take advantage of virtual cores on Hyperthreaded CPUs. A Hyperthreaded quad-core chip, for example, has eight virtual cores. The programs in this case divide the computing into eight parts which are carried out in parallel.

Benchmarks

The programs achieve significant speed-ups as a result of their multithreaded architecture. In tests they commonly scale with a speed-up factor f in the range 0.85 to 0.90, where the speed-up = (number of cores) ^ f.

The example at right shows the computing time needed to trace the reactive transport of a solution of mixed heavy metals, according to a surface complexation model accounting for electrostatics. The test was run on dual quad core Xeon 2 2GHz CPUs.