Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
Hi! > +The above commands create a NOVA instance on `/dev/pmem0` and mounts it on > +`/mnt/nova`. > + > +NOVA support several module command line options: > + > + * measure_timing: Measure the timing of file system operations for > profiling (default: 0) > + > + * inplace_data_updates: Update data in place rather than with COW > (default: 0) > + > +To recover an existing NOVA instance, mount NOVA without the init option, > for example: > + > +# mount -t NOVA /dev/pmem0 /mnt/nova You may want to limit documentation lines to 80 columns... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
Hi! > +The above commands create a NOVA instance on `/dev/pmem0` and mounts it on > +`/mnt/nova`. > + > +NOVA support several module command line options: > + > + * measure_timing: Measure the timing of file system operations for > profiling (default: 0) > + > + * inplace_data_updates: Update data in place rather than with COW > (default: 0) > + > +To recover an existing NOVA instance, mount NOVA without the init option, > for example: > + > +# mount -t NOVA /dev/pmem0 /mnt/nova You may want to limit documentation lines to 80 columns... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
Thanks for all the comments. On Mon, Mar 19, 2018 at 1:43 PM, Randy Dunlapwrote: > On 03/10/2018 10:17 AM, Andiry Xu wrote: >> From: Andiry Xu >> >> NOVA is a log-structured file system tailored for byte-addressable >> non-volatile memories. >> It was designed and developed at the Non-Volatile Systems Laboratory in the >> Computer >> Science and Engineering Department at the University of California, San >> Diego. >> Its primary authors are Andiry Xu , Lu Zhang >> , and Steven Swanson . >> >> These two papers provide a detailed, high-level description of NOVA's design >> goals and approach: >> >>NOVA: A Log-structured File system for Hybrid Volatile/Non-volatile Main >> Memories >>In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >>(http://cseweb.ucsd.edu/~swanson/papers/FAST2016NOVA.pdf) >> >>NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >>In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >>(http://cseweb.ucsd.edu/~swanson/papers/SOSP2017-NOVAFortis.pdf) >> >> This patchset contains features from the FAST paper. We leave NOVA-Fortis >> features, >> such as snapshot, metadata and data replication and RAID parity for >> future submission. >> >> Signed-off-by: Andiry Xu >> --- >> Documentation/filesystems/00-INDEX | 2 + >> Documentation/filesystems/nova.txt | 498 >> + >> MAINTAINERS| 8 + >> 3 files changed, 508 insertions(+) >> create mode 100644 Documentation/filesystems/nova.txt > >> diff --git a/Documentation/filesystems/nova.txt >> b/Documentation/filesystems/nova.txt >> new file mode 100644 >> index 000..4728f50 >> --- /dev/null >> +++ b/Documentation/filesystems/nova.txt >> @@ -0,0 +1,498 @@ >> +The NOVA Filesystem >> +=== >> + >> +NOn-Volatile memory Accelerated file system (NOVA) is a DAX file system >> +designed to provide a high performance and production-ready file system >> +tailored for byte-addressable non-volatile memories (e.g., NVDIMMs >> +and Intel's soon-to-be-released 3DXPoint DIMMs). >> +NOVA combines design elements from many other file systems >> +and adapts conventional log-structured file system techniques to >> +exploit the fast random access that NVMs provide. In particular, NOVA >> maintains >> +separate logs for each inode to improve concurrency, and stores file data >> +outside the log to minimize log size and reduce garbage collection costs. >> NOVA's >> +logs provide metadata and data atomicity and focus on simplicity and >> +reliability, keeping complex metadata structures in DRAM to accelerate >> lookup >> +operations. >> + >> +NOVA was developed by the Non-Volatile Systems Laboratory (NVSL) in >> +the Computer Science and Engineering Department at the University of >> +California, San Diego. >> + >> +A more thorough discussion of NOVA's design is avaialable in these two >> papers: > > available > >> + >> +NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main >> Memories >> +Jian Xu and Steven Swanson >> +In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >> + >> +NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >> +Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit >> Borase, >> +Tamires Brito Da Silva, Andy Rudoff and Steven Swanson >> +In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >> + >> +This version of NOVA contains features from the FAST paper. >> +NOVA-Fortis features, such as snapshot, metadata and data protection and >> replication >> +are left for future submission. >> + >> +The main NOVA features include: >> + >> + * POSIX semantics >> + * Directly access (DAX) byte-addressable NVMM without page caching >> + * Per-CPU NVMM pool to maximize concurrency >> + * Strong consistency guarantees with 8-byte atomic stores >> + >> + >> +Filesystem Design >> += >> + >> +NOVA divides NVMM into several regions. NOVA's 512B superblock contains >> global > > (prefer:) 512-byte > >> +file system information and the recovery inode. The recovery inode >> represents a >> +special file that stores recovery information (e.g., the list of unallocated >> +NVMM pages). NOVA divides its inode tables into per-CPU stripes. It also >> +provides per-CPU journals for complex file operations that involve multiple >> +inodes. The rest of the available NVMM stores logs and file data. >> + >> +NOVA is log-structured and stores a separate log for each inode to maximize >> +concurrency and provide atomicity for operations that affect a single file. >> The >> +logs only store metadata and comprise a linked list of 4 KB pages. Log >> entries >> +are small – between 32 and
Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
Thanks for all the comments. On Mon, Mar 19, 2018 at 1:43 PM, Randy Dunlap wrote: > On 03/10/2018 10:17 AM, Andiry Xu wrote: >> From: Andiry Xu >> >> NOVA is a log-structured file system tailored for byte-addressable >> non-volatile memories. >> It was designed and developed at the Non-Volatile Systems Laboratory in the >> Computer >> Science and Engineering Department at the University of California, San >> Diego. >> Its primary authors are Andiry Xu , Lu Zhang >> , and Steven Swanson . >> >> These two papers provide a detailed, high-level description of NOVA's design >> goals and approach: >> >>NOVA: A Log-structured File system for Hybrid Volatile/Non-volatile Main >> Memories >>In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >>(http://cseweb.ucsd.edu/~swanson/papers/FAST2016NOVA.pdf) >> >>NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >>In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >>(http://cseweb.ucsd.edu/~swanson/papers/SOSP2017-NOVAFortis.pdf) >> >> This patchset contains features from the FAST paper. We leave NOVA-Fortis >> features, >> such as snapshot, metadata and data replication and RAID parity for >> future submission. >> >> Signed-off-by: Andiry Xu >> --- >> Documentation/filesystems/00-INDEX | 2 + >> Documentation/filesystems/nova.txt | 498 >> + >> MAINTAINERS| 8 + >> 3 files changed, 508 insertions(+) >> create mode 100644 Documentation/filesystems/nova.txt > >> diff --git a/Documentation/filesystems/nova.txt >> b/Documentation/filesystems/nova.txt >> new file mode 100644 >> index 000..4728f50 >> --- /dev/null >> +++ b/Documentation/filesystems/nova.txt >> @@ -0,0 +1,498 @@ >> +The NOVA Filesystem >> +=== >> + >> +NOn-Volatile memory Accelerated file system (NOVA) is a DAX file system >> +designed to provide a high performance and production-ready file system >> +tailored for byte-addressable non-volatile memories (e.g., NVDIMMs >> +and Intel's soon-to-be-released 3DXPoint DIMMs). >> +NOVA combines design elements from many other file systems >> +and adapts conventional log-structured file system techniques to >> +exploit the fast random access that NVMs provide. In particular, NOVA >> maintains >> +separate logs for each inode to improve concurrency, and stores file data >> +outside the log to minimize log size and reduce garbage collection costs. >> NOVA's >> +logs provide metadata and data atomicity and focus on simplicity and >> +reliability, keeping complex metadata structures in DRAM to accelerate >> lookup >> +operations. >> + >> +NOVA was developed by the Non-Volatile Systems Laboratory (NVSL) in >> +the Computer Science and Engineering Department at the University of >> +California, San Diego. >> + >> +A more thorough discussion of NOVA's design is avaialable in these two >> papers: > > available > >> + >> +NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main >> Memories >> +Jian Xu and Steven Swanson >> +In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >> + >> +NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >> +Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit >> Borase, >> +Tamires Brito Da Silva, Andy Rudoff and Steven Swanson >> +In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >> + >> +This version of NOVA contains features from the FAST paper. >> +NOVA-Fortis features, such as snapshot, metadata and data protection and >> replication >> +are left for future submission. >> + >> +The main NOVA features include: >> + >> + * POSIX semantics >> + * Directly access (DAX) byte-addressable NVMM without page caching >> + * Per-CPU NVMM pool to maximize concurrency >> + * Strong consistency guarantees with 8-byte atomic stores >> + >> + >> +Filesystem Design >> += >> + >> +NOVA divides NVMM into several regions. NOVA's 512B superblock contains >> global > > (prefer:) 512-byte > >> +file system information and the recovery inode. The recovery inode >> represents a >> +special file that stores recovery information (e.g., the list of unallocated >> +NVMM pages). NOVA divides its inode tables into per-CPU stripes. It also >> +provides per-CPU journals for complex file operations that involve multiple >> +inodes. The rest of the available NVMM stores logs and file data. >> + >> +NOVA is log-structured and stores a separate log for each inode to maximize >> +concurrency and provide atomicity for operations that affect a single file. >> The >> +logs only store metadata and comprise a linked list of 4 KB pages. Log >> entries >> +are small – between 32 and 64 bytes. Logs are generally non-contiguous, and >> log >> +pages may reside anywhere in NVMM. >> + >> +NOVA keeps copies
Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
On 03/10/2018 10:17 AM, Andiry Xu wrote: > From: Andiry Xu> > NOVA is a log-structured file system tailored for byte-addressable > non-volatile memories. > It was designed and developed at the Non-Volatile Systems Laboratory in the > Computer > Science and Engineering Department at the University of California, San Diego. > Its primary authors are Andiry Xu , Lu Zhang > , and Steven Swanson . > > These two papers provide a detailed, high-level description of NOVA's design > goals and approach: > >NOVA: A Log-structured File system for Hybrid Volatile/Non-volatile Main > Memories >In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >(http://cseweb.ucsd.edu/~swanson/papers/FAST2016NOVA.pdf) > >NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >(http://cseweb.ucsd.edu/~swanson/papers/SOSP2017-NOVAFortis.pdf) > > This patchset contains features from the FAST paper. We leave NOVA-Fortis > features, > such as snapshot, metadata and data replication and RAID parity for > future submission. > > Signed-off-by: Andiry Xu > --- > Documentation/filesystems/00-INDEX | 2 + > Documentation/filesystems/nova.txt | 498 > + > MAINTAINERS| 8 + > 3 files changed, 508 insertions(+) > create mode 100644 Documentation/filesystems/nova.txt > diff --git a/Documentation/filesystems/nova.txt > b/Documentation/filesystems/nova.txt > new file mode 100644 > index 000..4728f50 > --- /dev/null > +++ b/Documentation/filesystems/nova.txt > @@ -0,0 +1,498 @@ > +The NOVA Filesystem > +=== > + > +NOn-Volatile memory Accelerated file system (NOVA) is a DAX file system > +designed to provide a high performance and production-ready file system > +tailored for byte-addressable non-volatile memories (e.g., NVDIMMs > +and Intel's soon-to-be-released 3DXPoint DIMMs). > +NOVA combines design elements from many other file systems > +and adapts conventional log-structured file system techniques to > +exploit the fast random access that NVMs provide. In particular, NOVA > maintains > +separate logs for each inode to improve concurrency, and stores file data > +outside the log to minimize log size and reduce garbage collection costs. > NOVA's > +logs provide metadata and data atomicity and focus on simplicity and > +reliability, keeping complex metadata structures in DRAM to accelerate lookup > +operations. > + > +NOVA was developed by the Non-Volatile Systems Laboratory (NVSL) in > +the Computer Science and Engineering Department at the University of > +California, San Diego. > + > +A more thorough discussion of NOVA's design is avaialable in these two > papers: available > + > +NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main > Memories > +Jian Xu and Steven Swanson > +In The 14th USENIX Conference on File and Storage Technologies (FAST '16) > + > +NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System > +Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit Borase, > +Tamires Brito Da Silva, Andy Rudoff and Steven Swanson > +In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) > + > +This version of NOVA contains features from the FAST paper. > +NOVA-Fortis features, such as snapshot, metadata and data protection and > replication > +are left for future submission. > + > +The main NOVA features include: > + > + * POSIX semantics > + * Directly access (DAX) byte-addressable NVMM without page caching > + * Per-CPU NVMM pool to maximize concurrency > + * Strong consistency guarantees with 8-byte atomic stores > + > + > +Filesystem Design > += > + > +NOVA divides NVMM into several regions. NOVA's 512B superblock contains > global (prefer:) 512-byte > +file system information and the recovery inode. The recovery inode > represents a > +special file that stores recovery information (e.g., the list of unallocated > +NVMM pages). NOVA divides its inode tables into per-CPU stripes. It also > +provides per-CPU journals for complex file operations that involve multiple > +inodes. The rest of the available NVMM stores logs and file data. > + > +NOVA is log-structured and stores a separate log for each inode to maximize > +concurrency and provide atomicity for operations that affect a single file. > The > +logs only store metadata and comprise a linked list of 4 KB pages. Log > entries > +are small – between 32 and 64 bytes. Logs are generally non-contiguous, and > log > +pages may reside anywhere in NVMM. > + > +NOVA keeps copies of most file metadata in DRAM during normal > +operations, eliminating the need to access metadata in NVMM
Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.
On 03/10/2018 10:17 AM, Andiry Xu wrote: > From: Andiry Xu > > NOVA is a log-structured file system tailored for byte-addressable > non-volatile memories. > It was designed and developed at the Non-Volatile Systems Laboratory in the > Computer > Science and Engineering Department at the University of California, San Diego. > Its primary authors are Andiry Xu , Lu Zhang > , and Steven Swanson . > > These two papers provide a detailed, high-level description of NOVA's design > goals and approach: > >NOVA: A Log-structured File system for Hybrid Volatile/Non-volatile Main > Memories >In The 14th USENIX Conference on File and Storage Technologies (FAST '16) >(http://cseweb.ucsd.edu/~swanson/papers/FAST2016NOVA.pdf) > >NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System >In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) >(http://cseweb.ucsd.edu/~swanson/papers/SOSP2017-NOVAFortis.pdf) > > This patchset contains features from the FAST paper. We leave NOVA-Fortis > features, > such as snapshot, metadata and data replication and RAID parity for > future submission. > > Signed-off-by: Andiry Xu > --- > Documentation/filesystems/00-INDEX | 2 + > Documentation/filesystems/nova.txt | 498 > + > MAINTAINERS| 8 + > 3 files changed, 508 insertions(+) > create mode 100644 Documentation/filesystems/nova.txt > diff --git a/Documentation/filesystems/nova.txt > b/Documentation/filesystems/nova.txt > new file mode 100644 > index 000..4728f50 > --- /dev/null > +++ b/Documentation/filesystems/nova.txt > @@ -0,0 +1,498 @@ > +The NOVA Filesystem > +=== > + > +NOn-Volatile memory Accelerated file system (NOVA) is a DAX file system > +designed to provide a high performance and production-ready file system > +tailored for byte-addressable non-volatile memories (e.g., NVDIMMs > +and Intel's soon-to-be-released 3DXPoint DIMMs). > +NOVA combines design elements from many other file systems > +and adapts conventional log-structured file system techniques to > +exploit the fast random access that NVMs provide. In particular, NOVA > maintains > +separate logs for each inode to improve concurrency, and stores file data > +outside the log to minimize log size and reduce garbage collection costs. > NOVA's > +logs provide metadata and data atomicity and focus on simplicity and > +reliability, keeping complex metadata structures in DRAM to accelerate lookup > +operations. > + > +NOVA was developed by the Non-Volatile Systems Laboratory (NVSL) in > +the Computer Science and Engineering Department at the University of > +California, San Diego. > + > +A more thorough discussion of NOVA's design is avaialable in these two > papers: available > + > +NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main > Memories > +Jian Xu and Steven Swanson > +In The 14th USENIX Conference on File and Storage Technologies (FAST '16) > + > +NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System > +Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit Borase, > +Tamires Brito Da Silva, Andy Rudoff and Steven Swanson > +In The 26th ACM Symposium on Operating Systems Principles (SOSP '17) > + > +This version of NOVA contains features from the FAST paper. > +NOVA-Fortis features, such as snapshot, metadata and data protection and > replication > +are left for future submission. > + > +The main NOVA features include: > + > + * POSIX semantics > + * Directly access (DAX) byte-addressable NVMM without page caching > + * Per-CPU NVMM pool to maximize concurrency > + * Strong consistency guarantees with 8-byte atomic stores > + > + > +Filesystem Design > += > + > +NOVA divides NVMM into several regions. NOVA's 512B superblock contains > global (prefer:) 512-byte > +file system information and the recovery inode. The recovery inode > represents a > +special file that stores recovery information (e.g., the list of unallocated > +NVMM pages). NOVA divides its inode tables into per-CPU stripes. It also > +provides per-CPU journals for complex file operations that involve multiple > +inodes. The rest of the available NVMM stores logs and file data. > + > +NOVA is log-structured and stores a separate log for each inode to maximize > +concurrency and provide atomicity for operations that affect a single file. > The > +logs only store metadata and comprise a linked list of 4 KB pages. Log > entries > +are small – between 32 and 64 bytes. Logs are generally non-contiguous, and > log > +pages may reside anywhere in NVMM. > + > +NOVA keeps copies of most file metadata in DRAM during normal > +operations, eliminating the need to access metadata in NVMM during reads. > + > +NOVA supports both copy-on-write and in-place file data updates and appends >