9front - general discussion about 9front
 help / color / mirror / Atom feed
From: "Frank D. Engel, Jr." <fde101@fjrhome.net>
To: 9front@9front.org
Subject: Re: [9front] Enabling a service
Date: Wed, 8 May 2024 11:49:32 -0400	[thread overview]
Message-ID: <328dc131-044d-408d-a040-512a44ae6e7b@fjrhome.net> (raw)
In-Reply-To: <f4f76664-772c-4d08-96e9-9bd29e97dccb@posixcafe.org>

How did it work for Venti when there were multiple users?

You still have a single source of truth on the file server as all of the 
data would still be written there with this approach and it would still 
manage the directory structure, so any data that would come from other 
users would ultimately just be pulled from the file server and loaded 
into their cache separately.

One challenge might seem to be simultaneous writes to different parts of 
the same block, but in this case the locally calculated hash for the 
block that was written to cache would (hopefully) not match the one 
calculated by the file server which would reflect both updates, so when 
the read would occur the file server would send a hash that would not be 
in the local cache and the read would be sent across to the file server 
for the updated block, with the incorrect local block eventually being 
aged out of the cache as it started to fill up.


On 5/8/24 10:17, Jacob Moody wrote:
> On 5/8/24 03:39, Frank D. Engel, Jr. wrote:
>> Some of this latency problem might be helped, at least for reading, by
>> keeping a local cache of the data in the remote file system.
>>
>> Fossil/venti may actually suggest a way of doing this.
>>
>> Think of having blocks of data cached locally in a modified venti
>> structure based on (usage_time, venti-hash, data_block), such that
>> instead of making the data permanent, data with a sufficiently old
>> usage_time may simply be overwritten when more space is needed, and the
>> usage_time is updated when the data is used again.
>>
>> The fossil remote filesystem would be fossil-like, holding the hash for
>> the data blocks, such that data written to it is write-through from the
>> remote (laptop) end of things, being written to the cache using the
>> calculated hash (yes, that rhymes) as well as sent to the disk server
>> across the (latent) network; when data needs to be retrieved, it obtains
>> the hash from the remote side, then checks the local cache to see if a
>> copy is available.  If so, it can simply use the local copy it has from
>> the cache, otherwise it requests it from the other end.
> This would likely work fine for a single user but the merging of data
> in use by a handful of people becomes quite the challenge.
>
>
>


  reply	other threads:[~2024-05-08 15:53 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-06 11:32 Rocky Hotas
2024-05-06 11:58 ` Alex Musolino
2024-05-06 12:43 ` ori
2024-05-06 15:16   ` Scott Flowers
2024-05-06 15:37     ` sirjofri
2024-05-06 16:32     ` Stanley Lieber
2024-05-06 22:18   ` Rocky Hotas
2024-05-06 22:59     ` ori
2024-05-06 23:00     ` ori
2024-05-07  8:22       ` Rocky Hotas
2024-05-07  8:29         ` Frank D. Engel, Jr.
2024-05-07  9:03           ` Rocky Hotas
2024-05-07  9:14         ` sirjofri
2024-05-07 21:11           ` Shawn Rutledge
2024-05-07 21:35             ` Kurt H Maier
2024-05-07 21:45               ` sirjofri
2024-05-07 21:54             ` sl
2024-05-07 21:58               ` sl
2024-05-07 23:15                 ` Lennart Jablonka
2024-05-07 23:16                 ` Shawn Rutledge
2024-05-07 23:45                   ` Shawn Rutledge
2024-05-08  0:34                   ` Kurt H Maier
2024-05-08  0:35                   ` sl
2024-05-08  1:05                     ` Jacob Moody
2024-05-08  1:24                       ` sl
2024-05-08  7:22                         ` hiro
2024-05-08 14:04                           ` Stanley Lieber
2024-05-08 12:08                         ` Stuart Morrow
2024-05-08 16:37                           ` Brian Stuart
2024-05-08 20:16                             ` hiro
2024-05-08 21:26                               ` Stuart Morrow
2024-05-08 21:17                             ` Disconnection-tolerant / distributed filesystems (was Re: [9front] Enabling a service) Shawn Rutledge
2024-05-08 14:25                         ` [9front] Enabling a service Jacob Moody
2024-05-08  3:41                       ` Ori Bernstein
2024-05-08  4:09                         ` sl
2024-05-08  8:39                           ` Frank D. Engel, Jr.
2024-05-08 14:17                             ` Jacob Moody
2024-05-08 15:49                               ` Frank D. Engel, Jr. [this message]
2024-05-08 16:10                                 ` Jacob Moody
2024-05-08 16:33                                   ` Frank D. Engel, Jr.
2024-05-08 17:27                                     ` Jacob Moody
2024-05-08 18:00                                       ` Steve Simon
2024-05-08 19:46                                         ` hiro
2024-05-08 19:46                                   ` Roberto E. Vargas Caballero
2024-05-08 20:34                                     ` tlaronde
2024-05-08 14:57                   ` Lucas Francesco
2024-05-08 15:10                     ` an2qzavok
2024-05-08  2:11             ` Thaddeus Woskowiak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=328dc131-044d-408d-a040-512a44ae6e7b@fjrhome.net \
    --to=fde101@fjrhome.net \
    --cc=9front@9front.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).