210 likes | 348 Views
Storage Alternatives for Mobile Computers. 한국외국어대학교 컴퓨터및정보통신공학과 DISLAB 박성환 ( shpark@dislab.hufs.ac.kr ). 소개. 전력을 적게 먹는 저장 장치가 좋은 것임 저장 장치는 총 시스템의 약 40% 이상의 전력을 소모함 모바일 저장 서브 시스템을 위한 3 가지 대체 저장 장치 하드 디스크 ( 높은 에너지 소비율 , spin-up 지연 ) 플래시 디스크 에뮬레이터 ( 비쌈 , 낮은 throughput)
E N D
Storage Alternatives for Mobile Computers 한국외국어대학교 컴퓨터및정보통신공학과 DISLAB 박성환 (shpark@dislab.hufs.ac.kr)
소개 • 전력을 적게 먹는 저장 장치가 좋은 것임 • 저장 장치는 총 시스템의 약 40%이상의 전력을 소모함 • 모바일 저장 서브 시스템을 위한 3가지 대체 저장 장치 • 하드 디스크 (높은 에너지 소비율, spin-up 지연) • 플래시 디스크 에뮬레이터 (비쌈, 낮은 throughput) • 플래시 메모리 카드 (비쌈, fragmentation 효과) • Trade-off 실험의 3가지 요소 • 에너지 소비율 • 성능 • 가격대 용량비 • 측정과 실험을 통한 평가 • 플래시는 에너지를 절약하고, 좋은 성능을 제공함 • 플래시 카드의 이론과 실제 사이엔 차이가 있음
하드 디스크 • 특징 • Throughput이 좋음 • 가격이 쌈 • 전력 소비량이 많은 편임 • 지연된 spin-up 정책을 사용 • 지연된 spin-up 정책 • 보통의 디스크는 시스템의 총 에너지의 20~54%를 소비할 수 있음 • 때문에 파일 시스템은 디스크에 작업이 없을 때, spin-down해야 함 • 버퍼에서 miss가 되면, 다시 spin-up이 되고, 이는 약간의 지연을 가져오게 됨 • 때문에, 전원이 공급되는 SRAM을 사용하여 성능을 증진시킴 • 작은 쓰기 연산이 발생하면, 버퍼에 기록하여잦은 spin-up을 방지함
플래시 • 읽기 연산에 대해서 throughput이 높고, 지연이 낮음 • 쓰기 연산에 대해서는 비교적 성능이 좋지 못함 • 쓰기 전에 반드시 소거해야 함 • 가격이 비쌈 • 제한된 내구성 • 일정 횟수 이상 소거되면, 내구력을 잃음 (burn-out)
플래시 디스크 구조 • 플래시 디스크 구조는 하드 디스크를 전통적인 디스크 인터페이스를 가지는 플래시 메모리 카드로 바꿀 수 있음 • 대조적으로 플래시 카드 구조는 디스크 인터페이스를 제거하여, byte단위로 접근이 가능 • 플래시 카드가 플래시 디스크보다 더 빠른 읽기 성능을 보임 • 플래시 카드가 더 적은 에너지를 소모함
플래시 메모리의 기본적인 문제 • 플래시 클리닝 • Segment(소거 단위)의 크기가 transfer 단위보다 큼 • Segment 소거 시에 아직 유효한 자료가 남아 있을 수 있음 • 때문에, utilization이 낮은 segment를 찾아서 소거함 • MFFS(Microsoft Flash File System)가 이와 같은 방법을 사용함 • 소거 성능 • 각각의 플래시 메모리 타입에 따라 소거 성능이 다름 • SunDisk SDP 플래시 디스크는 소거와 쓰기를 연결해서 75Kbytes/s 수행 • Intel 플래시 카드는 소거와 쓰기를 분리하여 214Kbytes/s 수행 • 단, 해당 segment가 소거 되어있어야만 함 • 때문에, 쓰기의 성능을 높이기 위해서, 이미 소거된 메모리 영역을 유지하는 것이 중요함
플래시 메모리의 부가적인 문제 • 플래시 메모리는 개별적인 영역이 10만 번 소거되면 정보의 무결성을 보장하지 못함 • 때문에, 부하를 분산시키는 기법이 필요함
하드웨어 측정 • 3가지의 저장 구조를 Hewlett-Packard OmniBook 300에서 성능을 측정함 • HP OmniBook 300 • 2.9 pound 노트북 컴퓨터 • MS-DOS 5.0 • 25MHz 386SXLV Processor • 2Mbytes DRAM
실험 방법 • HP OmniBook에서의 압축 • 규모가 작은 장비는 실험을 제한함 • Peak한 성능. 그러나 실제적으로 일반적인 패턴은 아님. • 규모가 더 큰 장치에 Trace-driven 실험을 함 • 실제적인 workload를 실험 • 다양한 정책을 적용 • 플래시 카드 저장 utilization의 평가 • Omnibook의 플래시 카드를 채움 • 다양한 저장 utilization에 따른 실제적인 workload를 실험 • 새로운 플래시 디스크 에뮬레이터에 실험
소프트웨어 벤치마크 • 3가지 저장 장치의 성능 평가를 위해 소프트웨어 벤치마크를 생성 • 파일을 순차적으로 읽고 쓰는 연산을 수행 • 순차적 접근과 임의적 접근을 같이 수행 • CU140와 SDP10의 경우에는 압축을 한 경우와, 안 한 경우를 나누어 측정 • Intel card는 항상 압축이 가능 • 압축된 데이터의 압축 비율은 50%정도가 됨
소프트웨어 벤치마크 (Cont.) • 압축이 안 된 경우엔 파일의 크기는 커지게 되며, 하드 디스크의 throughput은 압축이 된 경우에 비해 작아짐 • 압축이 된 경우, 작은 쓰기연산은 버퍼링되기 때문에빠르게 수행됨 • 큰 쓰기 연산은 압축되고, 순차적으로 기록됨 • 위와 유사하게, 압축은 플래시 디스크의 작은 파일 쓰기의 성능을 향상시킴 • 플래시 카드에서 작은 파일의 읽기 성능은 다른 저장 장치들 보다 매우 좋음 • 압축이 안된 데이터의 경우엔압축된 데이터에 비해서압축을 되살리는 과정이 생략되어 2배 정도 더 빠름 • 큰 파일에 경우 읽기나 쓰기 모두 매우 성능이 안 좋음 • MFFS 2.0의 경우가 특이한 경우이며, 보통은 파일 크기에 따라 지연은 선형적으로 증가함
Traces • 3가지 플랫폼에서 수행 • Macintosh PowerBook Duo (Bill Sproule, MITL) • 파일 수준. 삭제 없음 • IBM PCs running Windows 3.1 (Kester Li, U.C. Berkeley) • 파일 수준. 삭제 존재 • HP workstation running HP-UX (Ruemmler & Wikes, HP) • 버퍼 캐싱 수준. 메타데이터 연산 포함. 삭제 없음 • 자료규모는 16~32 Mbytes • Trace 수행시간 2hrs~4days • 읽기/쓰기 비 25~50% • Mean inter-arrival time 78ms~11s
Traces (Cont.) • 각 trace는 에너지 소비 성능을 평가하기엔 알맞지 않음 • 각 trace는 전송 크기도 다르며, 지속 시간도 다름
4가지 관점의 결과 • 기본적인 raw 데이터 비교 • 다음에 따른 플래시 저장 장치의 utilization이 미치는 영향 • 에너지 소비량 • 성능 • 내구성 • 플래시 디스크에서 쓰기와 소거의 조합이 미치는 영향 • 버퍼 캐싱이 에너지와 성능에 미치는 영향 • 휘발성 버퍼 • 비휘발성 버퍼
기본적인 raw 데이터 비교 • 제조사 설명서 • 플래시 카드가 하드 디스크보다 쓰기 성능이 좋지 못함 • 아마도 SRAM의 영향이 있을 것임 • 플래시 카드는 플래시 디스크보다 쓰기 성능이 더 좋음 • OmniBook에서 실제 측정치 • 플래시 디스크가 더 좋음 • 하드웨어와 소프트웨어 특성을 고려해 보면 더 좋음
플래시 저장소 Utilization의 효과 • 플래시가 가득 찼을 경우, 어떻게 블록을 소거할 것인가? • 플래시 디스크 : 작은 소거 단위 효과 없음 • 플래시 카드 : fragmentation이 이슈가 됨 • Over-utilized LFS(Linux from scratch)의 segment 클리닝과 비슷함 • 높은 utilization은 에너지, 쓰기 지연과 내구력에 영향을 줌
플래시 카드 Utilization (OmniBook) • 높은 utilization은 throughput을 급격하게 떨어뜨림
플래시 카드 Utilization (실험치) • 95% utilization • 에너지를 150%이상 증가시키고, 쓰기 응답 시간을 30%정도 증가시킴 • 이유는 유효한 데이터를 빈 segment에 복사를 해야하기 때문임 • 플래시 디스크는 chunk 단위로 접근하기 때문에 이런 현상이 없음
Synchronous 소거의 효과 • SunDisk SDP5A는 synchronous 소거를 허용 • 연산 전에 소거를 하거나 연산과 같이 소거하는 것이 가능 • 쓰기와 같이 소거를 하거나 소거만 하는 것과 동일한 시간이 걸림 • 150KB/s • 이미 지워진 블록에 쓰기 연산을 하는 것은 400KB/s가 걸림 • 소거 연산은 쓰기 연산과 효과적으로 분리 될 수 있는가? • 에너지 소비는 차이가 별로 없지만, 평균적인 쓰기 지연은 55~60% 정도로 낮아짐 • 시스템은 저장 장치로 디스크가 아닌, 플래시가 요구됨을 알 수 있음
결론 • 플래시는 하드 디스크에 비해 유리함 • 하드 디스크에 비해 적은 에너지를 소비함 • 읽기 연산의 지연은 하드 디스크보다 낮음 • 쓰기 연산의 지연은 해결해야 할 이슈임 • 가격대 용량 비는 아직도 열악하지만, 허용할 만함 • 플래시 카드들은 소거 단위가 문제됨 • Utilization을 80%이상이 되면 문제가 심각함 • 클리닝의 복잡함 (c.f. Microsoft FFS 2.0) • 이론과 실제 사이엔 놀라운 차이가 있음 • SRAM은쓰기 지연을 해결하기 위해 필수적임 • 지금까지는 하드 디스크가 플래시보다 일반적으로 사용중임 • 쓰기와 소거 연산을 분리시킬 필요가 있음 • 작은 크기의 소거 단위를 사용해야 함 • 앞으로의 기술 경향을 지켜볼 필요가 있음