Scheduling of multiple multi-threaded applications on CMPs - Arslan, Sanem. (Thesis (M.S.) - Bogazici University. Institute for Graduate Studies in Science and Engineering, 2011., 2011)
Due to the limitations in the conventional processor designs, chip multiprocessors (CMPs), which have multiple cores on a single chip, are a promising alternative to singlecore architectures for performance improvements. The potential performance gains that can be achieved by the using CMPs decline when there is contention for the shared cache structure for multiple multi-threaded applications. Our main focus is to present mapping strategies of multiple multi-threaded applications on multicore architectures. We propose and develop a novel prediction-based mapping strategy. Our approach analyzes thread behavior of di erent applications on the shared cache by considering all possible thread combinations of di erent applications. It nds the best thread combinations of di erent applications that result in minimum cache disturbance. Our prediction-based framework has two components: a static component and a dynamic component. The collection of the training data which is given to the curve tting model as an input is done o -line at the static component. After receiving the predicted values, the threads of each application that shares the same core are arranged. Communication with curve tting model, receiving predicted results, and nally mapping according to these values are done on-line at the dynamic component. The communication between the application code and the curve tting model is provided by a runtime module which collects the training data from the application code and sends them to the curve tting model and receives predicted data from the curve tting model and sends them to the application code. Any interference with the program is avoided at every step of the execution.
Keywords: High performance computing.