Xing Pan, Frank Mueller North Carolina State University
The Colored Refresh Server for DRAM
1
The Colored Refresh Server for DRAM Xing Pan, Frank Mueller North - - PowerPoint PPT Presentation
The Colored Refresh Server for DRAM Xing Pan, Frank Mueller North Carolina State University North Carolina State University 1 Real-time system Real-Time System requires: Logical Correctness: Produces correct outputs. Temporal
1
Real-Time System requires:
Real-time task
2
Real-time task
Modern NUMA (non-uniform memory access) architectures:
3
Challenge: shared resources
Objective: Isolate cores
Application: mission critical hard real-time
4
Application: mission critical hard real-time
DRAM bank array has: rows+columns of data cells Load the row which contains requested data into Row Buffer
5
DRAM banks can be accessed in parallel
6
Apps on NUMA arch. experience varying execution times due to
7
Local node policy under standard buddy allocation / numa library
Previous Work
8
Bank color (bc) of a physical page
9
Opteron 6128: NN=4, NC=2, NR=2, NB=8, Total of 128 colors Example: page in node 0, channel 1, rank 1 and bank 2
Dynamic Random Access Memory (DRAM)
10
Refresh commands to all DRAM cells periodically issued by DRAM
Distributed Refresh vs. Burst refresh
11
Refresh commands to all DRAM cells periodically issued by DRAM
Distributed Refresh vs. Burst refresh
Retention Time (tRET)
12
tRFC tREFI Retention Time (tRET)
tRET: 64 ms / 32 ms. determined by temperature (85 C) tRFC increases quickly with growing DRAM densities
13
refresh." ACM SIGARCH Computer Architecture News. 2012.
Auto-refresh : recharges all the memory cells within the
14
Auto-refresh : recharges all the memory cells within the
15
As density and size of DRAM grow:
16
As density and size of DRAM grow:
17
Partition DRAM memory at rank granularity
18
Cooperative scheduling real-time tasks and refresh operations
Hierarchical model
19
partition entire DRAM space into two “colors”
refresh lock tasks, and
refresh unlock tasks, and
20
refresh unlock tasks, and
Server model, S(W,A, c, ps , es)
21
Set execution budget to es at time instants k* ps, where k > 0. Any unused execution budget cannot be carried over to next period The refresh server can execute when
22
T1(16ms, 4ms)
23
S1((T1, T2), RM, c1(k0,k1,k2,k3), 16ms , 6ms )
Phases φ of S1 and S2 are tRET/2 and 0, respectively
24
Given a server S(W,A, c , ps , es) [SL03],
25
[SL03] Shin, I. & Lee, I. “Periodic resource model for
Servers + refresh lock/unlock tasks at system level
26
Time Demand Analysis
Off-line algorithm
27
Colored Refresh Server
SimpleScalar
Scheduler & Coloring Tool (from CAMC [SAC’18] work) RTMemController (only to obtain timings, no Ethereal support)
28
Single core processor
JEDEC-compliant DDR3/DDR4 SDRAM
29
The DRAM retention time: tRET=64ms
Malardalen benchmark task set S1( (cnt, lms, st),
30
CRS hides memory latency penalty of auto-refresh,
31
Auto-refresh has increasing probability (more accesses) of
32
Compared to auto-refresh,
33
DDR4 Fine Granularity Refresh (FGR)
CRS exhibits better performance and higher task predictability
34
CRS obtains better performance and higher task predictability
35
[BM10] Bhat, Balasubramanya & Mueller, Frank
Make memory references more predictable w/ coloring
Colored Refresh Server:
36
Supports Core Isolation real-time composability