9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: John Floren <slawmaster@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] 9p vs http
Date: Mon, 15 Nov 2010 00:26:50 -0500	[thread overview]
Message-ID: <AANLkTimbF0RKm2hMKfr=Eg44UAwfWJrkpO8xnK2YQd2d@mail.gmail.com> (raw)
In-Reply-To: <20101115051625.GD27578@opal.ai.ki>

On Mon, Nov 15, 2010 at 12:16 AM, Sam Watkins <sam@nipl.net> wrote:
> On Sun, Nov 14, 2010 at 11:20:00PM -0500, John Floren wrote:
>> Please see lsub's Op and my Streaming talk at the most recent IWP9.
>
> Ok, thanks.  I did not know that 9p has latency problems even when reading a
> single file.  I was talking about pipelining, where you can ask the server to
> send a dozen files or chunks all of metadata all in a single packet.  As I
> said, I think this might be useful even within a site.
>
> Do you think http has any disadvantages compared to 9p?
> Could it be used instead of 9p in a similar role?
>
>
> Example of http pipelining:
>
> client sends:
>
>        HEAD / HTTP/1.1
>        Host: iwp9.org
>
>        HEAD /slides/floren.pdf HTTP/1.1
>        Host: iwp9.org
>
>
> server replies:
>
>        HTTP/1.1 200 OK
>        Server: Plan9
>        Date: Mon, 15 Nov 2010 05:06:10 GMT
>        ETag: "2e3c1v24"
>        Content-Length: 10382
>        Last-Modified: Fri, 15 Oct 2010 14:14:24 GMT
>        Content-Type: text/html
>
>        HTTP/1.1 200 OK
>        Server: Plan9
>        Date: Mon, 15 Nov 2010 05:06:10 GMT
>        ETag: "2e390v10"
>        Content-Length: 122477
>        Last-Modified: Wed, 13 Oct 2010 23:55:44 GMT
>        Content-Type: application/pdf
>
[snipped]
>
>
> Sam
>

You might be interested in Oleg Kiselyov's HTTPFS paper, which
basically put a filesystem frontend on HTTP, so he could give URLs as
arguments to programs and have them treated as normal files
(translating reads and writes into GET and PUT with caching).

I'm not sure how useful pipelining would be in the context of 9P. We
have a very tight relationship between each libc function (open, read,
write, close) and the 9P messages (Topen, Tread, Twrite, Tclunk), and
I just can't see where this pipelining thing would go in. If you want
to open and read two files, you call open() twice, get two different
fds, and read and write from those. Of course, when you're reading
from one file, nothing's happening with the other file; my streams
system (the paper and code should be out soon) would help alleviate
some of these problems.


John



  reply	other threads:[~2010-11-15  5:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-15  3:25 Sam Watkins
2010-11-15  4:20 ` John Floren
2010-11-15  4:26   ` Bruce Ellis
2010-11-15  5:16   ` Sam Watkins
2010-11-15  5:26     ` John Floren [this message]
2010-11-15 14:09     ` Gorka Guardiola
2010-11-15 14:15       ` Gorka Guardiola
2010-11-15 15:37         ` roger peppe
2010-11-15 16:45           ` C H Forsyth
2010-11-15 16:37             ` roger peppe
2010-11-15 16:48               ` erik quanstrom
2010-11-15 17:02                 ` roger peppe
2010-11-15 19:29                   ` erik quanstrom
2010-11-15 21:38                     ` roger peppe
2010-11-16  1:18                       ` erik quanstrom
2010-11-16 12:12                         ` roger peppe
2010-11-16 15:56                           ` Charles Forsyth
2010-11-16 16:04                             ` erik quanstrom
2010-11-16 16:32                               ` Charles Forsyth
2010-11-16 17:11                                 ` roger peppe
2010-11-15 15:44 ` David Leimbach
2010-11-15 15:55   ` Venkatesh Srinivas
2010-11-15 15:57     ` David Leimbach
2010-11-15 18:44 ` Russ Cox
2010-11-15 19:00   ` Dan Adkins
2010-11-15 22:18     ` Yaroslav
2010-11-15 22:34       ` erik quanstrom
2010-11-16 12:42     ` Russ Cox

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='AANLkTimbF0RKm2hMKfr=Eg44UAwfWJrkpO8xnK2YQd2d@mail.gmail.com' \
    --to=slawmaster@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).