Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.

2018-04-22 Thread Pavel Machek
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.

2018-04-22 Thread Pavel Machek
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.

2018-03-19 Thread Andiry Xu
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 

Re: [RFC v2 01/83] Introduction and documentation of NOVA filesystem.

2018-03-19 Thread Andiry Xu
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.

2018-03-19 Thread Randy Dunlap
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.

2018-03-19 Thread Randy Dunlap
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
>