- Structuring PLFS for
Extensibility
Chuck Cranor, Milo Polte, Garth Gibson
PARALLEL DATA LABORATORY
Carnegie Mellon University
Structuring PLFS for Extensibility Chuck Cranor, Milo Polte, Garth - - PowerPoint PPT Presentation
Structuring PLFS for Extensibility Chuck Cranor, Milo Polte, Garth Gibson PARALLEL DATA LABORATORY Carnegie Mellon University What is PLFS? Parallel Log Structured File System Interposed filesystem b/w apps & backing storage
PARALLEL DATA LABORATORY
Carnegie Mellon University
2
3
4
PLFS Virtual Layer /foo host1 host2 host3 /foo/ hostdir.1/ hostdir.2/ hostdir.3/ 131 132 279 281 152 148 data.131 indx.131 data.132 indx.132 data.279 indx.279 data.281 indx.281 data.152 indx.152 data.148 indx.148 Physical Underlying Parallel File System
5
SPEED UP
6
7
PLFS high-level API MDHIM w/LevelDB HPC Application Logical FS interface container small file flat file Index API distributed pattern byte-range I/O Store interface posix pvfs iofsl hdfs libhdfs/jvm hdfs.jar libplfs
9
10
lib{hdfs,jvm} hdfs.jar PLFS FUSE PLFS MPI I/O posix libc API PLFS container I/O store posix i/o HDFS i/o libplfs mounted fs Java code
11
– PVFS OrangeFS 2.8.4 w/64MB stripe size – PLFS/HDFS w/1 replica (local disk) – PLFS/HDFS w/3 replicas (local disk + remote1 + remote 2)
12
3 stride block remaining strides continue pattern for write phase read phase nodes nodes (shifted for read) 2 3 1 1 2
We unmount and cache flush data filesystem between read/write
PLFS FUSE daemon PLFS FUSE app proc1 PLFS FUSE app proc2 PLFS MPI app proc1 PLFS MPI app proc2
FUSE module VFS/POSIX API
interconnect
Local fs
Distributed fs
PLFS lib
PLFS/ MPI libs PLFS/ MPI libs
use r kernel
app i/o FUSE upcall backing store i/o MPI sync calls to disk to network to other nodes
14
48K 1M access unit size (bytes) 500 1000 1500 2000 write bandwidth (Mbytes/s) PVFS-write PLFS/HDFS1-write PLFS/HDFS3-write
15
48K 1M access unit size (bytes) 500 1000 1500 2000 write bandwidth (Mbytes/s) PVFS-write PLFS/HDFS1-write PLFS/HDFS3-write
16
48K 1M access unit size (bytes) 500 1000 1500 2000 write bandwidth (Mbytes/s) PVFS-write PLFS/HDFS1-write PLFS/HDFS3-write
17
48K 1M access unit size (bytes) 500 1000 read bandwidth (Mbytes/s) PVFS-read PLFS/HDFS1-read PLFS/HDFS3-read
18
48K 1M access unit size (bytes) 500 1000 read bandwidth (Mbytes/s) PVFS-read PLFS/HDFS1-read PLFS/HDFS3-read
19
20 30 40 50 60 Node number 500 1000 Total size of data served (MB) PLFS/HDFS1 PLFS/HDFS3
20
– IOFSL done by EMC
21
22