Source-linked AI summary

Dark Memory and Accelerator-Rich System Optimization in the Dark Silicon Era

Ardavan Pedram, Stephen Richardson, Sameh Galal, Shahar Kvatinsky, Mark A. Horowitz

arXiv:1602.04183v3cs.ARcs.PF

TL;DR

Dark Silicon poses the challenge of using transistors that cannot all operate at once, while memory accesses can constrain system energy efficiency. The paper uses Pareto curves to evaluate compute, accelerator, and memory trade-offs; it concludes that high performance requires Dark Memory and algorithms designed for locality and parallelism.

  • Problem

    The paper addresses how to improve performance when power constraints prevent all available transistors from operating concurrently and memory accesses limit energy efficiency.

    Source: §I · pp. 1–2
  • Method

    The paper uses Pareto curves in energy/op and mm2/(op/s) space to evaluate compute, accelerator, and memory-system choices under power, performance, and area constraints.

    Source: §I · p. 2, A. Joules/op and mm2/(ops/s) Metrics · p. 5, B. Accelerator Optimization · p. 6
  • Results

    The analysis concludes that memory accesses create a floor to application energy, so high performance requires DRAM and most lower memory levels to remain dark most of the time.

    Source: §I · p. 2, §V · p. 7
  • Takeaways & Limitations

    Algorithms must be designed for locality and parallelism before hardware is tailored to accelerate them.

    Source: §V · p. 7

Abstract

from arXiv · show

The key challenge to improving performance in the age of Dark Silicon is how to leverage transistors when they cannot all be used at the same time. In modern SOCs, these transistors are often used to create specialized accelerators which improve energy efficiency for some applications by 10-1000X. While this might seem like the magic bullet we need, for most CPU applications more energy is dissipated in the memory system than in the processor: these large gains in efficiency are only possible if the DRAM and memory hierarchy are mostly idle. We refer to this desirable state as Dark Memory, and it only occurs for applications with an extreme form of locality. To show our findings, we introduce Pareto curves in the energy/op and mm$^2$/(ops/s) metric space for compute units, accelerators, and on-chip memory/interconnect. These Pareto curves allow us to solve the power, performance, area constrained optimization problem to determine which accelerators should be used, and how to set their design parameters to optimize the system. This analysis shows that memory accesses create a floor to the achievable energy-per-op. Thus high performance requires Dark Memory, which in turn requires co-design of the algorithm for parallelism and locality, with the hardware.

I. INTRODUCTION

Dark Silicon makes the central design challenge how to use transistors that cannot all operate concurrently. The introduction argues that specialization must be paired with attention to memory energy, and presents Pareto-based metrics for system optimization.

I. INTRODUCTION

  • When voltage scaling stopped, using all available gates concurrently could exceed the power budget, giving rise to Dark Silicon.The passage says gate energy then scaled at best by α, so building α^-2 processors would increase power by α^-1.Source: §I · p. 1
  • Shrink builds only gates usable concurrently under a power constraint, lowering manufacturing cost while significantly limiting performance improvement.The passage notes that the resulting die area shrinks with technology scaling.Source: §I · p. 1
  • Dim techniques reduce gate or clock energy, but generally reduce performance per unit area and must outperform simple die shrinking overall.The paper says Pareto curves and design power, performance, and area constraints can determine the optimal amount of dimming.Source: §I · p. 1
  • Specialized accelerators can be orders of magnitude more energy efficient than CPUs or GPUs, but memory-system power limits the gains from changing compute alone.The introduction says memory contributes well over 50% of total system power, so changing the compute engine without improving memory yields less than 2x energy-efficiency improvement.Source: §I · pp. 1–2
  • The paper focuses on mainstream CMOS because new technologies take time to reach manufacturing scale and no serious competitor is available today.It also says it will briefly examine potential new technologies.Source: §I · p. 2
  • Energy/op and mm2/(op/s) provide a framework for choosing shrink, dimming, and specialization and for evaluating memory darkness and cache sizes.The framework also supports trade-offs between memory and specialized processors and comparisons between applications with different compute and locality patterns.Source: §I · p. 2

II. WHY DARK MEMORY IS ESSENTIAL

Data movement can dominate computation’s energy cost, and increasing an algorithm’s communication complexity can increase both wire length and the memory needed for intermediate values. The section illustrates how added dependencies enlarge the live-value set that must be stored.

II. WHY DARK MEMORY IS ESSENTIAL

  • The paper identifies moving data to and from memory, rather than computation, as the main energy cost in chip design.Table I presents energy per operation for various operations in 45 nm, with the second column in each group showing energy multiples relative to a single add.Source: §II · p. 2, Table I · p. 2
  • The live set of values in a sequential execution determines the required memory, and added dependencies introduce two registers at each indicated cut.Figure 1 illustrates added dependencies from nodes 1 to 9 and 2 to 7.Source: Figure 1 · p. 2
  • As communication complexity grows, wires become longer and more energy-intensive, while serialized execution must store intermediate results in memory.The memory needed is related to the algorithm’s communication complexity, so energy increases with that complexity.Source: §II · p. 2

A. Memory Energy

Memory access energy can rival or exceed computation, making locality and a high on-chip hit rate central to energy efficiency. Memory hierarchy size must balance access savings against area cost and SRAM leakage.

A. Memory Energy

  • A 16-bit fetch from a 4K-entry memory block costs over 10x the energy of a multiply, while memory access energy grows roughly with the square root of memory size.Fetch width has a weaker effect: moving from 16- to 64-bit fetches changes energy by 1.5x.Source: A. Memory Energy · pp. 2–3
  • For 16-bit arithmetic, three fetches from even a 16-entry register file cost 36pJ, exceeding the 18pJ cost of a simple add.A normal operation requires two operand fetches and one result fetch.Source: A. Memory Energy · p. 3
  • Because DRAM access energy is often two orders of magnitude above local-memory access energy, on-chip hit rate must exceed 99% to keep DRAM from dominating memory energy.Operand-fetch cost also includes loading values into and storing results from the register file.Source: A. Memory Energy · p. 3
  • Larger memory hierarchies reduce DRAM activity, but die cost and SRAM leakage constrain size; leakage and access energy together create a minimum memory cost set by application locality.In low-activity devices, minimizing leakage can shift the optimum toward smaller memories and higher DRAM activity.Source: A. Memory Energy · p. 3
  • Figure 2 reports operations per second per watt when one operand comes from the indicated memory and other operands come from the register file; even 4Kword memory throttles 16-bit operations.Its setup assumes operations cascade, with each output stored in the register file and reused as the next operation's operand.Source: Figure 2 · p. 3, A. Memory Energy · p. 3
  • 10x GOPS/W when going from Mult to 4K SRAM, versus a drop from about 45 GOPS/W Mult to 15 GOPS/W 4K SRAM for 64-bit operations.For 64-bit FP, last-level-cache and DRAM accesses have a dramatic effect; memory parallelism does not change energy per access or peak bandwidth in a power-limited system.Source: A. Memory Energy · p. 3

B. Emerging Memory Technologies

Emerging memory technologies may offer dense, low-leakage memories, but their long address and data wires still make accesses costly relative to computation. The paper therefore emphasizes minimizing DRAM accesses and maximizing chip-level locality before accelerator hardware design.

B. Emerging Memory Technologies

  • Even emerging dense, low-leakage memory technologies retain long wires and significant energy costs relative to computation, so they must be used infrequently.The need for dark memory applies to reasonable memory solutions in the foreseeable future.Source: B. Emerging Memory Technologies · p. 3
  • The first part of accelerator design is finding an algorithm that minimizes DRAM accesses and has high chip-level locality, especially after parallelization.The paper frames this algorithm search as preceding hardware design.Source: B. Emerging Memory Technologies · p. 3

III. ALGORITHMIC OPTIMIZATION

Algorithm optimization prioritizes reducing DRAM and low-level cache accesses, then creating on-chip parallelism. Blocking and, when needed, lower-communication algorithms can improve energy efficiency even if they add computation.

III. ALGORITHMIC OPTIMIZATION

  • Algorithm optimization primarily minimizes DRAM and low-level cache accesses, then creates parallelism for on-chip hardware to exploit.Blocking splits and reorders loops to increase locality, and loops can be unrolled in hardware to create parallelism.Source: §III · pp. 3–4
  • When blocking and loop transformations are insufficient, a lower-communication approach may use more computation yet remain more energy efficient when communication dominates energy.The paper presents this as a conditional trade-off, not a universal benefit.Source: §III · p. 4

A. Exploiting Locality and Blocking

Blocking reduces GEMM's repeated matrix reads by keeping submatrices in on-chip memory. Parallel execution can reduce strictly local memory energy, but shared-data communication can offset those gains.

A. Exploiting Locality and Blocking

  • Blocking GEMM into on-chip b × b submatrices reduces DRAM accesses from repeated rereads to 2n^3/b + 2n^2, and blocking can also apply recursively through the memory hierarchy.The added on-chip memory increases chip area and power while reducing system power by keeping DRAM dark.Source: A. Exploiting Locality and Blocking · p. 4, Figure 3 · p. 4

B. Sequential to Parallel

  • Parallel execution generally lowers energy for strictly local memory by partitioning it into smaller memories embedded in parallel units, while shared-data memory energy generally rises.The paper identifies locality as important when mapping applications to parallel hardware.Source: B. Sequential to Parallel · p. 4
  • In parallel GEMM, distributing B to all cores can cost more energy than fetching it from memory, so parallel algorithms should limit inter-unit communication or keep it physically local.The energy to distribute the data is proportional to the square root of total core area.Source: B. Sequential to Parallel · p. 4

C. Changing the nature of the algorithm

Improving locality and parallelism can require changing the algorithm, not just blocking it: variants, simplifications, and relaxed constraints alter computation and communication trade-offs. The examples span sparse solvers, communication-avoiding methods, mixed precision, and randomized algorithms.

C. Changing the nature of the algorithm

  • Algorithm variants can change locality and performance across memory-hierarchy levels; FFT exploits DFT symmetries to reduce computation complexity.The cited examples include different linear-algebra variants, and the FFT.Source: C. Changing the nature of the algorithm · p. 4
  • Sparse direct solvers use reordering, graph coloring, and dependence trees to preserve non-zero patterns, avoid zero computations, and improve parallelism.For matrices whose graphs can be embedded in at most three dimensions, computations drop from O(N^3) dense methods to at most O(N^2).Source: C. Changing the nature of the algorithm · pp. 4–5
  • Communication-avoiding algorithms replace memory-bound iterative-solver kernels with GEMM-like kernels, improving locality and performance at the cost of slightly slower convergence and more computation.Iterative solvers use cheaper O(N^2) computations and, for well-conditioned matrices, converge after a few iterations; sparse matrix-vector multiplication is a memory-bound kernel example.Source: C. Changing the nature of the algorithm · p. 5
  • Iterative refinement combines high-precision residual computation with lower-precision, less-sensitive solve kernels and can speed computation by up to two orders of magnitude.The approach generalizes to least squares, eigenvalue and singular-value computations, and sparse solutions such as conjugate gradient.Source: C. Changing the nature of the algorithm · p. 5
  • Randomized algorithms can select a random subset of input data to reduce computation while still converging to a desired result,,.They are increasingly used where approximate but fast results are desired, including machine learning and PCA.Source: C. Changing the nature of the algorithm · p. 5

IV. METRICS FOR ENERGY CONSTRAINED COMPUTING

The paper frames energy-constrained SoC design as choosing among hardware configurations for a data-parallel problem under performance, power, and area objectives. It reduces the design space to energy/op versus area per throughput and identifies potentially optimal designs.

IV. METRICS FOR ENERGY CONSTRAINED COMPUTING

  • For data-parallel SoC design, area, power, and performance define a 3-D design space from which dominated configurations can be removed.The stated dominated cases include equal area and power with lower performance, equal performance and area with higher energy, or equal performance and energy with larger area.Source: §IV · p. 5
  • Chip area remains a design constraint because it affects costs at high production volumes and imposes limits on low-volume parts.The passage notes sales volumes of 10^6 parts when describing the high-volume cost concern.Source: §IV · p. 5
  • Fig. 4 maps fused-FMADD design variations, with its feasible-space left edge identifying designs optimal for some design constraints [36].The dots vary microarchitecture, pipeline depth, gate sizing, cell libraries, and supply voltage; most designs are strictly worse than another in area or energy.Source: Figure 4 · p. 5
  • The remaining potentially optimal designs form a 2-D space of energy/op versus mm2/(op/s) after area and power are divided by throughput.This conversion relies on the assumption that throughput can be doubled by doubling hardware, area, and power.Source: §IV · p. 5

A. Joules/op and mm2/(ops/s) Metrics

The section uses energy/op and area per throughput to represent design trade-offs and identify feasible optima. Pareto curves capture how dimming and added memory hierarchy levels shift energy and area, while consistent operation definitions are needed to compare algorithms.

A. Joules/op and mm2/(ops/s) Metrics

  • A fused-FMADD design space can be characterized by a Pareto curve whose points trade energy/op against compute density across microarchitecture and implementation choices.Designs with higher energy/op at equal compute density, or higher area cost at equal energy/op, cannot be optimal.Source: A. Joules/op and mm2/(ops/s) Metrics · p. 5
  • Dimming moves designs toward lower energy/op but slower operation, while adding a memory-hierarchy level may lower access energy while increasing area.Both effects contribute additional design points to the Pareto curve.Source: A. Joules/op and mm2/(ops/s) Metrics · p. 5
  • Fig. 5 identifies an optimal design point from a throughput-energy trade-off curve and maps achievable throughput against area and power under stated constraints.The caption gives Amax = 2 cm2, Pmax = 60 W, and Dmax = 50 W/cm2.Source: A. Joules/op and mm2/(ops/s) Metrics · p. 5, Figure 5 · p. 6
  • (energy/op) / (mm2/(ops/s)) = Pmax/Amax, and the resulting performance is Amax /εA.The passage says other objectives, including total cost of ownership, can also be mapped to a curve in this space.Source: A. Joules/op and mm2/(ops/s) Metrics · p. 6
  • Across algorithmic implementations, op must be defined invariantly; FLOPs alone can mislead comparisons between sparse and dense algorithms.The passage explains that a dense implementation may use fewer energy and area per FLOP yet require many more FLOPs than a sparse solver.Source: A. Joules/op and mm2/(ops/s) Metrics · p. 6

B. Accelerator Optimization

The accelerator framework compares energy and area trade-offs to guide allocation between compute engines and memory. For GEMM, the resulting system designs balance compute and memory energy, while discrete block sizes constrain how finely area can be reassigned.

B. Accelerator Optimization

  • For accelerator evaluation, Pareto curves provide marginal area and energy costs, although fractional compute-unit moves are an approximation.The method considers adding specialized accelerators to minimize machine power within the chip’s area and performance budget.Source: B. Accelerator Optimization · p. 6
  • An accelerator can improve machine energy at the same compute density when it has lower energy/op than the base machine, within the existing area and performance budget.The argument assumes base-machine and accelerator area scale with performance, so moving computation to the accelerator frees area for it.Source: B. Accelerator Optimization · p. 6
  • With smoothly partitionable compute engines, optimal area allocation balances the marginal energy/op cost of the two units.If marginal costs differ, moving work from the higher-cost unit to the lower-cost one saves energy; for specialized accelerators, area can instead move in the opposite direction.Source: B. Accelerator Optimization · p. 6

C. Non-Scalable Objects

  • Real compute blocks usually cannot be resized continuously, so accelerator allocation becomes a coarser mixed-integer problem.The proposed search tests whether resizing one unit can free enough area for a second to reach a more energy-efficient design, or uses the area to lower the first unit’s energy cost.Source: C. Non-Scalable Objects · p. 6
  • Memory hierarchy levels near DRAM, including the last-level cache and sometimes L2, are shared rather than scaling with compute throughput.Their Pareto curve uses average memory energy per processor op against area; larger area can reduce memory cost by filtering more DRAM accesses.Source: C. Non-Scalable Objects · p. 6
  • Across GEMM system designs with nearly 10x variation in total power, compute energy and memory energy are roughly 50/50 in most cases.The memory Pareto curve spans about 1 nJ/FMADD to around 20 pJ/FMADD as area changes from 0 to 100mm2; small-area solutions use high-compute-density FMADD designs, while larger memory allocations use area-inefficient, lower-energy FMADD designs.Source: C. Non-Scalable Objects · p. 7

V. CONCLUSION

Memory fetch energy limits application efficiency even with highly efficient accelerators, so algorithms must be designed for locality and parallelism before hardware specialization. Pareto curves evaluate accelerator, memory, and algorithm trade-offs across performance, power, and die area.

  • High memory-fetch energy limits application efficiency regardless of accelerator efficiency.Source: §V · p. 7
  • Algorithms must be (re)written for both locality and parallelism before hardware is tailored to accelerate them.Source: §V · p. 7
  • Pareto curves in energy/op and mm2/(op/s) evaluate accelerator, memory-system, and algorithm trade-offs in performance, power, and die area.Source: §V · p. 7
Loading 1602.04183v3…