2 ms·
Every year at the Plan9 International Workshop, we tussle with how to improve networking performance, particularly for streaming. Every 9p request needs to be r
by SixSigma 11y ago
Every year at the Plan9 International Workshop, we tussle with how to improve networking performance, particularly for streaming. Every 9p request needs to be rec'd. There's no look ahead. This makes it particularly unsuitable for streaming, for instance.
We have tried queued 9p responses, multiple 9p packets in the same tcp packet, extensions to the protocol. Nothing seems satisfactory enough to make it into the core.
- theoh 11y agoThat is very interesting to hear. Given the need to retrofit X11 with various mechanisms for fast local access to framebuffer or graphics accelerator, I have never been convinced that the 8 1/2 and Rio window systems, in which all drawing happened through streams of bytes, were complete and future-ready graphics systems. I wonder if the "everything is a file" principle is actually Plan 9's weakness, a simplistic oversimplification of the nature of OS resources. What if we keep Plan 9's structure/topology (private namespaces, network transparency where possible) but redesign the fundamental file abstraction. Maybe this needs to happen at the level of a new instruction set which provides primitive data block transfer operations which can be implemented efficiently e.g. by memory mapping or dma on local hardware and which automatically fallback to streaming in the network case. Not new silicon but a fast virtual machine which provides network transparency and high performance where possible.
- SixSigma 11y agoOne thing to remember is that Plan9 was born as a research project. Another is that we don't consider it a jack-of-all-trades OS. It was built by programmers to facilitate their daily work. Importing namespaces is an amazing abstraction. You can do some truly wonderous things. We can play Quake though so it's not all bad :)