Memory Page Access Instrumentation for Energy Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing disparity between compute throughput and memory bandwidth limits the performance of memory access-intensive applications, as conventional solutions rely on explicit data placement and program execution management, which consume energy and memory bandwidth.
Innovation Solution
The generation of memory access profiles to co-locate data near processing units, reducing memory access energy by minimizing distances to access remote data, achieved through partitioning and mapping execution thread arrays and memory pages across processing units, using bipartite undirected graphs to minimize inter-partition traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is explicitly migrated between processing units or local memories to co-locate data, then memory access performance is improved, but memory bandwidth and energy are consumed
Solution Approach 1:
The system performs preliminary profiling of memory access patterns during program execution to identify which data pages are frequently accessed by which processing units. This advance information is then used to guide data placement decisions, allowing the system to proactively co-locate data before access occurs rather than migrating data reactively, thereby reducing unnecessary data movement and energy consumption.
Solution Approach 2:
The system enables processing units to self-optimize their data access by providing them with profiles of their own memory access patterns. Each processing unit can independently determine which data pages it frequently accesses and request their placement in its local memory, eliminating the need for centralized data migration management and reducing the energy overhead of explicit data movement operations.
2Speed
If data is explicitly migrated between processing units or local memories to co-locate data, then memory access performance is improved, but memory bandwidth is consumed
Solution Approach 1:
The system performs preliminary profiling of memory access patterns during program execution to identify which data pages are frequently accessed by which processing units. This advance information is then used to guide data placement decisions, allowing the system to proactively co-locate data before access occurs rather than migrating data reactively, thereby reducing unnecessary data movement and energy consumption.
Solution Approach 2:
The system enables processing units to self-optimize their data access by providing them with profiles of their own memory access patterns. Each processing unit can independently determine which data pages it frequently accesses and request their placement in its local memory, eliminating the need for centralized data migration management and reducing the energy overhead of explicit data movement operations.
3Productivity
If memory pages are evenly distributed across partitions, then load balancing is achieved, but inter-partition traffic increases
Solution Approach 1:
The system transitions from uniform data distribution to quality-aware data placement, where data pages are distributed based on their access patterns and affinity to specific processing units. Frequently accessed data pages are placed in the local memory of the processing units that access them most often, while less frequently accessed pages are distributed to other partitions. This non-uniform placement strategy reduces inter-partition traffic by keeping hot data local, while still maintaining overall load balance across the system.
Solution Approach 2:
The system changes the distribution parameter from uniform allocation to access-pattern-based allocation. By using memory access profiles to determine data placement, the system dynamically adjusts where data pages are located based on actual usage patterns rather than following a fixed even distribution scheme. This parameter change allows the system to optimize for both load balancing and minimized inter-partition communication.
Data Source
AI summary
Embodiments of the present disclosure relate to memory page access instrumentation for generating a memory access profile. The memory access profile may be used to co-locate data near the processing unit that accesses the data, reducing memory access energy by minimizing distances to access data that is co-located with a different processing unit (i.e., remote data). Execution thread arrays and memory pages for execution of a program are partitioned across multiple processing units. The partitions are then each mapped to a specific processing unit to minimize inter-partition traffic given the processing unit physical topology.


