Download presentation
Presentation is loading. Please wait.
1
Distributed Parity Cache Table
2
Motivation Parity updating is a high cost operation Especially for small write operations Read old data 、 Read Old Parity 、 write new data 、 write new parity Basic ideas Delay the generation of parity Cached data could be used without reread Parity & newly written data could be cached for “the same” write Beyond parity? A server-side cooperative cache
3
Distributed Parity Cache Table A whole stripe is more meaningful than partial blocks Local file system cache knows nothing about a whole stripe Distributed parity cache table knows !! Small write phenomenon Could aggregate small writes Benefits from previous read Cooperative cache PVFS does not provide cache
4
Architecture
5
Striping Size and Cache Blocks
6
Cache Block Each block contains 16K data + 256 bytes metadata DTag : Data tag PTag : Parity tag LRef : # of hits in this block GRef: # of hits in this stripe
7
Cache Replacement Algorithm IF PTag is null THEN IF Operation is READ THEN USE LRef Field & LRU ELSE IF Dirty bit is Set THEN Write the Parity Block and the replaced Block END IF Write Operation Proceed Update the PTag Field END IF ELSE IF PTag == itself.DTag and DTag != itself.DTag THEN Replace the block ELSE IF PTag != DTag USE LRef Field & LRU END IF
8
Performance Evaluation (1/4) – Native Calls
9
Performance Evaluation (2/4) – Native Calls
10
Performance Evaluation (3/4) – POSIX APIs
11
Performance Evaluation (4/4) – POSIX APIs
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.