Experimental Study of Thread Scheduling Libraries on Degraded CPU

2008 
In this paper, we compare four libraries for efficiently running threads when the performance of a CPU cores are degraded. First, we are interested by 'brute performance' of the libraries when all the CPU resources are available and second, we would like to measure how the scheduling strategy impacts also the memory management in order to revisit, in the future, scheduling strategies when we artificially degrade the performance in advance. It is well known that work stealing, when done in an anarchic way, may lead to poor cache performance. It is also known that the migration of threads may induce penalties if they are too frequent. We study, at the processor level, the memory management in order to find trade-offs between active thread number that an application should start and the memory hierarchy. Our implementations, coded with the different libraries, were compared against a Pthread one where the threads are scheduled by the Linux kernel and not by a specific tool. Our experimental results indicate that scheduler may perfectly balance loads over cores but execution time is impacted in a negative way. We also put forward a relation between the L1 cache misses, the number of steals and the execution time that will allow to focus on specific points to improve 'work stealing' schedulers in the future.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    15
    References
    2
    Citations
    NaN
    KQI
    []