Exploiting the Role of Hardware Prefetchers in Multicore Processors

Exploiting the Role of Hardware Prefetchers in Multicore Processors

(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 4, No. 6, 2013 Exploiting the Role of Hardware Prefetchers in Multicore Processors Hasina Khatoon Shahid Hafeez Mirza Talat Altaf Computer & Info. Sys. Engg. Dept. Usman Institute of Engg. & Tech. Electrical Engg. Dept. NED Univ. of Engg. & Technology Karachi, Pakistan NED Univ. of Engg. & Tech. Karachi, Pakistan Karachi, Pakistan Abstract—The processor-memory speed gap referred to as Prefetching was almost always beneficial in single core memory wall, has become much wider in multi core processors processors, even though there were some useless prefetches. due to a number of cores sharing the processor-memory As a result, prefetchers now form an integral part of most of interface. In addition to other cache optimization techniques, the the current generation processors. In multicore processors, all mechanism of prefetching instructions and data has been used cores share chip resources that include on-chip memory effectively to close the processor-memory speed gap and lower hierarchy and the processor-memory interface. If all cores the memory wall. A number of issues have emerged when generate prefetch requests in addition to demand requests, a prefetching is used aggressively in multicore processors. The large amount of interference takes place causing contention for results presented in this paper are an indicator of the problems resources. This prefetcher caused contention may result in that need to be taken into consideration while using prefetching performance degradation in multicore processors, especially if as a default technique. This paper also quantifies the amount of degradation that applications face with the aggressive use of prefetchers are used aggressively. Therefore, there is a need to prefetching. Another aspect that is investigated is the investigate the effectiveness of prefetchers in multicore performance of multicore processors using a multiprogram processors under different conditions and for all types of workload as compared to a single program workload while applications. The contribution of this paper is the analysis and varying the configuration of the built-in hardware prefetchers. quantification of the behaviour of applications in the presence Parallel workloads are also investigated to estimate the speedup and absence of prefetchers. The derived results provide and the effect of hardware prefetchers. guidelines for applications to activate prefetchers only when This paper is the outcome of work that forms a part of the they are useful. PhD research project currently in progress at NED University of Engineering and Technology, Karachi. Recent research has focused on improving data prefetching mechanisms, especially for big data analysis and other Keywords—Multicore; prefetchers; prefetch-sensitive; memory streaming applications. Though prefetching pose degradation wall; aggressive prefetching; multiprogram workload; parallel problems in multicore processors, especially when used workload. aggressively, they remain the most effective mechanism to avoid stalls that are caused due to long latency accesses and I. INTRODUCTION contention based delays. This necessitates enhancements in the Multicore processors are the mainstream processors of prefetcher designs that adapt to congestion and dynamically today with the number of cores increasing at a fast pace. A adjust their aggressiveness. Chen et al. in their publications number of issues have emerged in these processors that are [10, 11] have proposed storage efficient data prefetching becoming more acute with the increasing number of cores. A mechanisms and power efficient feedback controlled adaptive large body of publications has accumulated in the last decade prefetchers that are accurate and efficient. Other recent that has summarized these issues. Some of the challenges are enhancements are discussed in Section II. presented in [1]. One of the main issues that directly impacts The rest of the paper is organized as follows. Section II application performance is the large processor-memory speed gives a brief overview of related work. Section III outlines the gap referred to as memory wall by Wulf and Mckee [2] and experimental setup including test programs and specifications elaborated by Weidendorfer [3]. Recent researches have of the experimental platforms. Section IV presents the results sought solution to this problem through on-chip cache and a brief analysis of the results and Section V concludes the hierarchy [4] and novel architectural features like NUCA paper. cache [5]. Other solutions include R-NUCA [6], Victim Replication [7], and Pressure-Aware Associative Block II. RELATED WORK Placement [8]. A detailed summary of the publications related Since prefetching is considered to be an important latency to the memory wall problem is presented in [9]. hiding technique, it has been used effectively in both single One of common solution to the memory wall problem is core processors and single core multiprocessors. Prefetching is prefetching of instructions and data at every level of memory performed in hardware, in software or in both. Software hierarchy. Prefetching is a latency hiding technique that access prefetching is supported by prefetch instructions and requires instructions and data from the next level of memory hierarchy effort by the programmer or the compiler writer. Nataranjan et before the demand for it is actually raised by the processor. al. [12] have explored the effectiveness of compiler directed 157 | P a g e www.ijasca.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 4, No.6, 2013 prefetching for large data accesses in in-order multicore the potential utility of the requests in order to reduce the systems. Since the focus of this work is hardware prefetching, negative effects of prefetching. Wu et al. [22] characterize the this section shall briefly describe some of the recent performance of the LLC (Last Level Cache) management publications related to hardware prefetchers in the context of policies in the presence and absence of hardware prefetching. multicore processors. They propose Prefetch-Aware Cache Management (PACMan) for better and predictable performance. Lee et al. [23] have Prefetchers are beneficial due to the principle of locality, proposed prefetch-aware on-chip networks and network-aware an attribute of software. This is true most of the time in single prefetch designs that is sensitive to network congestion. core architecture, but as pointed out in [13], aggressive Manikantan and Govindarajan [24] have proposed prefetching in multicore processors result in a large amount of performance-oriented prefetching enhancements that include interference giving rise to performance degradation. Ebrahimi focused prefetching to avoid commit stalls. The authors claim et al. [13] have proposed more accurate prefetching with the that this enhancement also improved the accuracy of use of local as well as global feedback by Hierarchical prefetching. Prefetch Access Control (HPAC) to partially alleviate the above problem. Using coordinated prefetching, the authors A number of recent publications have proposed complex compare the results of aggressive prefetching in multicore prefetching mechanisms that take into account various factors processors with that of a single core processor. With dynamic while prefetching code and data [18, 25]. Grannaes et al. [25] control of the prefetch aggressiveness using feedback directed have proposed Delta Correlating Prediction Table (DCPT), a control, they have shown that their technique improves the pefetching heuristics based on the table-based design of system performance by 14%. Reference Prediction Tables (RPT) and the delta correlating design of Program Counter/ Delta Correlating Prefetching Lee et al. [14] have identified degradation in performance (PC/DC) with some improvements. These complex due to congestion in the interconnection network especially prefetching techniques have overheads that cannot be ignored due to prefetch requests in multicore processors. They have as prefetchers incur a significant burden on system resources. proposed to prioritize demand traffic by using TPA (Traffic- Since simple prefetchers have low overheads, they are used Aware Prioritized Arbiter) and TPT (Traffic-Aware Prefetch mostly in current generation processors. For example, the Throttling) to counter the negative effects of prefetch requests. prefetchers used in our experimental platform are simpler [26] Fukumoto et al. [15] have proposed the use of cache-to-cache as compared to the prefetchers discussed in [18, 25]. transfer to reduce the overall congestion on the memory-bus interface. III. THE EXPERIMENTAL SETUP Kamruzzaman et al. [16] have proposed a different way of This section gives an account of the test programs, the using prefetching especially for applications like the legacy experimental platforms and the hardware prefetchers present software that are inherently sequential in nature and cannot in these experimental platforms. use all cores of the CMP. They have suggested the use of prefetch threads as helper threads to run on unused cores and Although prefetching code and data have been make use of the injected parallelism for prefetching code and significantly effective in single core processors, some of the data. Using thread migration techniques, an overall recent publications have pointed out an anomaly that takes improvement of 31% to 63% is shown

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us