Evaluating the performance implications of binding threads to processors
Lars Lundberg · 2002
The default scheduling algorithm in Solaris and other operating systems may result in frequent relocation of threads at run-time. Excessive thread relocation cause poor memory performance. This can be avoided by binding threads to processors. However, binding threads to processors may result in an unbalanced load. By considering a previously obtained theoretical result and by evaluating a set of multithreaded Solaris programs using a multiprocessor with eight processors, we are able to bound the maximum performance loss due to binding threads. The theoretical result is also recapitulated. By evaluating another set of multithreaded programs, we show that the gain of binding threads to processors may be substantial, particularly for programs with fine-grained parallelism.