Abstract
Instruction scheduling is a compile-time technique for extracting parallelism from programs for statically scheduled instruction level parallel processors. Typically, an instruction scheduler partitions a program into regions and then schedules each region. One style of region represents a program as a set of decision trees or treegions. The non-linear nature of the treegion allows scheduling across multiple paths. This paper presents such a technique, termed treegion scheduling. The results of experiments comparing treegion scheduling to scheduling for basic blocks and across “simple linear regions” show that treegion scheduling outperforms the other techniques.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
G. S. Tjaden and M. J. Flynn, “Detection and parallel execution of independent instructions,” IEEE Trans. Comput., vol. C-19, pp. 889–895, Oct. 1970.
J. A. Fisher, “Trace scheduling: A technique for global microcode compaction,” IEEE Trans. Comput., vol. C-30, no. 7, pp. 478–490, July 1981.
S. A. Mahlke, Exploiting instruction level parallelism in the presence of branches. PhD thesis, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, Urbana, IL, 1996.
B. L. Deitrich and W. W. Hwu, “Speculative hedge: regulating compile-time speculation against profile variations,” in Proc. 29th Ann. Int'l Symp. on Microarchitecture [11].
T. M. Conte and S. W. Sathaye, “Dynamic rescheduling: A technique for object code compatibility in VLIW architectures,” in Proc. 28th Ann. Int'l Symp. on Microarchitecture, (Ann Arbor, MI), Nov. 1995.
C. Chekuri, R. Johnson, R. Motwani, B. Natarajan, B. Rau, and M. Schlansker, “Profile-driven instruction level parallel scheduling with application to superblocks,” in Proc. 29th Ann. Int'l Symp. on Microarchitecture [11], pp. 58–67.
P. Y. T. Hsu and E. S. Davidson, “Highly concurrent scalar processing,” in Proc. 13th Ann. Int'l Symp. Computer Architecture, (Tokyo, Japan), June 1986.
A. Nicolau, “Percolation scheduling: a parallel compilation technique,” Technical report TR-678, Department of Computer Science, Cornell University, Ithaca, NY, May 1985.
K. Ebcioĝlu, “Some design ideas for a VLIW architecture for sequential-natured software,” in Proceedings of the IFIP Working Group 10.3 Working Conference on Parallel Processing, (Pisa, Italy), pp. 3–21, North Holland, 1988. (published as Parallel Processing, M. Cosuard, et al., (eds).).
J. A. Fisher, “Global code generation for instruction-level parallelism: Trace Scheduling-2,” Tech. Rep. HPL-93-43, Hewlett-Packard Laboratories, June 1993.
Proc. 29th Ann. Int'l Symp. on Microarchitecture, (Paris, France), Dec. 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Banerjia, S., Havanki, W.A., Conte, T.M. (1997). Treegion scheduling for highly parallel processors. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds) Euro-Par'97 Parallel Processing. Euro-Par 1997. Lecture Notes in Computer Science, vol 1300. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0002855
Download citation
DOI: https://doi.org/10.1007/BFb0002855
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63440-9
Online ISBN: 978-3-540-69549-3
eBook Packages: Springer Book Archive