re: Servers vs. Libs

From: James Northrup <james_northrup_at_nospam.org>
Date: Tue Feb 20 2001 - 12:37:24 PST

My take on remote displays is to, at least once, achieve the fascist minimum
latency of a distributed display operation. I'm considering the far server
extremity, which is to interface the packet inbound and reassembly queue
directly with the graphics pipelines and dma.

I'm guessing packets arriving in a packet reassembly queue are aligned but
the ensuing stripped data buffers are merely copies that have been
re-aligned . Routers may in fact re-map a packet entirely for an outbound
packet queue. When a library or user space program recv's a buffer of data
it has not had the privilege of insuring the data's alignment.

By tapping into kernel mode operations and building a stovepipe from the
network to the graphics subsystems we may bypass the context switch of
user-space and simply apply buffers that have been scheduled and
pre-arranged by the user-space code running at a very high frame rate with
very small needs relative to the volume of data being moved. I wouldn't
suggest that a small pc firewall would like to insert a graphics packet
filter into its reassembly queue. But who needs to service disk, if audio
and display data is pouring in unencumbered and intercepted before context
switch is invoked.

Finally, for portability concerns, there is no doubt in my mind that a
lock-tight hardware description of a graphics context -- be it a 3d
rendering pipeline or a bitmap staging area, GGI stream or otherwise can be
described by a corba namespace which accounts for a driver,platform,and
version, and register information.

I would consider the fallback to a hardware-optimized remote display to be a
very convenient VNC, GGI, or X11 alternative, but I don't imagine that any
user space solution could address the specialized network considerations as
efficiently without breaking some eggs.

It may be a breakthrough in game engines to build a kernel with such a bias,
and a rendering engine with a very complete vocabulary of network primitives
to render high speed openGL by directing network traffic. it could
possibly render java Swing components faster on a 200mhz switched network
than on a 200 mhz Pentium mmx with a decent display adapter. Network
Switches are sub-$100. Late model CPU and RAM and disks are $$$++;

Back to the devil's advocacy for me..
-----Original Message-----
From: David Jeske [mailto:jeske@chat.net]
Sent: Monday, February 19, 2001 3:56 AM
To: vsta@zendo.com
Subject: Re: Servers vs. Libs

Regarding this graphics 'servers vs. libs' discussion. I recommend
taking a look at what the linux libGGI did with a creative library
stuff. It certainly had a server component (in the form of X, or a
kernel driver), however, they did some neat stuff by making the libggi
library the focus of the user-level programs. They could easily be
retargeted to different displays by GGI changing the way the library
was bound.

..back to lurking.

--
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske_at_chat.net
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Received on Tue Feb 20 12:20:08 2001

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:57 PDT