From: hiro <23hiro@gmail.com>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] 9p server to multiply 9p messages?
Date: Wed, 1 Jun 2022 18:39:34 +0300 [thread overview]
Message-ID: <CAFSF3XNWmfidgfP6wqgAP=oz8AMdoMmt5-YWcK2C-y48_6DPow@mail.gmail.com> (raw)
In-Reply-To: <CAFSF3XO+xR3DrUVNLSgGFier-2tVW9n8-QnP_Eo2GG3mjH+6cQ@mail.gmail.com>
In case this is not immediately clear: theoretically preventable 1rtt
minimum delays are much less bad than the practically unbounded
maximum delays in congested networks.
Put in another way: making some few things fast is much more easy than
making sure that everything else doesn't get infinitely slow as a
result to this.
Right now huge streams don't get huge unfair advantages unless the rtt
is very small or the parallelism very high
On 6/1/22, hiro <23hiro@gmail.com> wrote:
> I don't think the reason nobody is doing this is that it's difficult per
> se.
>
> Fcp also achieves parallelism without any changes to 9p.
>
> And posix fs also share some of our statefulness.
>
> A file system can have offsets, readahead can help.
>
> Other synthetic FS need different tricks, but we can exchange some
> guarantees that are only needed in seekable files for an optimization
> that shall only be done on pipes and streaming access.
>
> There's some trivial heuristic solutions for this but they are not
> generic naturally.
>
> If one were to do this right, after a few increments one will see that
> bandwidth limits are hit, which is a new problem that is much harder
> to solve and impossible without even more heuristics classifications
> possibly applied by a distributed 9p scheduler (dynamic multi hop
> network congestion awareness anybody?)
>
> On 6/1/22, ron minnich <rminnich@gmail.com> wrote:
>> On Tue, May 31, 2022 at 11:29 AM hiro <23hiro@gmail.com> wrote:
>>>
>>> so virtiofs is not using 9p any more?
>>>
>>> and with 10 million parallel requests, why shouldn't 9p be able to
>>> deliver 10GB/s ?!
>>
>> Everyone always says this. I used to say it too.
>>
>> 9p requires a certain degree of ordering -- as Andrey once pointed
>> out, it's not productive to close a file, then write it. So there is a
>> tricky ordering requirement you need to get right, due to Plan 9 being
>> stateful.
>>
>> The way we use 9p in Plan 9, as a general purpose protocol for
>> everything, like devices, requires that each Tread or Twrite occur in
>> order, but also requires that each T be retired before the next T is
>> issued. devmnt does this. If you don't do this, hardware can get
>> confused (e.g. ordering of Twrite followed by Tread followed by Twrite
>> needs to be maintained. E.g. you don't want to issue the Tread before
>> you know the Twrite happened. E.g. pre-posting 100 Treads to
>> /dev/mouse is not a good idea if you suddenly want to do a Twrite in
>> the middle of it).
>>
>> This is why 9p starts to perform poorly in networks with high
>> bandwidth*delay products -- if you watch the net traffic, you see each
>> T op on fid blocked by the previous Reply (by devmnt).
>>
>> I never figured out a way to fix this without fixing devmnt -- by
>> removing its general nature.
>>
>> But, more to the point, whether or not 9p should be able to do all
>> these parallel requests and get high performance, nobody has yet done
>> it. The only numbers ever reported for making high bandhwidth*delay
>> networks better were in Floren's thesis, when he added Tstream.
>>
>> After 20+ years of this discussion, I start to wondering whether it's
>> harder than it looks.
>>
>> ron
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T769854fafd2b7d35-M099a56feb7c401cc1d0b3ed6
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
next prev parent reply other threads:[~2022-06-01 15:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-28 16:02 fgergo
2022-05-28 18:43 ` Skip Tavakkolian
2022-05-28 19:21 ` ron minnich
2022-05-29 10:33 ` fgergo
2022-05-29 10:23 ` fgergo
2022-05-29 11:41 ` fgergo
2022-05-29 23:16 ` Bakul Shah
2022-05-30 4:59 ` ori
2022-05-30 7:19 ` Bakul Shah
2022-05-30 8:03 ` fgergo
2022-05-30 8:35 ` hiro
2022-05-31 16:14 ` ron minnich
2022-05-31 18:27 ` hiro
2022-05-31 18:35 ` ori
2022-06-01 12:00 ` ron minnich
2022-06-01 14:51 ` ori
2022-06-01 15:31 ` hiro
2022-06-01 15:39 ` hiro [this message]
2022-06-01 16:01 ` ori
2022-06-01 4:26 ` Bakul Shah
2022-06-01 7:25 ` hiro
2022-06-01 15:55 ` Jacob Moody
2022-06-01 17:56 ` Steve Simon
2022-06-01 22:29 ` hiro
2022-05-30 8:33 ` hiro
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='CAFSF3XNWmfidgfP6wqgAP=oz8AMdoMmt5-YWcK2C-y48_6DPow@mail.gmail.com' \
--to=23hiro@gmail.com \
--cc=9fans@9fans.net \
/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).