Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/41703
Title: | High performance thread scheduling on shared memory multiprocessors |
Authors: | Debattista, Kurt |
Keywords: | Multiprocessors Simultaneous multithreading processors Computer architecture Cache memory |
Issue Date: | 2001 |
Citation: | Debattista, K. (2001). High performance thread scheduling on shared memory multiprocessors (Master's dissertation). |
Abstract: | In this thesis we are concerned with the efficient scheduling of threads on both shared memory multiprocessors and uniprocessor machines. We attempt to efficiently schedule large numbers of threads while reducing overheads commonly associated with thread management. For performance’s sake we attempt to avoid any kernel intervention and in the case of shared memory multiprocessors, we attempt to achieve a high degree of speedup within a single application. We experiment with new and already established scheduling strategies for both uniprocessors and SMPs. We present three distinct uniprocessor schedulers with varying characteristics, one of which is distinguished by very fast context switching, another that provides fast inter-thread communication and a third which highlights the benefits of cache affinity scheduling even on uniprocessors. We implement a series of shared run queue SMP schedulers by decreasing the lock granularity for each subsequent scheduler and present a scheduler which is lock free and in particular non-blocking. Results for shared run queue schedulers demonstrate that although finer grain locks and in particular lock free algorithms are suitable for inter-thread communication and for synchronisation among various internal scheduler data structures, the scheduler’s general performance does not necessarily benefit. Moreover, due the high amount of contention for the run queue, we show how shared run queue schedulers are not suitable for fine grain thread scheduling. On the other hand, per processor run queue schedulers are usually criticised for their weak load balancing. We therefore introduce a series of new migration policies, enabling per processor run queue schedulers to perform better than their shared run queue counterparts. We present two schedulers which use distinct migration policies, the first of which migrates threads in groups we call batches across a shared pool of batches. The second is a completely wait free scheduler since it complements wait free thread synchronisation techniques with a series of wait free migration algorithms. |
Description: | M.SC. |
URI: | https://www.um.edu.mt/library/oar//handle/123456789/41703 |
Appears in Collections: | Dissertations - FacSci - 1965-2014 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Dissertation-High Performance Thread Scheduling on Shared Memory Multiprocessors.pdf Restricted Access | 834.35 kB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.