로그 구조화 파일 시스템
Log-structured file system로그 구조 파일 시스템은 데이터와 메타데이터가 로그라고 하는 순환 버퍼에 순차적으로 기록되는 파일 시스템입니다.이 디자인은 1988년 존 K에 의해 처음 제안되었다. Ousterhout과 Fred Douglis는 1992년 Ousthout과 Mendel Rosenblum에 의해 Unix와 유사한 Sprite 분산 [1]운영체제로 처음 구현되었습니다.
근거
종래의 파일 시스템은, 공간적인 장소에 매우 주의 깊게 파일을 배치해, 데이터 구조를 임플레이스 변경해, 비교적 느리게 요구하는 광디스크나 자기디스크에서 뛰어난 퍼포먼스를 발휘하는 경향이 있습니다.
로그 구조 파일 시스템의 설계는 최신 컴퓨터의 메모리 크기가 계속 증가하면 메모리 캐시에서 읽기가 거의 항상 충족되기 때문에 I/O의 부하가 높아지기 때문에 더 이상 효과가 없을 것이라는 가설을 기반으로 합니다.따라서 로그 구조화된 파일 시스템은 해당 스토리지를 순환 로그로 취급하여 로그의 선두에 순차적으로 씁니다.
여기에는 몇 가지 중요한 부작용이 있습니다.
- 광디스크와 자기디스크의 쓰기 스루풋은 대규모 순차 실행으로 일괄 처리될 수 있고 비용이 많이 드는 검색을 최소화할 수 있기 때문에 향상됩니다.
- 쓰기는 파일 데이터와 메타 데이터 모두에 대해 시간순으로 확장되는 여러 버전을 생성합니다.일부 구현에서는 이러한 오래된 파일 버전의 이름을 지정하고 액세스할 수 있도록 합니다. 시간 이동 또는 스냅샷이라고 하는 기능을 사용할 수 있습니다.이것은 버전 관리 파일 시스템과 매우 유사합니다.
- 크래시로부터의 회복은 간단합니다.다음 마운트 시 파일 시스템은 불일치를 수정하기 위해 모든 데이터 구조를 확인할 필요는 없지만 로그의 마지막 일관된 시점부터 상태를 재구성할 수 있습니다.
그러나 로그 구조화된 파일 시스템은 로그의 머리 부분이 파일 시스템을 감쌀 때 파일 시스템이 꽉 차는 것을 방지하기 위해 로그 끝의 여유 공간을 회수해야 합니다.Tail은 공간을 확보하고 로그의 더 앞에 있는 최신 버전의 데이터를 건너뛰어 앞으로 이동할 수 있습니다.최신 버전이 없는 경우 데이터가 이동되어 헤드에 추가됩니다.
이 가비지 수집으로 인한 오버헤드를 줄이기 위해 대부분의 구현에서는 완전히 순환 로그를 피하고 스토리지를 세그먼트로 나눕니다.로그의 머리는 이미 비어 있는 인접하지 않은 세그먼트로 이동합니다.공간이 필요한 경우 가장 꽉 찬 세그먼트가 먼저 회수됩니다.이렇게 하면 가비지 컬렉터의 I/O 부하가 감소(및 쓰기 증폭도 감소)하지만 파일 시스템이 꽉 차서 용량이 거의 다 될수록 효율성이 떨어집니다.
단점들
로그 구조화 파일 시스템의 설계 근거에서는 메모리 캐시를 계속 확장함으로써 대부분의 읽기가 최적화된다고 가정합니다.이 가정이 항상 적용되는 것은 아닙니다.
- 검색 비용이 상대적으로 많이 드는 자기 매체에서는 로그 구조가 기존 파일 시스템이 일반적으로 인플레이스 쓰기로 연속적으로 유지하던 파일을 조각화하므로 실제로 읽기가 훨씬 느려질 수 있습니다.
- 통상, 시크 타임은 무시할 수 있는 플래시 메모리에서는, 기입 플래그멘테이션이 기입 스루풋에 미치는 영향이 훨씬 적기 때문에, 로그 구조가 퍼포먼스를 크게 향상시키지 않는 경우가 있습니다.또 다른 문제는 하나의 로그를 다른 로그 위에 쌓는 것인데, 이는 정렬되지 않은 [4]액세스로 여러 개의 삭제를 강제하기 때문에 그다지 좋은 생각이 아닙니다.그러나 많은 플래시 기반 디바이스는 블록의 일부를 다시 쓸 수 없으며, 재기입하기 전에 각 블록의 (느린) 소거 사이클을 먼저 실행해야 합니다.따라서 모든 쓰기를 하나의 블록에 포함시킴으로써 다양한 블록에 분산된 쓰기가 아닌 성능을 향상시킬 수 있습니다.각 블록은 버퍼에 복사, 삭제 및 쓰기를 수행해야 합니다.플래시 변환 레이어가 [citation needed]바이패스되는 이른바 "원시" 플래시 메모리의 명백한 장점입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ John K. Ousterhout, Mendel Rosenblum. (1991), The Design and Implementation of a Log-Structured File System (PDF), University of California, Berkeley
- ^ Magic Pocket Hardware Engineering Teams. "Extending Magic Pocket Innovation with the first petabyte scale SMR drive deployment". dropbox.tech.
- ^ Reid, Colin; Bernstein, Phil (1 January 2010). "Implementing an Append-Only Interface for Semiconductor Storage" (PDF). IEEE Data Eng. Bull. 33: 14-20.
- ^ Swaminathan Sundararaman, Jingpei Yang (2014), Don't stack your Log on my Log (PDF), SanDisk Corporation