Department of Computer Science at UH

University of Houston

Department of Computer Science

In Partial Fulfillment of the Requirements for the Degree of
Doctor of Philosophy

Eric Stotzer

Will defend his PhD dissertation proposal

Instruction Scheduling for Loop Nests:
Combining Software Pipelining and Software Threading

Abstract

Software pipelining is a technique used to schedule instructions from a loop body so that multiple iterations of the loop are executing in parallel. This can be accomplished by taking advantage of instruction level parallelism (ILP). ILP is a combination of compilation techniques and architectural features that exploit the fine-grain parallelism present at the machine instruction level. Superscalar and very long instruction word (VLIW) processors are designed to exploit ILP. Multicore processors are designed to exploit course grain Thread Level Parallelism (TLP).

The first part of this dissertation proposal provides background on clustered architectures that are capable of exploiting ILP and TLP. We discuss cluster assignment and software pipelining for an inner loop on an ILP architecture. We then expand this solution to perform cluster assignment and software pipelining on a loop nest. We then modify our loop nest scheduler to consider a hybrid ILP/TLP architecture, where analysis will be made to determine how to tradeoff ILP and TLP to best execute the loop nest. In doing this, we improve existing algorithms for performing cluster assignment, software pipelining for ILP, and ILP/TLP combined scheduling for loop nests.

Date: Friday, February 8, 2008
Time: 11:00 AM
Place: 550-PGH
Faculty, students, and the general public are invited.
Advisor: Dr. Ernst Leiss