1 / 21

HandyFS: A Simple Ad-hoc Distributed File System only using FUSE and SSHFS

HandyFS: A Simple Ad-hoc Distributed File System only using FUSE and SSHFS. Nan DUN Kenjiro Taura Akinori Yonezawa The University of Tokyo. Outline. Background Related Work SSHFS FUSE HandyFS Designs and Implementation Evaluation and Problems Future Work.

Download Presentation

HandyFS: A Simple Ad-hoc Distributed File System only using FUSE and SSHFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HandyFS: A Simple Ad-hoc Distributed File System only using FUSE and SSHFS Nan DUN Kenjiro Taura Akinori Yonezawa The University of Tokyo http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  2. Outline • Background • Related Work • SSHFS • FUSE • HandyFS • Designs and Implementation • Evaluation and Problems • Future Work http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  3. Background: File Sharing on Grid • User explicit sharing operation • rcp, scp[OpenSSH] • FTP[J. Postel, et al. 1985.], GridFTP[Globus] • Conventional Distributed File System • Inner-Cluster Sharing • NFSv3, NFSv4 • Inter-Cluster Sharing • AFS[OpenAFS], Gfarm[Tatebe et al. ‘04] http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  4. SSHFS: A simple alternative • Complexity of conventional DFSs • Client-Server Configurations • Administrative Privilege • Typical Firewall Setting of the Grid • Simplicity of SSHFS [http://fuse.sourceforge.net/sshfs.html] • Only need available SSH connection • Client-side mount only • User-level Operations without privileges http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  5. SSHFS: Usage • Create local mount point • user@hongo000:~$ mkdirmnt_chiba • Mount remote directory to mount point • user@hongo000:~$ sshfs chiba000.intrigger.nii.ac.jp:/sharedirmnt_chiba • Access remote files via local mount point • user@hongo000:~$ [ls, rm, cp, mkdir] mnt_chiba http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  6. SSHFS: Framework User Application General File System Call hostA_mountpoint hostB_mountpoint fuse fuse Translation SSHFS SSH client SSH client SSH Commands hostB hostA http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  7. SSHFS: Evaluation Data Transfer Rate (Mbps) SSHFS-FUSE overhead http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  8. HandyFS: Motivation • Disadvantages of Merely Using SSHFS • Non-scalable • Users have to create many mount points for hosts • Non-unified namespace • Files under different mount points (hosts) should be manipulated separately • Motivation of HandyFS • Inherit simplicity from SSHFS • Create a scalable mount for many hosts • Ad-hoc create a unified namespace for files on many hosts http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  9. HandyFS: Usage • Create ONE local mount point • user@hongo000:~$ mkdirmnt_all • Mount MULTIPLE remote directories to mount point • user@hongo000:~$ handyfs chiba000.intrigger.nii.ac.jp:/sharedir1 chiba001.intrigger.nii.ac.jp:/sharedir2 ......mnt_all • Access remote files via local mount point • user@hongo000:~$ [ls, rm, cp] mnt_all http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  10. HandyFS: Framework The trick is using FUSE twice 1. SSHFS mount for remote host 2. Local mount for directory merge Host1 Host2 User Application HandyFS SSHFS SSHFS /handyfs_mnt /sshfs_mnt1 User Kernel /sshfs_mnt1 FUSE Kernel Module http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  11. HandyFS: File Operations Source directory Tree at HostA Source directory Tree at HostB Virtual directory Tree /mnt_hostA /mnt_hostB / /A /B /B /C /A /B /C /B/C /B/D /B/C /B/D • Directories Merge • Source directories and Target (virtual) directory • Source directory: SSHFS mount points for each host • Target directory: Directory in HandyFS namespace http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  12. HandyFS: File Operations Virtual Directory Source Directories Implemented by using BerkeleyDB to achieve good performance /cmndir /srcdirA/cmndir /srcdirB/cmndir • Directories Merge • Source directories and Target (virtual) directory • Directory Table • To remember virtual directory is merged from which source directory • On-Demand Merge Operation • Merge operation occurs only when request reach non-merged path http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  13. HandyFS: File Operations Retrieve source directory entries from directory table Lookup a file with full pathname On-demand Merge Lookup file in each retrieved source directory entries If target pathname has not been merged, then merge and store into directory table Return result to user File Lookup http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  14. HandyFS: File Operations • Directory Split • Remove one or several source directories from virtual directory, we have two alternatives • Remove directory table entries • Heavy Operation: Search entire directory table • Re-insert overhead if source become available again • Blind user view of source directories by filtering • Use a in-memory filter to mark current available sources • File lookup results are filtered before returning to user • Efficient and re-usable http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  15. HandyFS: File Operations Lookup a file with full pathname Lookup file in each retrieved source directory entries If target pathname has not been merged, then merge and store into directory table Filtering out results that are from removed source directories Retrieve source directory entries from directory table Return result to user Directory Split http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  16. HandyFS: File Operations • File Creation • File is created at random source directory • For directory file, an entry is created in directory table • Directory Read • Similar as file lookup • Lookup target directory • Read all entries from source directories that composed of target directory http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  17. HandyFS: File Operations • Some Practical Problems • Same file from multiple sources • Not compatible with UNIX file semantics • Define priority of source directory • Only files from source directory with high priority are visible to user • Stale of Directory Table • Remote directory tree may be modified by its local operations • Periodically update http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  18. HandyFS: Evaluation • Experimental Environments • InTrigger Platform: https://www.logos.ic.i.u-tokyo.ac.jp/intrigger/ http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  19. HandyFS: Evaluation SSHFS-FUSE overhead TWICE-FUSE-MOUNT overhead • Experimental Results • Data Transfer Rate http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  20. HandyFS: Evaluation TWICE-FUSE-MOUNT overhead Wide-Area Latency SSHFS Overhead • Experimental Results • Source Compilation http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

  21. Future Work • Performance • HandyFS itself • To remove MOUNT-TWICEoverhead • SSHFS performance • Need be tuned at source level • Scalability • “One-to-All” mount  “All-to-All” mount http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx

More Related