On Tuesday 23 May 2017 08:37 PM, Jan Vrany wrote:
Hi,

Is it possible to build a file responder right into Pharo and
expose packages through WebDAV or FUSE or sshfs service? Then the
contents can go directly from RAM (pharo) to RAM (repo server or
git) without going through slow disk filesystem.
Yes it's possible and really interesting for lots of reasons.  Not
sure why no one is exploring this avenue.
I did explored this path with FUSE ages age (~10 yeas, IIRC) and,
if my memory is not failing me, was possible but turned out to be
useless in practice. The problem was that the call to fuse entered
a kernel and sit there until there was a FS request at which point
it called back my smalltalk. This means smalltalk was unresponsive
most of the time. Besides, one needed superuser priviledges and all
that stuff. Things may be different these days.

Yes, FUSE has evolved. Here is a recent paper on it:

 https://www.usenix.org/system/files/conference/fast17/fast17-vangoor.pdf

The main advantage of FUSE is that responders don't need root permissions to mount archives, unlike NFS. There are over 100 of them like iso, zip, vfat, cram, smb etc. I use fuse-zip regularly to skip extracting lots of small files into disk/SSDs. WebDAV or sshfs is a little more complex but is multi-platform as they work over network sockets instead of device i/o.

The important point here is not about the protocol but about live mapping of Pharo packages/sources into the host fs namespace. Live mapping will let us leverage existing tools for devops instead of having to build separate clients for each version control system right into Pharo. The perf boost we get when objects pass from RAM to RAM without going through disk block is a bonus.

Regards .. Subbu

Reply via email to