[Info-vax] OS implementation languages

Bob Gezelter gezelter at rlgsc.com
Fri Sep 1 06:06:53 EDT 2023


On Thursday, August 31, 2023 at 1:45:56 PM UTC-4, Johnny Billquist wrote:
> On 2023-08-31 11:23, Bob Gezelter wrote: 
> > On Thursday, August 31, 2023 at 12:35:05 AM UTC-4, gah4 wrote: 
> >> On Tuesday, August 29, 2023 at 10:25:31 AM UTC-7, Simon Clubley wrote: 
> >> 
> >> (snip) 
> >>> 400GB/s ??? Is that all ??? Amateurs!!! :-) 
> >>> On a more serious note, I wonder what the maximum rate VMS is capable 
> >>> of emitting data at if it was using the fastest network hardware 
> >>> available. 
> >> I am not sure what hardware can do now. 
> >> 
> >> Traditionally, Ethernet was much faster than processors, such that the 
> >> shared media could handle the load. 
> >> 
> >> That is less obvious now, but a 400Gb/s network doesn't mean that one host 
> >> can go that fast. 
> >> 
> >> Otherwise, there are many stories of running old OS in emulation on modern 
> >> hardware, running into problems that never would have occurred years ago. 
> >> 
> >> One is that emulators often do synchronous I/O. The I/O interrupt occurs almost 
> >> immediately, as seen by the OS. Some OS assume that there is time in between. 
> >> 
> >> It is, then, possible that surprises will be found when running I/O at higher speed. 
> >> 
> >> It might be useful to say which host architecture you were asking about. 
> >> I am sure no-one thought about 400Gb/s Ethernet for VAX. 
> > gah4, 
> > 
> > Ethernet (and other CSMA/CD networking approaches) in a configuration with more than a single, full duplex connection connecting two adapters are essentially limited to a maximum effective utilization of 30% before contention backoff becomes unacceptable.
> Actually, that was/is a common misconception that still appears to be 
> around. With ethernet it was shown that it performs just fine up to 
> about 70-80% utilization. 
> 
> The 30% is basically what you see with Aloha based communication. 
> However, Ethernet is not really like Aloha. The point being that once 
> the initial 64 bits have been transmitted, noone else is going to start 
> transmitting, so no collision will happen after that, and the full 
> packet will go through. Basically, ethernet is based on listen before 
> starting transmit, while Aloha do no such thing. 
> 
> You can find some math behid this on 
> https://intronetworks.cs.luc.edu/1/html/ethernet.html for example. But 
> you should be able to find more articles about this if you search around.
> > Active switches, as opposed to hubs, can increase this threshold as each cable is physically connected to an interface and a switch port.
> Yes. With TP and switches on ethernet, every connection is contention 
> less, and the only problem is that switches have finite resources, and 
> if many ports want to talk towards a specific port, that will be 
> saturated, and packets will have to be dropped. But you will be able to 
> get to the nominal speed of the port at least.
> > Instant I/O completion has uncovered all manner of bugs and deficiencies over the years. Most such problems are at the driver level, where a driver fails to ensure that data structures are correctly prepared for an immediate interrupt when the "Go" bit is triggered. On occasion, an application has been written to run very I/O bound with the presumption that I/O delay will slow it down, e.g., OpenVMS COPY, RSX-11 PIP, linux dd. Combine a greedy application with a high dispatch priority and voila, monopolized machine for the duration. On OpenVMS, put a process at a base priority above most users, say 6-7, and run a large COPY from one instantaneous mass storage device to another. Other users see an effectively dead machine.
> True. Most of the time I don't think there are many problems with I/O 
> completing immediately (there is one known such problem in RSX, and that 
> is the console terminal device driver that gets the data reversed if 
> interrupt happen immediately). But starving other processes for 
> resources when I/O completes immediately is definitely a thing in almost 
> any OS.
> > Virtual machine-level synchronous I/O is a gargantuan performance impediment on many levels. My aforementioned Ph.D. dissertation on I/O performance, one of the main conclusions was that unnecessary serialization at any point in the I/O stack was a performance cliff. Serialization obstructs lower-level optimization and workload management. The mathematics could not be more definitive.
> Yes. And I'll just reflect from an RSX point of view here, since I'm so 
> intimately aware of the innards there. RSX actually have very little 
> serialization in most places. The system is very asynchronous in its 
> core design. Which is utilized by drivers and software to allow hardware 
> to reorder operations when it want to, since hardware can do this better 
> than software most of the time. But reordering also in software is 
> something that RSX can do. But for the MSCP device driver, for example, 
> software reordering is disabled, because it just lets the hardware do it 
> instead. And requests from programs can easily be asynchronous as well. 
> In fact they always are, but programs can request to wait for the 
> completion if they don't want to do something else meanwhile. But lots 
> of programs do make use of this possibility, since the CPU wasn't that 
> fast to begin with, so you were often very interested in ways to get 
> more performance out of your software, and having I/O going on in the 
> background was the most obvious way to improve. 
> 
> VMS inherited much of the design around this from RSX, so much is the 
> same. But of course, with more resources, less effort was put into 
> making use of such contructs. After all, it takes more work to write and 
> ensure it works right. 
> 
> Johnny
Johnny,

I am somewhat busy today, but the "With ethernet it was shown that it performs just fine up to
about 70-80% utilization." is somewhat apples/oranges.

You are correct that Aloha is the first, or at least the first well-known discussion of the phenomenon. However, the cited lecture notes miss several points.

- Aloha network nodes do not have guaranteed mutual visibility (a side effect of being radio-based on islands).
- The comparable Ethernet analysis presumes 10Base5 or 10Base2 coax with possible repeaters, not switches, with a network diameter maximum computer to guarantee that the signal of a transmitting node is detectable within the minimum packet size.

The presence of switches, which are inherently store-and-forward at a packet level, change the analysis dramatically. For the record, I recall that there were 10BaseT hubs, but the cost saving was not significant, so they are rare.

With care and careful design, one can get higher utilization, but that is a different story. For reference, look up Digital's CI, a higher performance CSMA/CD scheme, but with some twists to run at higher utilization percentages.

IEEE 802.11 (aka WiFi) is a different conversation altogether.

- Bob Gezelter, http://www.rlgsc.com



More information about the Info-vax mailing list