9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: ron minnich <rminnich@gmail.com>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] 9p server to multiply 9p messages?
Date: Wed, 1 Jun 2022 05:00:07 -0700	[thread overview]
Message-ID: <CAP6exYLAifuBhXyoG7KfwzOd6s7mHfZ35zYiXXVPAosEn+ZjwQ@mail.gmail.com> (raw)
In-Reply-To: <CAFSF3XPN46dqnKKomAEu7kgqntTUN2ErNdu=L70zwUe5GS=buA@mail.gmail.com>

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-M71f56ad40eb62ce87f0917e3
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

  parent reply	other threads:[~2022-06-01 12:00 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 [this message]
2022-06-01 14:51             ` ori
2022-06-01 15:31             ` hiro
2022-06-01 15:39               ` hiro
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=CAP6exYLAifuBhXyoG7KfwzOd6s7mHfZ35zYiXXVPAosEn+ZjwQ@mail.gmail.com \
    --to=rminnich@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).