Publication | Open Access
A unified modulo scheduling and register allocation technique for clustered processors
26
Citations
18
References
2002
Year
Unknown Venue
Cluster ComputingModulo Scheduling FrameworkHeterogeneous ComputingEngineeringComputer ArchitectureClustered ProcessorsRegister Allocation TechniqueProcessor ArchitectureCluster AssignmentSystems EngineeringParallel ComputingManycore ProcessorInstruction-level ParallelismClustered Ilp ProcessorsUnified Modulo SchedulingComputer EngineeringScheduling (Computing)Computer ScienceEdge ComputingProgram AnalysisMany-core ArchitectureParallel Programming
This work presents a modulo scheduling framework for clustered ILP processors that integrates the cluster assignment, instruction scheduling and register allocation steps in a single phase. This unified approach is more effective than traditional approaches based on sequentially performing some (or all) of the three steps, since it allows optimizing the global code generation problem instead of searching for optimal solutions to each individual step. Besides, it avoids the iterative nature of traditional approaches, which require repeated applications of the three steps until a valid solution is found. The proposed framework includes a mechanism to insert spill code on-the-fly and heuristics to evaluate the quality of partial schedules considering simultaneously inter-cluster communications, memory pressure and register pressure. Transformations that allow trading pressure on a type of resource for another resource are also included. We show that the proposed technique outperforms previously proposed techniques. For instance, the average speed-up for the SPECfp95 is 36% for a 4-cluster configuration.
| Year | Citations | |
|---|---|---|
Page 1
Page 1