'FileSystem'에 해당되는 글 3건

  1. 2015.05.26 O_NOMTIME
  2. 2015.05.26 Persistent memory and page structures
  3. 2015.05.23 Supporting filesystems in persistent memory

O_NOMTIME

Personal Computer/Linux 2015. 5. 26. 23:31 posted by tolkien

http://lwn.net/Articles/643892/


mtime은 file 내용이 수정된 마지막 시간을 가리킵니다. 최근에 mtime을 자동으로 update하지 않도록 하는 patch가 올라왔습니다.
이는 Ceph filesystem(http://lwn.net/Articles/258516/)과 같이 mtime을 사용하지 않는 경우, 성능을 향상시키는 효과가 있습니다. 하지만, NFS나 system backup과 같이 mtime을 이용하는 경우, 이 option은 매우 위험한 선택입니다. 그리고, system suspend와 같은 상황에서는 더욱 복잡해집니다.

어쨌든 O_NOMTIME option은 손쉽게 system 성능을 개선할 수 있습니다만,
application 개발자가 sync하는 것을 잊는 경우, file system에 손상을 줄 수 있습니다.

Persistent memory and page structures

Personal Computer/Linux 2015. 5. 26. 23:15 posted by tolkien

http://lwn.net/Articles/644079/


persistent memory(or non-volatile memory), 쉽게 NOR flash를 생각하면될 것같습니다. SSD에 대해서 direct-access를 하는 경우도 있을지도.

어쨌든 이 유형의 h/w는 cpu에서 직접 접근가능하다.라는 이점이 있어서 이것을 이용할 수 있는 방법에 대한 논의를 간단히 다룬 내용입니다.

단순하게 ROM처럼 page로 분할해서 mapping해버리면 1TB가 넘는 경우, 관리하는 데만많은 memory를 사용하므로 좋지 않습니다. 이에...
1. persistent memory에 대해서 Page Frame Number(PFN)을 사용.
 - http://lwn.net/Articles/643437/ - by Dan Williams
 - page structure를 손대서 persistent memory인 경우, page가 아닌 PFN을 사용
2. Directly mapped persistent memory page cache
 - http://lwn.net/Articles/644114/ - by Ingo Molnar
 - page structure를 일반 memory가 아닌 persistent memory에 저장

아직 어떤 방법도 code로 다 구현되어 있지 않고, 논의중입니다.

https://lwn.net/Articles/610174/

block device에서 data를 access하려면 data를 page cache에 올린 다음에 읽습니다. file system도 block device에 접근하기 위해서 page cache를 이용하지요. 그런데, 직접 접근가능한 block device(간단한 예로 RAM이나 NOR Flash)위에 file system을 올려서 사용한다면? page cache가 없는 편이 성능에 도움이 되는 상황도 있습니다.

이런 시도는 2005년 즈음에 ext2 file system에 XIP(excute in-place)를 구현하기도 했습니다. 위 기사는 DAX(directy access)라는 새로운 시도에 대한 얘기입니다.

ramfs와 같은 ram-based file system을 쓰는 것도 하나의 방법이긴 하지만, 전원이 나가면 사라지는 RAM이 아닌 Flash와 같은 NVM(non-volatile memory)위에서 NVM 전용 file system이 아닌 ext4와 같은 일반 file system에서 성능 향상을 시도하는 것으로 알고 있습니다. kernel 4.0부터 ext4에서는 지원된다고 합니다.