SciELO - Scientific Electronic Library Online

 
vol.8 issue1Dynamical Model for a Real-Time Task author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Computación y Sistemas

On-line version ISSN 2007-9737Print version ISSN 1405-5546

Comp. y Sist. vol.8 n.1 Ciudad de México Jul./Sep. 2004

 

Resumen de tesis doctoral

 

Exposing Instruction Level Parallelism in the Presence of Loops

 

Exponiendo el Paralelismo a Nivel de Instrucciones en Presencia de Bucles

 

Graduated: Marcos R. de Alba
Department of Electrical and Computer Engineering
Northeastern University
Boston MA 02115

e–mail: mdealba@ece.neu.edu

Advisor: Dr. David Kaeli
Computer Architecture Research Laboratory (NUCAR)
Northeastern University
Boston MA 02115

 

Graduated on May 1, 2004

 

Abstract

In this thesis we explore how to utilize a loop cache to relieve the unnecessary pressure placed on the trace cache by loops. Due to the high temporal locality of loops, loops should be cached. We have observed that when loops contain control flow instructions in their bodies it is better to collect traces on a dedicated loop cache instead of using trace cache space. The traces of instructions within loops tend to exhibit predictable patterns that can be detected and exploited at run–time. We propose to capture dynamic traces of loop bodies in a loop cache. The novelty of this loop cache consists of dynamically capturing loop iterations with conditional branches and correlating them to unique loops. Once loop iterations are cached in the loop cache, their bodies can be provided by the loop cache without polluting the trace cache and without any instruction cache accesses. The proposed loop cache includes hardware capable of dynamically unfolding loops such that large traces of instructions are accessed in a single loop cache interrogation.

We evaluate our loop cache and compare it against a baseline machine with a larger first–level instruction cache. We also consider how the loop cache can compliment the introduction of a trace cache by filtering out loop traces that needlessly dominate the trace cache space. We quantify the benefits provided by a fetch engine equipped with the proposed loop cache and unrolling hardware. In our experiments we explore the design space of a loop cache and associated unfolding hardware and evaluate its efficiency to detect independent iterations in loops in SPECint2000, Media–Bench and MiBench applications. We show that trace cache efficiency and ILP can be significantly improved using our loop caching scheme. This improvement translates into up to 38% performance speedup when compared to a baseline machine with a loop cache and no trace cache to a baseline machine with no loop cache. Further experiments show up to a 16% speedup on a hybrid machine with loop and trace cache compared to a machine with a larger 1 cache and a trace cache.

 

Resumen

Este trabajo se concentra en el análisis y detección de bucles para incrementar el paralelismo a nivel de instrucciones a través de la especulación de visitas enteras a los bucles. En la tesis se comparan las técnicas propuestas con otras existentes y se proponen técnicas híbridas que explotan las características benéficas de los mecanismos involucrados. Se lleva a cabo un estudio dinámico de las propiedades de muchos conjuntos de aplicaciones con el fin de determinar las características óptimas del hardware propuesto. Tal incluye una memoria cache especialmente diseñada para el almacenamiento y manejo óptimo de instrucciones pertenecientes a los bucles. Proveyendo miles de instrucciones para especulación en la memoria cache de bucles se obtienen aceleraciones en la mayoría de las aplicaciones con el mismo presupuesto de hardware. Se presenta de forma detallada el estudio exhaustivo de técnicas similares así como los detalles del diseño del hardware propuesto. Se justifican cada una de las características basadas en estudios dinámicos de las propiedades de las aplicaciones. También se analizan posibles formas de proveer mayor ganancia en el rendimiento y se presentan alternativas de adaptación del hardware en arquitecturas futuras y en procesadores comerciales existentes.

 

DESCARGAR ARTÍCULO EN FORMATO PDF

 

References

1. K. McKinley, S. Carr, and C.–W. Tseng, "Improving data locality with loop transformations," ACM Transactions in Programming Languages and Systems, vol. 18, no. 4, pp. 424–53, 1996.        [ Links ]

2. K. S. McKinley and O. Temam, "Quantifying loop nest locality using SPEC'95 and the Perfect benchmarks," ACM Transactions on Computer Systems, vol. 17, no. 4, pp. 288–336,1999.        [ Links ]

3. R. Kessler, "The alpha 21264 microprocessor," in IEEE Micro, March–April 1999, pp. 24–36.        [ Links ]

4. S.–A. Chi, R.–M. Shiu, J.–C. Chiu, S.–E. Chang, and C.–P. Chung, "Instruction cache prefetching with extended btb," in IEEE Proc. of Intl. Conf. Parallel and Distributed Systems, December 1997, pp. 360–365.        [ Links ]

5. W.–C. Hsu and J. E. Smith, "A performance study of instruction cache prefetching methods," in IEEE Transactions on Computers, vol. 47, no. 5, May 1998.        [ Links ]

6. T.–Y. Yeh, D. T. Marr, and Y. N. Patt, "Increasing the instruction fetch rate via multiple branch prediction and a branch address cache, "in Proc. of the International Conference on Supercomputing, Tokyo, Japan, July 1993, pp. 67–76.        [ Links ]

7. T. M. Conte, K. N. Menezes, P. M. Mills, and B. A. Patel, "Optimization of instruction fetch mechanisms for high issue rates," in Proc. of the 22nd Annual International Symposium on Computer Architecture, Santa Margherita Ligure, Italy, 1995, pp. 333–344.        [ Links ]

8. R. Rosner, A. Mendelson, and R. Ronen, "Filtering techniques to improve trace–cache effciency," in Proc. of the International Conference on Parallel Architecture and Compilation Techniques, Barcelona, Spain, September 2001.        [ Links ]

9. J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 2nd ed. Palo Alto, CA: Morgan Kaufmann, 1995.        [ Links ]

10. Aiken and A. Nicolau, "Loop quantization: An analysis and algorithm," March, 1987.        [ Links ]

11. J. Davidson and S. Jinturkar, "Improving instruction–level parallelism by loop unrolling and dynamic memory disambiguation, "in Proc. of the 28th Annual International Symposium on Microarchitecture. New York, NY: ACM Press, 1995, pp. 125–132.        [ Links ]

12. K. S. S–T. Pan and J. T. Rahmeh, "Correlation–based branch prediction," Computer Engineering Research Center, University of Texas at Austin, Tech. Rep. UT–CERC–TR–JTR91–01, August 1991.        [ Links ]

13. S.–T. Pan, K. So, and J. T. Rahmeh, "Improving the accuracy of dynamic branch prediction using branch correlation," in Proc. of the fifth International Conference on Architectural Support for Programming Languages and Operating System, vol. 27–9. New York, NY: ACM Press, 1992, pp. 76–84.        [ Links ]

14. T. Y. Yeh and Y. N. Patt, "A comparison of dynamic branch predictors that use two levels of branch history," in Proc. of the 20th Annual International Symposium on Computer Architecture, Goteborg, Sweden, 1993, pp. 257–266.        [ Links ]

15. M. R. de Alba and D. R. Kaeli, "Runtime predictability of loops," in Proc. of the Fourth Annual IEEE International Workshop on Workload Characterization, I. C. Society, Ed., Austin, TX, December 2001, pp. 91–98.        [ Links ]

16. D. Burger, T. M. Austin, and S. Bennett, "Evaluating future microprocessors: The simplescalar tool set," University of Wisconsin, Madison, Tech. Rep. CS–TR–1996–1308, 1996.        [ Links ]

17. G. J. M. Parcerisa, J. Sahuquillo and J. Duato, "Effcient interconnects for clustered mi–croarchitectures, "in Proc. of the Int. Conf. on Parallel Architectures and Compilation Techniques (PACT 2002), Charlottesville, Virginia, USA, September 2002, pp. 291–300.        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License