Affiliation:
1. University of Waterloo
Abstract
Many embedded processors use clustering to scale up instruction-level parallelism in a cost-effective manner. In a clustered architecture, the registers and functional units are partitioned into smaller units and clusters communicate through register-to-register copy operations. Texas Instruments, for example, has a series of architectures for embedded processors which are clustered. Such an architecture places a heavier burden on the compiler, which must now assign instructions to clusters (spatial scheduling), assign instructions to cycles (temporal scheduling), and schedule copy operations to move data between clusters. We consider instruction scheduling of local blocks of code on clustered architectures to improve performance. Scheduling for space and time is known to be a hard problem. Previous work has proposed greedy approaches based on list scheduling to simultaneously perform spatial and temporal scheduling and phased approaches based on first partitioning a block of code to do spatial assignment and then performing temporal scheduling. Greedy approaches risk making mistakes that are then costly to recover from, and partitioning approaches suffer from the well-known phase ordering problem. In this article, we present a constraint programming approach for scheduling instructions on clustered architectures. We employ a problem decomposition technique that solves spatial and temporal scheduling in an integrated manner. We analyze the effect of different hardware parameters—such as the number of clusters, issue-width, and intercluster communication cost—on application performance. We found that our approach was able to achieve an improvement of up to 26%, on average, over a state-of-the-art technique on superblocks from SPEC 2000 benchmarks.
Funder
Natural Sciences and Engineering Research Council of Canada
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference46 articles.
1. Scalability aspects of instruction distribution algorithms for clustered processors
2. AGAMOS: A Graph-Based Approach to Modulo Scheduling for Clustered Microarchitectures
3. Amarasinghe S. Karger D. R. Lee W. and Mirrokni V. S. 2002. A theoretical and practical approach to instruction scheduling on spatial architectures. Tech. rep. MIT LCS Technical Reports Cambridge MA. Amarasinghe S. Karger D. R. Lee W. and Mirrokni V. S. 2002. A theoretical and practical approach to instruction scheduling on spatial architectures. Tech. rep. MIT LCS Technical Reports Cambridge MA.
4. Balanced graph partitioning
5. ARM. 2011. The architecture for the digital world. http://www.arm.com. (Last accessed June 2011). ARM. 2011. The architecture for the digital world. http://www.arm.com. (Last accessed June 2011).
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献