7 ms·
Case Study: IBM's System/360-370 Architecture (1987) [pdf]
- saagarjha 8y ago> we wanted to emphasize that the architecture is, in fact, defined; the definition, however, specifies the operation to be unpredictable. That is, the operation may vary among models, and on any one model may differ among instances. Otherwise someone could ask when we are going to complete the definition. This is quite an interesting way of combating Hyrum's Law!
- mrbill 8y agoThe book "IBM's 360 and Early 370 systems" by IBM Press goes DEEP into the development of these systems, and is one of my very favorite technical books. I paid $50 for a used copy more than a decade ago and it's well worth it. (also: "IBM's Early Computers" from some of the same authors, covers pre-360 stuff). https://books.google.com/books/about/IBM_s_360_and_Early_370_Systems.html https://books.google.com/books/about/IBM_s_360_and_Early_370...
- jejones3141 8y agoInteresting. I wish they'd discussed why they went for base 16 floating point.
- wglb 8y agoIf I recall correctly, knuth’s volume two about semi numerical algorithms talks abou that in adequate detail.
- Cactus2018 8y agoFred Brooks is mentioned in the case study. The book "The Mythical Man Month" is about software engineering and project management based on Fred Brooks experiences at IBM while managing the development of OS/360. > assigning more programmers to a project running behind schedule will make it even later. > while it takes one woman nine months to make one baby, "nine women can't make a baby in one month". https://en.wikipedia.org/wiki/The_Mythical_Man-Month https://en.wikipedia.org/wiki/The_Mythical_Man-Month
- wglb 8y agoThe book is essentially an apologia for finishing one year late.
- graycat 8y agoAnd he ended up with JCL, one of the worst pieces of work in computing. There were already much better user interfaces then.
- wglb 8y agoIn those days? Can you give an example?
- graycat 8y agoDEC10
- msla 8y agoThe PDP-10 family ran a few operating systems in its life, some of which had better or worse user interfaces, but one of the things the all had in common was a focus on interactive use as opposed to batch operation or even block-mode terminals. Interactive use means each concurrent user represents more system load compared to the alternatives.
- wglb 8y agoThe pdp 10 was introduced in 1966. DOS/360 was introduced in 1964, prior to the PDP 10. Thus, there was nothing to borrow when JCL was invented. Again, what examples of existing languages were available at the time the JCL was invented?
- jecel 8y agohttps://en.wikipedia.org/wiki/Work_Flow_Language https://en.wikipedia.org/wiki/Work_Flow_Language It says this was introduced "soon after 1961", though I doubt the IBM people were aware of it.
- drfuchs 8y agoI appreciate the shout-out to the “Imprecise Interrupt” found only in the 360/91: “You divided by zero somewhere in there, but we’re not going to tell you where, and if you’ve done a Branch/Jump by the time we detected it, the current Instruction Pointer won’t give you much of a clue, either.” Fun times.
- monocasa 8y agoThe 360/91's FPU was the first full on Tomasulo's algorithm OoO pipeline. Recovering from exceptions and unwinding state is one of the most difficult parts of those cores, so I don't really blame them for punting on that part
- graycat 8y agoI learned PL/I on the 360/91 at the JHU/APL. Later I used PL/I on CP67/CMS in Stamford to save FedEx the first time, to schedule the full planned 33 planes to cover the planned 90 cities. Founder, COB, CEO Smith's remark at the staff meeting was 'An amazing document, solves the most important problem facing Federal Express." Our two guys from BoD Member General Dynamics looked over the schedule and said "It's a little tight in a few places, but it's flyable." The BoD doubts were defeated; the BoD was pleased; crucial funding was enabled; and FedEx was saved. PL/I is a nice language. When I got a phone interview from Google and they asked me what my favorite language was, of course I said PL/I. Apparently way wrong answer and they were looking for at least C and hopefully C++. I was later in the IBM Watson lab research group that did KnowledgeTool, a rule based pre-processor to PL/I. Some of my knowledge of PL/I internals let me do a trick that saved much of the language -- I got an award for that. PL/I based structures are nearly as nice as C# objects and for addressing use essentially only generalized array addressing so are really fast. If want methods, then have some entry variables in the structure. For a light version of inheritance, use the attribute Like. For something like polymorphism, use Generics, or whatever it was called then, that is, the right version of the code is called depending on the types of what is passed. The scope of names support is terrific stuff. Similarly for the exception condition handling via On conditions and how they work with scope of names and the stack of dynamic descendancy. There's a lot of good stuff in PL/I. Sorry people at Google didn't know about PL/I!
- glhaynes 8y agoI found this line interesting: “All of the reasonable designs that have been developed have been a lot closer to each other than people expected.” It feels (to me, who is admittedly not a hardware person) as though instruction sets haven’t really been that important aside from a brief moment when RISC seemed revolutionary.
- nabla9 8y agoIntel, Alpha, ARM, SPARC, have clever legacy quirks and hacks. VLIW's, stack machines, tagged architectures etc. never took off. RISC-V is the newest and coolest completely new instruction set. It's also one of the the most reasonable, practical and boring instruction sets you can imagine. It's basically updated and cleaned MIPS-style ISA with minimal surprises.
- rbanffy 8y agoFor modern high performance CPUs the benefit of RISC in terms of simpler/faster decoding fade a bit in relation to the memory bandwidth benefit of more concise instructions. Still, a lot of die space is dedicated to interpret x86 instructions and issue operations for the backend. I wouldn't mind having that silicon dedicated to more threads (which mean fewer context switches) or a larger cache (which somewhat negates the advantages of a more concise code)
- nabla9 8y agoRISC-V has compressed instruction subset that reduces code size 25-30%.
- rbanffy 8y agoHaving a compressed ISA AND a smaller decoder is a win-win. There are, sadly, non-intrinsic reasons why x86 holds the position it does - nobody has the kind of money Intel has to invest in high-performance desktop CPUs. The few companies that do either go after the x86 market or ignore the desktop and low/mid-range server niche.
- andrewf 8y ago> Q: What sorts of radical changes can you foresee that would cause the 360 architecture to be supplanted by a new architecture? > A: That’s hard to say. If there is ever a breakthrough in harnessing thousands of micros into an effective array for a wide-enough spectrum of big jobs, then it might be time to rethink the major computer product lines.
- msla 8y agoA Beowulf Cluster, in case you weren't on Slashdot in the 1990s: https://en.m.wikipedia.org/wiki/Beowulf_cluster https://en.m.wikipedia.org/wiki/Beowulf_cluster
- itomato 8y agoYes, but can you imagine a Beowulf Cluster of 360 boxes?
- hodgesrm 8y agoThis is such a great punchline. It came out just as Sun and DEC were laying the foundation for modern networked systems, which along with PCs overturned mainframe hegemony. Loved the article by the way. My first real intro to computing was the IBM/370 Principles of Operation.
- enricotal 8y agoMy dad's factory in the 80s was managed by s360. I do not understand why, but 1 out of 4 companies in Italy I talk to, are still running AS400... This must be something like Maya architecture :)