GRADUATE SCHOOL OF SCIENCES & ENGINEERING
COMPUTER SCIENCES AND ENGINEERING
MS THESIS DEFENSE BY PIRAH NOOR SOOMRO
Title: A Framework for Task Placement on Multicore Architectures
Speaker: Pirah Noor Soomro
Time: January 19, 2018 , 09:00 AM
Place: ENG 208
Rumeli Feneri Yolu
Thesis Committee Members:
Asst. Prof. Dr. Didem Unat (Advisor, Koc University)
Assoc. Prof. Dr. Öznur Özkasap (Koc University)
Asst. Prof. Dr. Ayşe Yilmazer (Istanbul Technical University)
Current multicore machines have a large number of cores and the number of cores is expected to increase in upcoming exascale multicore machines. Binding parallel tasks to cores according to a placement policy is one of the key aspects to achieve good performance in multicore machines because it can reduce on-chip communication among parallel threads. Binding also prevents operating system from migrating threads, which improves data locality. However, there is no single mapping policy that works best among all different kinds of applications and machines because each machine has a different topology and each application exhibits different communication pattern. Determining the best policy for a given application and for a given machine requires extra programming effort. To relieve the programmer from that burden, we argue the need for an automated task binding tool that generates mapping policy specific to the machine topology and application behaviour.
We present BindMe, a thread binding library, that assists programmer to bind threads to underlying hardware. BindMe incorporates state-of-the- art mapping algorithms which use communication pattern in an application to formulate an efficient task placement policy. We also introduce ChoiceMap, a communication aware mapping algorithm that generates a mapping sequence by respecting mutual priorities of parallel tasks. ChoiceMap performs a fair mapping by reducing communication volume among cores. The algorithm can be used both in shared memory and distributed memory systems. ChoiceMap is incorporated in BindMe and can be used as one of the mapping options. We have tested BindMe with various applications from NAS parallel benchmark. Our results show that choosing a mapping policy that best suits the application behavior can increase its performance and no single policy gives the best performance across different applications.