System Software for Persistent Memory Subramanya R Dulloor
System Software for Persistent Memory Subramanya R Dulloor et al. , Eurosys 14 2020. 5. 25 유근하
Contents • • Introduction System Architecture PMFS Design and Implementation Evaluation 2
Introduction • Contributions n n 새로운 하드웨어 primitive 설계 및 구현 n n 경량화된 POSIX 파일시스템 일관성을 위한 Fine-grained logging PM의 응용프로그램 다이렉트 맵핑 Write protection으로 stray write 오버헤드 감소 4
System Architecture • 일관성 – ordering and durability n n n PM as write-through PM은 CPU cache를 우회하여 write Epoch based ordering PM을 write-back 캐시 가능 메모리로 사용하고 명시적 flushing은 잘 작동함 그러나 내구성 보장에는 충분치 않음 n 내구성을 위해 pm_wbarrier 5
System Architecture 6
PMFS Design and Implementation • Atomic in-place updates n n 로깅 없이 메타데이터를 직접 업데이트 PMFS는 6, 16, 64 -byte atomic update를 지원 n n n 8 -byte : inode의 액세스 타임 업데이트 16 -byte : 파일 appending 시 inode의 크기와 파일 수정 시간 업데이트 64 -byte : 삭제와 같은 inode fileds 업데이트 • Write Protection from stray writes n n 버그로 인한 corruption이 발생 (stray write) Write protection 동작방식 10
PMFS Design and Implementation • Write Protection from stray writes n n n 버그로 인한 corruption이 발생 (stray write) Write protection 동작방식 Protection kernel from user : Priviliege level Protection user from user : Paging Protection user from kernel : SMAP(Supervisor Mode Access Prevention) n user 영역으로 wirte 금지 11
PMFS Design and Implementation • Write Protection from stray writes n Protection kernel from kernel : Write windows n n Read-only Write시, CR 0. WP를 0으로 세팅 12
PMFS Design and Implementation • Testing and Validation n 동시성을 유지하는것은 어려운 문제임 PM 소프트웨어는 pm_wbarrier 이전에 casheline을 flush하기 위해서 dirty cache를 추적해야 함 Yat : Hypervisor-based validation framework n Cache flush와 pm_wbarrier가 정상 실행되도록 보장 13
Evaluation • Environment n PMEP(Persistent Memory Emulation Platcorm) n n 실제 하드웨어 구현의 문제로 시스템 레벨 평가는 힘듬 PMEP는 사용 가능한 DRAM 메모리를 에뮬레이트된 PM과 일반 휘발성 메모리로 분할 PM latency와 bandwith 설정 PMBD(Persistent Memory Block Driver) n n Block devices의 공정한 비교를 위해 사용함 오픈 소스 : https: //github. com/linux-pmbd/pmbd 14
Evaluation • File-based Access n n Single thread Single 64 GB file • File Utilities n Linux Kernel tarball 15
Evaluation • In-place updates n Fine-grained logging과 비교 n n n 16 -byte atomic write : 1. 8 X faster 64 -byte atomic write : 18% faster Logging overhead 비교 16
Evaluation • Memory-mapped I/O n n n Random read/write, single 64 GB file PMFS-D : defauld 4 KB page PMFS-L : 1 GB page 17
Evaluation • Write protection 18
19
- Slides: 19