Hdw-dv Ud+Rd Lggg Jsh Zh hps://uss.s.ucsc.du/~jzh/ Cmpu Egg, UC S Cuz Ocb 11, 2017
Rsch Ovvw Mmy d Sg Sysms M sch pcs Pcssg Pss I Mmy Mmy Applcs Sysm Sfw Mmy Nwk SW/HW Ifc Rsch ffs Wkld chcz Sfw/hdw cpv mchsms Sfw/hdw fc dsg Hdw-bsd ccls CPU DRAM Nvll Mmy Flsh SSD / dsk Sv 1 Sv 2 Sv 3 Bdgg sfw d hdw dsg 2
Typcl mmy d sg hchy: d g k w s s Mmy Fs cc Pss mmy: c s s p D g S Fs mmy fc + pssc 3
h! Pss mmy s cmg! Hdw Nvll dm-ccss mms (NVRAMs) By-bckd DRAM Sfw NV-DIMM 3D Xp DDR3 Cmpbl MRAM y m m h s l f N DRAM w/ Ul-cpc css y l g s s m s y s NVMM fl FS, A M C S, X A D 4 S, Ex css d Pss-mmy-w Bsysm d PFS, PMFsfw msdysms gy s d v p Fl m Mmp N f h Pss Mm Pss Mmy Supp OS Fl sysm BPFS PMFS Ex4-DAX SCMFS A NOVA Md mcy Ys Ys Ys N Ys Ys D mcy Ys [2] N N N N Ys Amcy [1] N N N N N Ys slf. mclly. c h w sp Pss Mm[1y ] Ech msyc()p smssupdupms d h w cm ly l m d ym Suc pp Ov Fbc ms s w b S, D PF B Aw [2] I 4
h! Pss mmy s cmg! bu ulckg s full pl s sy Pssc Usd b ppy f sg sysms Ad cpy--w, chckpg, c. Nw ds b md h mmy sysm Nv mmy, pssc Sysm Thughpu Pfmc Gp Mmy, w/ pssc Flsh SSD [Zh +, MICRO 13] 5
Oppuy Hdw-dv ud + d Lggg 1: u b C + d d Expl u lx g lgg l c d w 2: u b C g cch xs Lvg bl schm g g g l d ud+ 6
Pssc qum cch-mmy hchy Upd pss mmy wh sc Tx_bg d sm ds d sm cmpu Ucchbl_Rlg ( dd(c), w_vl(c) ) mmy_b w C Tx_cmm Mc-ps: s C 1 s C 2... Csh C 1 C L1 NVRAM LLC R A C L1 B C D C L1 NVRAM LLC R A B C C Lg_C Lg C L1 D 7
Pvw f pfmc bf wh ud+d lggg Tx bg Ud lggg ly Ud lggg f s A 1 Ucchbl Cchbl Tx cmm Lggg W A Ulg_A 1 Ulg_A 2 Ulg_A N s A 1 s A 1 s A N clwb A 1..A N Tm Rd lggg ly W A csss f N s sucs Rd lggg f h sc Mmy_b Tx cmm Lggg W A Lggg W A Rlg_A 1 Rlg_A 2 Rlg_A N s A 1 s A 1 s A N Ud+d lggg Rlg_A 1 Rlg_A 2 Rlg_A N Ulg_A 1 Ulg_A 2 Ulg_A N s A 1 s A 1 s A N Tx cmm Tm Tm 8
Bfs f ud + d lggg Mc-ps Csh A 1 Cupd! NVRAM s A 1 s A 2 s A N A A B C Tscs: T A, T B, T C A B C CPU Cchs Mmy b Rd lggg Ud lggg RLg_A ULg_A Vs 1 Vs 2 N fc A cpy f h ld vlu, C ud h chgs md by plly cmpld scs 9
Bfs f ud + d lggg Csh s A 1 s A 2 s A N Tscs: T A, T B, T C A B C CPU Cchs Rd lggg Ud lggg N fc Sl NVRAM A B C Vs 1 A 1 RLg_A ULg_A Vs 2 Ucchbl 10
Pvw f pfmc bf wh ud+d lggg Tx bg Ud lggg ly Ud lggg f s A 1 Ucchbl Cchbl Tx cmm Lggg W A Ulg_A 1 Ulg_A 2 Ulg_A N s A 1 s A 1 s A N clwb A 1..A N Tm Rd lggg ly W A csss f N s sucs Rd lggg f h sc Mmy_b Tx cmm Lggg W A Lggg W A Rlg_A 1 Rlg_A 2 Rlg_A N s A 1 s A 1 s A N Ud+d lggg Rlg_A 1 Rlg_A 2 Rlg_A N Ulg_A 1 Ulg_A 2 Ulg_A N s A 1 s A 1 s A N Tx cmm Tm Tm 11
Iffccy f lggg by sfw pss mmy Icsd mmy ffc Ex sucs h CPU ppl Csvv cch flushs Rsks wh mulhdg? Tsc T A : Tx_bg d sm ds d sm cmpu Ucchbl_lg(dd(A), w_vl(a), ld_vl(a)) w A clwb // c b dlyd? Tx_cmm Mc-ps: s lg_a 1 s lg_a 2... Mc-ps: ld A 1 ld A 2 s lg_a 1 s lg_a 2... A 1 Cch flush NVRAM A A Pcss C C cch cch Shd Cchs Mmy Clls ud d ULg_B ULg_A ULg_C RLg_B RLg_A RLg_C 12
Pfmc cs f csd mmy ffc B Tsc Thughpu 100% 80% 60% 40% 20% 0% Idl Pfmc Nv mmy, N pssc NVRAM Pfmc Gp 70% Pss mmy wh ud lggg [Zh +, MICRO 13] 13
Wh c w lvg fm h hdw? Cch hchy ms ud + d fm by u s A 1 Nw Vlu Old Vlu W-bck W-llc Pcss C C h L1 Cchs mss Ls-lvl Cch (LLC) Nw Vlu Old Vlu Ucchbl_lg ( dd(a), w_vl(a), ld_vl(a) ) M Mmy 14
Ou ud+d lggg: Tk d gv by CPU cchg M h d bw lg d d upds by u Vll Nvll C NVRAM L1 Cchs s A 1 Ls-lvl Cch (LLC) C Lg cd Ucchbl Ud+Rd Lg (Ccul Buff) Tsc T A Tx_bg d sm ds d sm cmpu w A clwb Tx_cmm Lg buff ( smply us WCB) Bypss cchs 15
Hw bu cch flushs? Dcupl cch flushs d sc xcu Mulhdg? Vll Nvll fwb dy 0 1 1 0 0 0 1 0 1 0 0 0 Exsg cmmdy pcsss d Th lg s ccul buff CPU Cchs Tsc T A Tx_bg d sm ds d sm cmpu w A clwb Tx_cmm Wh s h ppp m f cch flushs? Th d f cch flushs dpds lg sz d lg upd spd! Td-ffs f hdw bkkpg vhd, mmy ffc buss, d cch flush fqucy 16
Cmm h sc Dsg pcpls Ud+d lggg kg d gv by CPU cchg Cch flushs dcupld fm sc xcu Tsc T A Tx_bg d sm ds d sm cmpu w A clwb Tx_cmm 17
Sfw d hdw mplm cs Sfw supp Tsc fc Tx_bg d sm ds d sm cmpu W A Tx_cmm Lg_c() Lg_uc() NVRAM Hdw vhd Mj Cmps Lgc Typ Sz Tsc ID gs Flp-flp 1 by p HW hd Lg hd d l gss Flp-flp 16 bys Fwb cch g b SRAM 1 b p cch l 18
Ky pfmc suls B 100% 80% 60% 40% 20% 0% Idl pfmc N-ps SW-d-clwb SW-ud-clwb Ou-dsg : ud+d Tsc Thughpu NVRAM W Tffc 89% 56% Avg f fv mc-bchmks WHISPER B 5 4 3 2 1 0 Avg f fv mc-bchmks WHISPER Pcss cfgu: C 7, 22m, 4-c, 2.5GHz, 2 hds/c Oh suls: gy csump, suc cs, IPC, ssvy suds, c. 19
Summy : 1 u b C + d d u l p x E lx g g lg l c d w : 2 u b C g cch xs g v L bl m sch g g g l d ud+ Ky ps Rhk h wy dl sfw schms usd Expl ppus xsg hdw c supp d pssc by u 20
Hdw-dv Ud+Rd Lggg Jsh Zh hps://uss.s.ucsc.du/~jzh/ Cmpu Egg, UC S Cuz Ocb 11, 2017