Waterfall Counters for Accurate AVF Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hardware counters with a limited number of bits face accuracy issues when dealing with rapidly changing values during program execution, leading to performance problems in application performance.
Innovation Solution
The implementation of waterfall counters, which combine small, fast local counters in SRAM cache with larger, global counters in off-chip memory, allowing for full-accuracy event counting without the high bandwidth typically required for large counter arrays, and providing a hardware-based runtime estimator for architectural vulnerability factor (AVF).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a lower number of bits is used in hardware counters, then storage overhead is reduced, but accuracy is lost for values that change rapidly during program execution
Solution Approach 1:
The patent divides the counter system into multiple segments: local counters (small, fast, in SRAM cache) and global counters (larger, slower, in off-chip memory). Each segment handles different aspects of counting, allowing the system to achieve both low storage overhead in critical paths and high accuracy through the combination of segments.
Solution Approach 2:
The patent introduces a hierarchical dimension to the counter system, organizing counters at different levels (local vs. global) with different characteristics. This dimensional organization allows simultaneous optimization of speed (local counters) and capacity/accuracy (global counters) without direct trade-off.
2Measurement precision
If larger counter arrays are implemented to maintain accuracy, then measurement precision is improved, but high bandwidth is required which increases device complexity
Solution Approach 1:
By segmenting the counter array into local and global portions, the patent reduces the bandwidth requirement for the critical path (local counters) while maintaining overall accuracy through periodic updates from global counters. The segmentation allows each part to be optimized independently for its specific function.
Solution Approach 2:
The local counters act as intermediaries between the fast event generation logic and the larger global counters. They buffer and aggregate events before transferring to global counters, reducing the direct bandwidth burden on the global counter array while maintaining accuracy.
3Measurement precision
If local counters are updated frequently to global counters, then accuracy is maintained, but productivity is reduced due to increased update overhead
Solution Approach 1:
The patent implements periodic updates from local counters to global counters rather than continuous updates. This periodic action maintains accuracy over time while significantly reducing the update overhead and improving productivity by allowing local counters to operate autonomously between update cycles.
Solution Approach 2:
The system uses partial updates where only the necessary portions of counter data are transferred periodically, rather than continuously updating all counter values. This reduces the excessive action of frequent full updates while maintaining sufficient accuracy for the application.
Data Source
AI summary
Described herein are waterfall counters and an application to architectural vulnerability factor (AVF) estimation. Waterfall counters count events that are generated at event generation logic. The waterfall counters are a combination of small, fast counters local to the event generation logic, and larger, global counters in fast memory. The local counters can be saturation or oscillation counters. When a local counter is saturated or evicted, the value from the local counter is added to the global counter. This addition can be done using logic local to the local or global counter. The waterfall counters provide a full-accuracy event count without the high bandwidth that is needed to maintain the global counters. An AVF estimation can be determined based on ratios from counts of read events, write events, and total events using the waterfall counters.


