/
PERSISTENT MEMORY NVM FAST PERSISTENT MEMORY NVM FAST

PERSISTENT MEMORY NVM FAST - PowerPoint Presentation

CuriousCatfish
CuriousCatfish . @CuriousCatfish
Follow
342 views
Uploaded On 2022-08-03

PERSISTENT MEMORY NVM FAST - PPT Presentation

BYTE ADDR NONVOLATILE PERSISTENT MEMORY CPU PERSISTENTMEMORY Provides an opportunity to manipulate persistent data directly LdSt NVM FAST BYTE ADDR NONVOLATILE WHAT HAPPENS WHEN WE RUN AN APPLICATION ID: 934251

updatepair pair chain key pair updatepair key chain data void list hashtable persistent amp update oid find memory solution

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "PERSISTENT MEMORY NVM FAST" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

PERSISTENT MEMORY

NVM

FAST

BYTE ADDR

NONVOLATILE

Slide2

PERSISTENT MEMORY

CPU

PERSISTENTMEMORY

Provides an opportunity to manipulate persistent data directly

Ld/St

NVM

FAST

BYTE ADDR

NONVOLATILE

Slide3

WHAT HAPPENS WHEN

WE RUN AN APPLICATION?

v

oid hashtable_update (hashtable_t

* ht, void *key, void *data)

{ list_t* chain = get_chain

(ht, key); pair_t* pair;

pair_t

updatePair

;

updatePair.first

= key;

pair = (

pair_t*) list_find

(chain, &

updatePair); pair->second = data;

}

Slide4

RUN THE CODE…

Persistent Memory System

System crash can result in

permanent data corruption in NVM

v

oid

hashtable_update

(

hashtable_t

*

ht

,

void *key, void *data){

list_t

* chain =

get_chain

(ht

, key); pair_t* pair;

pair_t updatePair;

updatePair.first = key; pair = (pair_t*) list_find(chain,

&

updatePair

);

pair->second = data;

}

Slide5

CURRENT SOLUTION

v

oid

TMhashtable_update (

TMARCGDECL hashtable_t

* ht, void *key, void*data){ list_t* chain =

get_chain (ht, key); pair_t

* pair;

pair_t

updatePair

;

updatePair.first

= key;

pair = (pair_t

*) TMLIST_FIND (chain,

&

updatePair); pair->second = data;

}

Slide6

CURRENT SOLUTION

v

oid

TMhashtable_update (

TMARCGDECL hashtable_t

* ht, void *key, void*data){

list_t* chain = get_chain

(

ht

, key);

pair_t

* pair;

pair_t

updatePair

;

updatePair.first = key; pair = (

pair_t*) TMLIST_FIND

(chain, &updatePair

);

pair->second

=

data;

}

Manual declaration of persistent components

Needs a new implementation

Third party code

can be inconsistent

Prohibited

Operation

Slide7

CURRENT SOLUTION

v

oid

TMhashtable_update (

TMARCGDECL hashtable_t

* ht, void *key, void*data){

list_t* chain = get_chain

(

ht

, key);

pair_t

* pair;

pair_t

updatePair

;

updatePair.first = key; pair = (

pair_t*) TMLIST_FIND

(chain, &updatePair

);

pair->second

=

data;

}

Manual declaration of persistent components

Needs a new implementation

Third party code

can be inconsistent

Prohibited

Operation

Burden on the programmers

Slide8

Our Solution:

ThyNVM

Slide9

NO MODIFICATION IN THE CODE

v

oid

hashtable_update (

hashtable_t* ht,

void *key, void *data){ list_t* chain =

get_chain (ht, key); pair_t

* pair;

pair_t

updatePair

;

updatePair.first

= key;

pair = (pair_t

*) list_find (chain,

&updatePair);

pair->second = data;}

Slide10

RUN THE EXACT SAME CODE…

Persistent Memory System

Software transparent

memory crash consistency

v

oid

hashtable_update

(

hashtable_t

*

ht

,

void *key, void *data){

list_t

* chain =

get_chain

(ht, key);

pair_t* pair;

pair_t updatePair;

updatePair.first = key; pair = (pair_t*) list_find(chain,

&

updatePair

);

pair->second = data;

}

Slide11

ThyNVM

A new hardware-based

c

heckpointing

mechanism

Checkpoints at multiple granularities to minimize both latency and

metadataOverlaps checkpointing

and

execution

Adapts

to

DRAM and NVM

characteristics

Performs within

4.9%

of an

idealized DRAM

with zero cost consistency

Slide12

ThyNVM

E

nabling

Software-Transparent Crash Consistency in Persistent Memory

Jinglei

Ren, Jishen

Zhao, Samira Khan, Jongmoo

Choi,

Yongwei

Wu,

and

Onur

Mutlu

WEDNESDAY 10:20 am