From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <7390b81f52bc8af2a1925fa45b039597@kw.quanstro.net> References: <7390b81f52bc8af2a1925fa45b039597@kw.quanstro.net> Date: Tue, 15 Jun 2010 14:53:06 -0700 Message-ID: From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd571a261d46f048918a122 Subject: Re: [9fans] Inducing artificial latency Topicbox-Message-UUID: 33d5f400-ead6-11e9-9d60-3106f5b1d025 --000e0cd571a261d46f048918a122 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, Jun 15, 2010 at 2:39 PM, erik quanstrom wrot= e: > > I've come up with a basic idea, but before I go diving in I want to > > run it by 9fans and get opinions. What I'm thinking is writing a > > synthetic file system that will collect writes to /net; to simulate a > > high-latency file copy, you would run this synthetic fs, then do "9fs > > remote; cp /n/remote/somefile .". If it's a control message, that gets > > sent to the file immediately, but if it's a data write, that data > > actually gets held in a queue until some amount of time (say 50ms) has > > passed, to simulate network lag. After that time is up, the fs writes > > to the underlying file, the data goes out, etc. > > instead, why don't you create a simulated ethernet device > that adds in a delay before sending the packet along to a > real ethernet device. > > the only trick will be getting the simulated ethernet to > grab the real ethernet during setup. i imagine that you'll > need something like > ether0=3Dtype=3Dfake > fake=3Dreal=3D#l1/ether1 i=3D10 i=CF=83=3D20 o=3D5 o=CF=83=3D0 > in plan9.ini > > - erik > > Could one write a filesystem server that is a passthrough to the ethernet device instead, adding latency? Or is this really going to need to be a new device? --000e0cd571a261d46f048918a122 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On Tue, Jun 15, 2010 at 2:39 PM, erik qu= anstrom <quan= stro@quanstro.net> wrote:
> I've come up with a basic idea, but before I go = diving in I want to
> run it by 9fans and get opinions. What I'm thinking is writing a > synthetic file system that will collect writes to /net; to simulate a<= br> > high-latency file copy, you would run this synthetic fs, then do "= ;9fs
> remote; cp /n/remote/somefile .". If it's a control message, = that gets
> sent to the file immediately, but if it's a data write, that data<= br> > actually gets held in a queue until some amount of time (say 50ms) has=
> passed, to simulate network lag. After that time is up, the fs writes<= br> > to the underlying file, the data goes out, etc.

instead, why don't you create a simulated ethernet device
that adds in a delay before sending the packet along to a
real ethernet device.

the only trick will be getting the simulated ethernet to
grab the real ethernet during setup. =C2=A0i imagine that you'll
need something like
=C2=A0 =C2=A0 =C2=A0 =C2=A0ether0=3Dtype=3Dfake
=C2=A0 =C2=A0 =C2=A0 =C2=A0fake=3Dreal=3D#l1/ether1 i=3D10 i=CF=83=3D20 o= =3D5 o=CF=83=3D0
in plan9.ini

- erik

Could one write a filesystem server that is a pas= sthrough to the ethernet device instead, adding latency? Or is this really = going to need to be a new device?

--000e0cd571a261d46f048918a122--