handyfs: a simple ad-hoc distributed file system only using fuse and sshfs

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

Post on 01-Jan-2016

23 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

1

HandyFS: A Simple Ad-hoc Distributed File System only using FUSE and SSHFSNan DUN Kenjiro Taura Akinori YonezawaThe University of TokyoSep 12, 20071http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptxBackgroundRelated WorkSSHFSFUSEHandyFSDesigns and ImplementationEvaluation and ProblemsFuture WorkSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx2OutlineUser explicit sharing operationrcp, scp[OpenSSH]FTP[J. Postel, et al. 1985.], GridFTP[Globus]

Conventional Distributed File SystemInner-Cluster SharingNFSv3, NFSv4Inter-Cluster SharingAFS[OpenAFS], Gfarm[Tatebe et al. 04]

Background: File Sharing on GridSep 12, 20073http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx3Complexity of conventional DFSsClient-Server ConfigurationsAdministrative PrivilegeTypical Firewall Setting of the Grid

Simplicity of SSHFS [http://fuse.sourceforge.net/sshfs.html]Only need available SSH connectionClient-side mount onlyUser-level Operations without privilegesSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx4SSHFS: A simple alternativeCreate local mount pointuser@hongo000:~$ mkdir mnt_chiba

Mount remote directory to mount pointuser@hongo000:~$ sshfs chiba000.intrigger.nii.ac.jp:/sharedir mnt_chiba

Access remote files via local mount pointuser@hongo000:~$ [ls, rm, cp, mkdir] mnt_chibaSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx5SSHFS: UsageSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx6SSHFS: FrameworkfusehostA_mountpointhostB_mountpointSSH clienthostASSHFSUser ApplicationGeneral File System CallSSH CommandsTranslationfuseSSH clienthostBSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx7SSHFS: EvaluationData Transfer Rate (Mbps)SSHFS-FUSE overheadDisadvantages of Merely Using SSHFSNon-scalableUsers have to create many mount points for hostsNon-unified namespaceFiles under different mount points (hosts) should be manipulated separatelyMotivation of HandyFSInherit simplicity from SSHFSCreate a scalable mount for many hostsAd-hoc create a unified namespace for files on many hosts

Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx8HandyFS: Motivation8Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx9HandyFS: UsageCreate ONE local mount pointuser@hongo000:~$ mkdir mnt_allMount MULTIPLE remote directories to mount pointuser@hongo000:~$ handyfs chiba000.intrigger.nii.ac.jp:/sharedir1 chiba001.intrigger.nii.ac.jp:/sharedir2 ...... mnt_allAccess remote files via local mount pointuser@hongo000:~$ [ls, rm, cp] mnt_allSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx10HandyFS: FrameworkFUSE Kernel ModuleUser ApplicationHandyFSSSHFSHost1Host2UserKernelSSHFSThe trick is using FUSE twice1. SSHFS mount for remote host2. Local mount for directory merge/handyfs_mnt/sshfs_mnt1/sshfs_mnt1Source directory Tree at HostBSource directory Tree at HostADirectories MergeSource directories and Target (virtual) directorySource directory: SSHFS mount points for each hostTarget directory: Directory in HandyFS namespaceSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx11HandyFS: File Operations/mnt_hostA/A/B/B/C/mnt_hostB/B/C/B/D//A/B/B/CVirtual directory Tree/C/B/DDirectories MergeSource directories and Target (virtual) directoryDirectory TableTo remember virtual directory is merged from which source directoryOn-Demand Merge OperationMerge operation occurs only when request reach non-merged pathSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx12HandyFS: File Operations/cmndir/srcdirA/cmndirVirtual DirectorySource Directories/srcdirB/cmndirImplemented by using BerkeleyDB to achieve good performanceFile LookupSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx13HandyFS: File OperationsLookup a file with full pathnameRetrieve source directory entries from directory tableLookup file in each retrieved source directory entriesIf target pathname has not been merged, then merge and store into directory tableReturn result to userOn-demand MergeDirectory SplitRemove one or several source directories from virtual directory, we have two alternativesRemove directory table entriesHeavy Operation: Search entire directory tableRe-insert overhead if source become available again

Blind user view of source directories by filteringUse a in-memory filter to mark current available sourcesFile lookup results are filtered before returning to userEfficient and re-usableSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx14HandyFS: File OperationsDirectory SplitSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx15HandyFS: File OperationsLookup a file with full pathnameRetrieve source directory entries from directory tableLookup file in each retrieved source directory entriesIf target pathname has not been merged, then merge and store into directory tableReturn result to userFiltering out results that are from removed source directoriesFile CreationFile is created at random source directoryFor directory file, an entry is created in directory table

Directory ReadSimilar as file lookupLookup target directoryRead all entries from source directories that composed of target directorySep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx16HandyFS: File OperationsSome Practical ProblemsSame file from multiple sourcesNot compatible with UNIX file semanticsDefine priority of source directoryOnly files from source directory with high priority are visible to user

Stale of Directory TableRemote directory tree may be modified by its local operationsPeriodically update

Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx17HandyFS: File OperationsExperimental EnvironmentsInTrigger Platform: https://www.logos.ic.i.u-tokyo.ac.jp/intrigger/ Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx18HandyFS: EvaluationHardware/SoftwareSpecificationCPUCore2 Duo 2.13HzMemory4GBNetworkGigabit EthernetOSLinux 2.6.18FUSE Kernel Interface7.8FUSE Library2.7.0SSHFS1.8Experimental ResultsData Transfer Rate

Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx19HandyFS: EvaluationSSHFS-FUSE overheadTWICE-FUSE-MOUNT overheadExperimental ResultsSource CompilationSep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx20HandyFS: EvaluationWide-Area LatencySSHFS OverheadTWICE-FUSE-MOUNT overheadPerformanceHandyFS itselfTo remove MOUNT-TWICE overheadSSHFS performanceNeed be tuned at source level

ScalabilityOne-to-All mount All-to-All mount

Sep 12, 2007http://www.yl.is.s.u-tokyo.ac.jp/~dunnan/talk/070912.JSSST07.pptx21Future Work

Recommended

View more >