Portland State University. Department of Electrical and Computer Engineering
Douglas V. Hall
Date of Award
Master of Science (M.S.) in Electrical and Computer Engineering
Electrical and Computer Engineering
1 online resource (2, vii, 85 pages) : illustrations
Computer architecture, Parallel programming (Computer science), Microprocessors -- Programming, Simultaneous multithreading processors, Microprocessors -- Design and construction, Threads (Computer programs)
Exploiting better performance from computer programs translates to finding more instructions to execute in parallel. Since most general purpose programs are written in an imperatively sequential manner, closely lying instructions are always data dependent, making the designer look far ahead into the program for parallelism. This necessitates wider superscalar processors with larger instruction windows. But superscalars suffer from three key limitations, their inability to scale, sequential fetch bottleneck and high branch misprediction penalty. Recent studies indicate that current superscalars have reached the end of the road and designers will have to look for newer ideas to build computer processors.
Speculative Multithreading (SpMT) is one of the most recent techniques to exploit parallelism from applications. Most SpMT architectures partition a sequential program into multiple threads (or tasks) that can be concurrently executed on multiple processing units. It is desirable that these tasks are sufficiently distant from each other so as to facilitate parallelism. It is also desirable that these tasks are control independent of each other so that execution of a future task is guaranteed in case of local control flow misspeculations. Some task prediction mechanisms rely on the compiler requiring recompilation of programs. Current dynamic mechanisms either rely on program constructs like loop iterations and function and loop boundaries, resulting in unbalanced loads, or predict tasks which are too short to be of use in an SpMT architecture. This thesis is the first proposal of a predictor that dynamically predicts control independent tasks that are consistently wide apart, and executes them on a novel SpMT architecture.
Jothi, Komal, "Dynamic Task Prediction for an SpMT Architecture Based on Control Independence" (2009). Dissertations and Theses. Paper 1707.