• DocumentCode
    288946
  • Title

    A comparative evaluation of software techniques to hide memory latency

  • Author

    John, Lizy Kurian ; Reddy, Vinod ; Hulina, Paul T. ; Coraor, Lee D.

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Univ. of South Florida, Tampa, FL, USA
  • Volume
    1
  • fYear
    1995
  • fDate
    3-6 Jan 1995
  • Firstpage
    229
  • Abstract
    Software oriented techniques to hide memory latency in superscalar and superpipelined machines include loop unrolling, software pipelining, and software cache prefetching. Issuing the data fetch request prior to actual need for data allows overlap of accessing with useful computations. Loop unrolling and software pipelining do not necessitate microarchitecture or instruction set architecture changes, whereas software controlled prefetching does. While studies on the benefits of the individual techniques have been done, no study evaluates all of these techniques within a consistent framework. This paper attempts to remedy this by providing a comparative evaluation of the features and benefits of the techniques. Loop, unrolling and static scheduling of loads is seen to produce significant improvement in performance at lower latencies. Software pipelining is observed to be better than software controlled prefetching at lower latencies, but at higher latencies, software prefetching outperforms software pipelining. Aggressive prefetching beyond conditional branches can detrimentally affect performance by increasing the memory bandwidth requirements and bus traffic
  • Keywords
    cache storage; parallel machines; pipeline processing; processor scheduling; program compilers; software performance evaluation; aggressive prefetching; bus traffic; comparative software evaluation; conditional branches; data fetch request; instruction set architecture; loop unrolling; memory bandwidth requirements; memory latency; microarchitecture; performance; software cache prefetching; software controlled prefetching; software oriented techniques; software pipelining; static scheduling; superpipelined machines; superscalar machines; Bandwidth; Computer aided instruction; Computer architecture; Computer science; Delay; Hardware; Microarchitecture; Pipeline processing; Prefetching; Processor scheduling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    System Sciences, 1995. Proceedings of the Twenty-Eighth Hawaii International Conference on
  • Conference_Location
    Wailea, HI
  • Print_ISBN
    0-8186-6930-6
  • Type

    conf

  • DOI
    10.1109/HICSS.1995.375390
  • Filename
    375390