Skip to content

Latest commit

 

History

History
133 lines (99 loc) · 4.07 KB

n.txt

File metadata and controls

133 lines (99 loc) · 4.07 KB

scavenger thread

directories ls: if lock ordering problem, return what we have read so far

error codes e.g., write cnt = 0 should return which error happened

test for reallocating inode before shrunk

mtime

end-to-end tests for recovery

goosify

if txn aborts, return allocated IDs to the in-memory allocator state

smallfile() in cmd/clnt-smallfile/main.go and cmd/smallfile/main.go make nfs_clnt.go support both, avoiding redundancy

log-by-pass writes

<2020-01-24 Fri>: smallfile (including remove)

running on ext3 over image in tmpfs

[tmp]$ rm nfs3.img [tmp]$ dd if=/dev/zero of=nfs3.img bs=4K count=100000 [tmp]$ mkfs -t ext3 nfs3.img [tmp]$ sudo mount -t ext3 -o data=journal,sync -o loop /tmp/nfs3.img /srv/nfs/bench [tmp]$ sudo systemctl start nfs-server.service [tmp]$ sudo mount -t nfs -o vers=3 localhost:/srv/nfs/bench /mnt/nfs [tmp]$ sudo chmod 777 /srv/nfs/bench

Linux loopback

$ ./run-linux.sh go run ./cmd/fs-smallfile/main.go fs-smallfile: 3168.5 file/sec

[goose-nfs (master)]$ ./run-linux.sh go run ./cmd/fs-largefile/main.go run go run ./cmd/fs-largefile/main.go fs-largefile: 50 MB througput 208.43 MB/s

<2020-02-06 Thu>: goose-nfs perf

[goose-nfs (master)]$ go run ./cmd/smallfile/main.go 2020/02/06 07:53:41 MkFsSuper: open file disk /dev/shm/goose4d65822107fcfd52.img smallfile: 10528 file/s with 1 threads

2020/02/06 07:54:12 MkFsSuper: open file disk /dev/shm/goose4d65822107fcfd52.img largefile: 50 MB througput 482.43 MB/s

go run ./cmd/fs-smallfile/main.go fs-smallfile: 2750.5 file/sec

go run ./cmd/fs-largefile/main.go fs-largefile: 50 MB througput 157.25 MB/s

[goose-nfs (master)]$ go run ./cmd/smallfile/main.go 2020/02/06 08:02:16 MkFsSuper: open file disk /dev/shm/goose4d65822107fcfd52.img smallfile: 10455.9 file/s with 1 threads 2020/02/06 08:02:26 MkFsSuper: open file disk /dev/shm/goose78629a0f5f3f164f.img smallfile: 15103.9 file/s with 2 threads 2020/02/06 08:02:36 MkFsSuper: open file disk /dev/shm/goosed5104dc76695721d.img smallfile: 15616 file/s with 3 threads 2020/02/06 08:02:46 MkFsSuper: open file disk /dev/shm/gooseb80704bb7b4d7c03.img smallfile: 14708 file/s with 4 threads

[goose-nfs (master)]$ go run ./cmd/lookup/main.go 2020/02/06 08:40:15 MkFsSuper: open file disk /dev/shm/goose4d65822107fcfd52.img Lookup: 414619 file in 1000000 usec with 1 threads 2020/02/06 08:40:16 MkFsSuper: open file disk /dev/shm/goose78629a0f5f3f164f.img Lookup: 521502 file in 1000000 usec with 2 threads 2020/02/06 08:40:17 MkFsSuper: open file disk /dev/shm/goosed5104dc76695721d.img Lookup: 545340 file in 1000000 usec with 3 threads 2020/02/06 08:40:18 MkFsSuper: open file disk /dev/shm/gooseb80704bb7b4d7c03.img Lookup: 588680 file in 1000000 usec with 4 threads

<2020-02-06 Thu>: goose-nfs end-to-end tests

[goose-nfs (master)]$ ~/src_other/ltp/testcases/kernel/fs/fsstress/fsstress -l 1000 -n 100 -p 8 -d /mnt/nfs seed = 1580514202 [goose-nfs (master)]$

[goose-nfs (master)]$ ~/src_other/ltp/testcases/kernel/fs/fsx-linux/fsx-linux -P d /mnt/nfs/x truncating to largest ever: 0x13e76 truncating to largest ever: 0x2e52c truncating to largest ever: 0x3c2c2 truncating to largest ever: 0x3f15f truncating to largest ever: 0x3fcb9 truncating to largest ever: 0x3fe96 truncating to largest ever: 0x3ff9d … ran for 10 minutes … ^Csignal 2 testcalls = 1166590

[nfs]$ git clone ~/classes/6828/xv6 Cloning into ‘xv6’… done. [nfs]$ cd xv6 [xv6 (xv6-64)]$ make gcc -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -MD -ggdb -Werror -fno-omit-frame-po … objdump -S kernel > kernel.asm objdump -t kernel | sed ‘1,/SYMBOL TABLE/d; s/ .* / /; /^$/d’ > kernel.sym [xv6 (xv6-64)]$

<2020-02-11 Tue>: performance benefit of bcache

without bcache

  • in-server

smallfile: 10055.8 file/s with 1 threads largefile: 50 MB througput 491.38 MB/s

  • mounting nfs

fs-smallfile: 2459.8 file/sec fs-largefile: 50 MB througput 159.74 MB/s

with bcache

  • in-server

smallfile: 9802.3 file/s with 1 threads largefile: 50 MB througput 426.76 MB/s

  • mounting nfs

fs-smallfile: 2680.1 file/sec fs-largefile: 50 MB througput 158.66 MB/s