Skip to Main Content
Extracting performance from modern multicore architectures requires that parallel sections be divided into many threads of execution. In order to fully utilize these threads effectively, load balancing has become one of the most important factors that affect the performance of applications on multicores. In this paper, we have shown that the threads that belong to a single, multithreaded application can exhibit a poorly balancing performance. We propose a dynamic cache reservation scheme which can redistribute the reserved cache space to the critical thread for speeding up during the applications running. In our implementation, we balance performance of these threads belonging to the same application based on runtime information. Our experimental evaluation indicates that, the proposed dynamic cache reservation yields benefits up to 21% over a shared cache without cache reservation, up to 6% over a statically partitioned cache scheme.