Font Size: a A A

Adaptive dynamic thread scheduling for simultaneous multithreaded architectures with a detector thread

Posted on:2003-07-03Degree:Ph.DType:Dissertation
University:University of Southern CaliforniaCandidate:Shin, ChulhoFull Text:PDF
GTID:1468390011982052Subject:Computer Science
Abstract/Summary:
Simultaneous Multithreading (SMT) attempts to attain the high resource utilization by allowing instructions from multiple independent threads to coexist in a processor and compete for shared resources. Earlier studies, however, have shown that the performance of a realistic SMT architecture begins to saturate as the number of hardware contexts increases beyond four or five.; In this work, we attempt to prove our contention that a single fixed hardware thread scheduling strategy cannot provide optimal results for the various unpredictable thread combinations it faces. We propose an approach that partially schedules threads in software in the form of a detector thread at nominal hardware and software costs. Our approach offers the capability to adaptively switch thread scheduling policies depending on the situations which are likely to vary constantly in a hard-to-predict manner.; We show that there is much room for performance improvement for the adaptive dynamic thread scheduling approach. The results we have obtained by simulating a realistic SMT architecture show that no single fetch policy is the best solution for more than 50% of the total time. We show that significant performance improvement for SMT with eight contexts can be attained by allowing switching of fetch policies.; We propose a software architecture for the detector thread and evaluate various heuristics for determining better fetch policies which comprise the core function of the software. We found that, under a restrictive configuration, our approach could outperform a fixed scheduling by up to 30%.
Keywords/Search Tags:Thread, Scheduling, SMT, Detector, Architecture, Approach, Software
Related items