• Tidak ada hasil yang ditemukan

Improving the Performance and Energy Efficiency of GPGPU Computing through Adaptive Cache and

N/A
N/A
Protected

Academic year: 2023

Membagikan "Improving the Performance and Energy Efficiency of GPGPU Computing through Adaptive Cache and"

Copied!
95
0
0

Teks penuh

With a loop-accurate GPGPU simulator [16], we provide a quantitative evaluation of advanced cache indexing schemes. Specifically, we quantify the performance and energy efficiency of advanced cache indexing schemes for data L1 and cache L2 of the GPGPU architecture. Section IV presents the IACM architecture and compares its performance and energy efficiency with the baseline and state-of-the-art architecture.

Baseline GPGPU Architecture

Performance Pathologies of GPGPU Caches

In GPGPU computing, the hardware resources that often cause drastic performance degradation due to conflicts are cache lines, MSHR entries, and missed queue entries. A reservation error occurs when a memory operation cannot proceed due to an error reserving one of the above-mentioned hardware resources. Specifically, a failed reservation of a cache line for a memory operation occurs when all cache lines in the set associated with the memory operation are currently reserved for other ongoing memory operations.

Heterogeneous Memory Systems

The reason we distinguish intra-warp and inter-warp interferences is because different cache management techniques must be used to reduce performance pathologies depending on the interference, which will be discussed in the later sections. In contrast, the other proposals require major changes to the GPU and/or CPU memory hierarchy [20, 25], which significantly increases the hardware complexity. By enforcing these properties, the selective caching protocol eliminates the need to support cache coherence in the GPGPU caches and requires little or no changes to the GPU and CPU memory hierarchy [19].

Motivation

III Quantifying the Performance and Energy Efficiency of Advanced Cache Indexing for GPGPU Computing. If the cache uses an advanced cache indexing scheme that can avoid this cache contention, the overall performance can be significantly improved. For example, adaptive cache indexing may indicate that bits B14 through B18 are very effective at avoiding pre-cache contention based on runtime information, so use them as index bits.

Static Cache Indexing

The overhead of RXI is expected to be low because RXI requires the same number of XOR gates to calculate the index bits for the same cache configuration as BXI. The main difference between BXI and RXI is that RXI uses higher bits to construct some of the indexing bits (eg, A19 for I4). Furthermore, because the hardware logic required to compute the index is quite complex (e.g., XOR gate trees) and is on the critical path, PLI can increase cache hit times [30 ].

Adaptive Cache Indexing

The bit position MRP is calculated as the average of the MPs across all address groups. If the new index bit is different from the victim bit, all cache lines are in a non-existent state. At time 3, data is received from the interconnect network and the state of the cache line changes to an invalid state.

Figure 6: The overall execution flow of the adaptive cache indexing scheme B 2 B 1 B 0
Figure 6: The overall execution flow of the adaptive cache indexing scheme B 2 B 1 B 0

Evaluation

Similar to the performance results, the energy consumption of BFS and BT remains unaffected by the ACI schemes. Using these configurations, we quantify the additional performance and energy efficiency gains of the ACI schemes applied to the L2 cache. To quantify the additional performance gain of the ACI schemes applied to the L2 cache, we report the results with the schemes applied only to the L1 data cache and both the L1 data and L2 caches.

In contrast, ACI schemes significantly reduce the power consumption of SC, BFS, and ATAX when they are applied to both L1 data and L2 cache. Interestingly, ACI schemes applied to the L2 cache reduce both the energy score and energy consumption for BFSandATAX. We now investigate the sensitivity of the performance of ACI schemes to L1 data cache association.

We intuitively quantify how the performance improvement of ACI schemes changes when the underlying L1 data cache is increased with high associativity. Figure 21(a) shows the ratio of IPC7 ACI schemes against the conventional indexing scheme as L1 data cache. Next, we investigate the sensitivity of the performance of ACI schemes to the performance of the L1 data cache.

Finally, we assess the performance sensitivity of the ACI schemes when both the associativity and capacity of the L1 cache scale.

Table 2: Benchmarks Category Name Description
Table 2: Benchmarks Category Name Description

Motivation

The IACM Architecture

The ADI phase dynamically determines the cache indexing bits that can reduce cache thrashing and contention based on GPGPU workload execution time information. The idle phase monitors the behavior of the GPGPU workload without performing any adaptation and restarts the entire adaptation process if it detects a significant phase change of the GPGPU workload. Based on this observation, the remainder of this section focuses on the design and implementation of the ADI-AWL version.

If the current IACM phase is not ADI, no adjustment will be made based on cache access information. During the AWL phase, IACM periodically samples the IPC of the GPGPU workload and dynamically adjusts the active number of deformations based on the trend of IPC changes to find the optimal number of deformations. At the end of the AWL phase, the IACM decides whether to proceed with the ADI phase or the idle phase based on the change in the optimal number of deformations as determined during the AWL phase.

During the idle phase, IACM periodically (i.e., 6250 cycles) samples the IPC of the GPGPU workload without performing any ADI or AWL related activities. The per-core storage overhead of the idle phase is 38 bits, which is required for the registers containing the previous and current IPCs. When a memory object is reloaded into a cache line, the cache line's RPD counter is initialized to an initial value (that is, 4).

Specifically, we report the storage overheads (in bits) for all 16 SIMT cores to implement each of the IACM components by extending the baseline GPGPU architecture discussed in Section 4.3.1.

Figure 22: The baseline GPGPU architecture augmented with IACM
Figure 22: The baseline GPGPU architecture augmented with IACM

Evaluation

Each row is normalized to the base version in which none of the adaptive cache management techniques are used. This performance increase is primarily due to reduced load instruction latency through more efficient use of the L1 data cache with ADI and AWL. This is mainly due to the short execution cycles (ie average cycles) of the BLK cores.

We also see that some of the adaptive cache management techniques are quite inefficient for certain metrics. Contrary to the case with the stream benchmarks, IACM reduces the energy consumption in the ICN and L2 cache by better utilization of the L1 data cache through the adaptive cache management techniques. Figure 30(b) demonstrates that IACM significantly reduces the energy consumption of the crushing benchmarks, especially KM and II.

The performance gains of the AWL-ADI and Parallel versions are lower than those of the ADI-AWL version of IACM due to their inefficiency, as discussed in Section 4.3.2. Therefore, it is important to investigate the sensitivity of the performance and energy efficiency gains of IACM to the memory-related architectural parameters. Figure 35(a) shows the sensitivity of the performance gain of IACM to the L1 data cache capacity when sweeping from 8KB to 64KB.

Figure 35(b) shows the sensitivity of the IACM capacity gain to the associativity of the L1 data cache by pulling it from 2 to 16.

Table 4: Simulation parameters Parameter Value
Table 4: Simulation parameters Parameter Value

Motivation

Design and Implementation

During the execution of the target application, the application monitor records performance counter data (ie L1 data (mG,L1D) and L2 cache (mG,L2), data miss rates, and data traffic to/from the memory partition (BM)). These values ​​are used to identify performance characteristics of the target application, particularly memory bandwidth and latency sensitivity. BLPP determines the optimal allocation ratio (i.e., pOP T,S) for bandwidth-sensitive applications based on the bandwidth of GPU (BG) and CPU (BC) memory nodes [17, 45].

We assume that the corresponding ratios of the memory allocated to the GPU and CPU memory nodes are p and 1−p. The total execution time of the target application is then calculated using Equation 1, where G= p·DB. The total execution time of the bandwidth-sensitive application is minimized if and only if tG = tC.

LG=LG,L1D+mG,L1D·(LG,L2+mG,L2·LG,M) (3) The effective latency of the CPU memory node is calculated as follows – LC =LC,M, where LC,M denotes the access delay of the CPU' one's physical memory and the physical connection between the GPU and the CPU. Given that the effective latency of the GPU memory hierarchy is significantly lower than that of the CPU memory node, BLPP sets the optimal allocation ratio (i.e., pOP T ,I ) of the data located in the GPU memory node for bandwidth-insensitive applications using Equation 4. Finally, based on the classification result, BLPP determines the optimal allocation ratio (pOP T) for the target application using Equation 6. During the execution of the target application, the memory allocator dynamically allocates pages as needed across the heterogeneous memory nodes based on the optimal allocation ratio determined by the memory allocation ratio controller.

With bandwidth sensitive applications, we find that the performance gain of BLPP over the local policy increases as CPU memory bandwidth increases.

Evaluation

We investigate the performance sensitivity of BLPP to the bandwidth ratio of the GPU and CPU memory. Rau, "Pseudo-random interleaved memory," in Proceedings of the 18th Annual International Symposium on Computer Architecture, ser. Parcerisa, “Cache contention miss elimination by xor-based placement functions,” in Proceedings of the 11th International Conference on Supercomputing, ser.

Lee, “Using prime numbers for cache indexing to eliminate conflict misses,” in Proceedings of the 10th International Symposium on High Performance Computer Architecture, ser. Silberstein, “Activepointers: a case for software address translation on gpus,” in Proceedings of the 43rd International Symposium on Computer Architecture, ser. Yang, “A novel cache design for vector processing,” in Proceedings of the 19th Annual International Symposium on Computer Architecture, ser.

Reddi, "Gpuwattch: Enabling energy optimizations in gpgpus," i Proceedings of the 40th Annual International Symposium on Computer Architecture, ser. Rodinia: A benchmark suite for heterogeneous computing," i Proceedings of the 2009 IEEE International Symposium on Workload Characterization (IISWC), ser. Patt, "The v-way cache: Demand based associativity via global replacement," i Proceedings of the 32nd Annual International Symposium on Computer Architecture, ser.

Improving cache management policies using dynamic reuse distances," in Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, see Zhou, "Locality-driven dynamic gpu cache bypassing," in Proceedings of the 29th ACM on International Conference on Supercomputing , ser. Chen, “An efficient compilation framework for cache bypass on gpus,” in Proceedings of the International Conference on Computer-Aided Design, ser.

Table 6: Simulation parameters Parameter Value
Table 6: Simulation parameters Parameter Value

Gambar

Figure 1: The baseline GPGPU architecture
Figure 6: The overall execution flow of the adaptive cache indexing scheme B 2 B 1 B 0
Figure 10: Overall performance results of the ACI schemes applied to the L1 data cache Figure 11 shows that the ACI schemes significantly reduce the energy consumption, especially the conflicting and conflicting and thrashing (C+T) benchmarks
Figure 11: Overall energy results of the ACI schemes applied to the L1 data cache static cache indexing schemes by successfully identifying and utilizing the important bits as the indexing bits based on the runtime information (Section 3.1).
+7

Referensi

Dokumen terkait

Conclusion The results of testing government spending variables during the period 2005 to 2019 shows that government expenditure which includes personnel expenditure, material