Slashdot Mirror


Seymour Cray and the Development of Supercomputers (linuxvoice.com)

An anonymous reader writes: Linux Voice has a nice retrospective on the development of the Cray supercomputer. Quoting: "Firstly, within the CPU, there were multiple functional units (execution units forming discrete parts of the CPU) which could operate in parallel; so it could begin the next instruction while still computing the current one, as long as the current one wasn't required by the next. It also had an instruction cache of sorts to reduce the time the CPU spent waiting for the next instruction fetch result. Secondly, the CPU itself contained 10 parallel functional units (parallel processors, or PPs), so it could operate on ten different instructions simultaneously. This was unique for the time." They also discuss modern efforts to emulate the old Crays: "...what Chris wanted was real Cray-1 software: specifically, COS. Turns out, no one has it. He managed to track down a couple of disk packs (vast 10lb ones), but then had to get something to read them in the end he used an impressive home-brew robot solution to map the information, but that still left deciphering it. A Norwegian coder, Yngve Ådlandsvik, managed to play with the data set enough to figure out the data format and other bits and pieces, and wrote a data recovery script."

54 comments

  1. Seymour Cray used the integrated face system by Anonymous Coward · · Score: 0

    Seymour Cray used the integrated face system to develop super computers.

    1. Re:Seymour Cray used the integrated face system by ls671 · · Score: 1

      No the elves have done everything, it is common knowledge...

      https://en.wikipedia.org/wiki/...

      --
      Everything I write is lies, read between the lines.
  2. From the pic in TFA by OzPeter · · Score: 2

    Seymour Cray in that suit would make for a good Dr Who

    --
    I am Slashdot. Are you Slashdot as well?
    1. Re:From the pic in TFA by Anonymous Coward · · Score: 0

      Seymour Cray in that suit would make for a good Dr Who

      Looks more like Robin Williams to me.

    2. Re:From the pic in TFA by Tablizer · · Score: 1

      Seymour Cray in that suit [TFA pic] would make for a good Dr Who

      ...standing next to a trendy TARDIS 2.0

    3. Re:From the pic in TFA by Anonymous Coward · · Score: 0

      You beat me to it, but yeah, he looks like Robin Williams in that picture. A *LOT*.

  3. Dumbing Down by pipingguy · · Score: 1

    "it could begin the next instruction while still computing the current one, as long as the current one wasn't required by the next "

    Doesn't this go without saying?

    1. Re:Dumbing Down by Anonymous Coward · · Score: 0

      You didn't need to say it.

    2. Re:Dumbing Down by Anonymous Coward · · Score: 0

      But if they didn't say it, the other kind of pedant was prepared to be just as big a jerk as you.

    3. Re:Dumbing Down by istartedi · · Score: 1

      Unless a third pedant already spoke up.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    4. Re:Dumbing Down by drinkypoo · · Score: 2

      "it could begin the next instruction while still computing the current one, as long as the current one wasn't required by the next "
      Doesn't this go without saying?

      No. These days we just go forth and compute and if we predicted flow incorrectly, we throw away the result and compute again

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Dumbing Down by adri · · Score: 4, Interesting

      No; CPUs didn't /have/ to do that. MIPS toyed with both models for a while - initially MIPS was like "we don't interlock pipeline stages, so programmers need to be smart." Then the R4000 came out that attempted to implement that, and it was .. complicated. So it got reverted.

      Not all CPUs are like Intel CPUs (which aren't all like earlier intel cpus, which aren't all like 8080s, etc..)

    6. Re:Dumbing Down by elwinc · · Score: 5, Informative

      "it could begin the next instruction while still computing the current one, as long as the current one wasn't required by the next " Doesn't this go without saying?

      Back in the day, pipelining - issuing, say, a new multiply instruction every clock, even though several earlier multiplies were still working their way thru the pipeline - was too expensive for most architectures. An instruction might take multiple clock cycles to execute, but in most architectures the multi-clock instruction would tie up the functional unit until the computation was done - you might be able to issue a new multiply every 10 clocks or something. Pipelining takes more gates and more design because you don't want one slow stage to determine the clock rate of the whole design.

      Which leads us to the early RISC computers, I can recall an early Sun SPARC architecture that lacked a hardware integer multiply instruction. The idea at the time was every instruction should take one clock, and any instruction that demanded too long a clock should be unrolled in software. So this version of SPARC used shifts and adds to do a multiply. At the time, that was a pure RISC design. One of the key insights in RISC, still useful today, is to separate main memory access from other computations.

      The CPU design course I took in the late 80's said Seymour Cray invented that idea of separating loads and stores from computation, because even then, even with static RAM as main memory, accessing main memory was slower than accessing registers. So by separating loading from RAM into registers and storing from registers into RAM, the compiler could pre-schedule loads and stores such that they would not stall functional units. Cray also invented pipelining, another key feature in most modern CPUs (I'm not sure when ARM adopted pipelining, but i'm pretty sure it's in some ARM architectures have it now). Of course Cray had vector registers and the consequent vector SIMD hardware.

      I don't think Cray invented out of order execution, but I don't think he needed it; in Cray architectures, it would be the compiler's job to order instructions to prevent stalls. In CISC architectures, OOO is mostly a trick for preventing stalls without the compiler needing to worry about it (also, with many models and versions of the Intel instruction architecture out there, it would be painful to have to compile differently for each and every model). So, for example, the load part of an instruction could be scheduled early enough that the data would be in a register by the time the rest of the instruction needed it.

      Anyway, the upshot is modern CPU designs have a bigger debt to Cray than to any other single design.

      --
      --- Often in error; never in doubt!
    7. Re:Dumbing Down by serviscope_minor · · Score: 3, Informative

      Cray also invented pipelining

      That honour goes to Konrad Zuse some 25 years earlier. His purely mechanical Z1 calculator machine (not Turing complete) had a short pipeline.

      --
      SJW n. One who posts facts.
    8. Re:Dumbing Down by SuricouRaven · · Score: 1

      Intel CPU designs go to great lengths to look very much like earlier Intel CPUs - even if the internals are very different, they are still backwards-compatable with earlier code dating right back to the 80386.

      I do wonder what they could achieve if they were to abandon backwards compatibility and just ask people recompile their old code. Probably lots of ARM sales.

    9. Re:Dumbing Down by sjames · · Score: 1

      It MIGHT have been a system that would unconditionally execute the next instruction and produce garbage if there was a dependency, leaving the compiler to order them correctly and insert NOPs where needed, but in fact it kept track of that in hardware and inserted the NOPs itself.

    10. Re:Dumbing Down by tehcyder · · Score: 1
      On slashdot, it's pedants all the way down.

      And we like it like that.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  4. COS by Anonymous Coward · · Score: 0

    As the summary and the article fail to mention what COS is, someone should mention that it is the Cray OS.

    1. Re: COS by Anonymous Coward · · Score: 0

      Let's hope Simeone will...

    2. Re: COS by Anonymous Coward · · Score: 0

      COS was the first operating system sold by Cray for their machines (the very first machines were sold with no OS whatsoever). COS stands for 'Cray OS' and is an example of the batch operating systems of the era.

      The version we've recovered (V 1.17) is almost the latest release of the OS, soon after Cray switched over to a UNIX variant, called UNICOS. As such, this version of COS had some influence from the - then - new wave of interactive OS-es, so for example supported an interactive mode on top of normal batch processing.

  5. Geez, read a book by Maury+Markowitz · · Score: 1

    "Secondly, the CPU itself contained 10 parallel functional units (parallel processors, or PPs), so it could operate on ten different instructions simultaneously. This was unique for the time."

    Oh god, this isn't even remotely correct.

    For one, a similar design was used by Cray's earlier machine, the CC 6600, which also had 10 PPAs. And by the 7600, and the 8600. For another, there were dozens of machines with similar designs that predate this, including PEPE and the ILLIAC IV, both of which had hundreds of units.

    So bogus.

    1. Re:Geez, read a book by Maury+Markowitz · · Score: 2

      And now I see the error is in the quote above, because the original article doesn't screw it up.

    2. Re:Geez, read a book by _Shorty-dammit · · Score: 2

      Geez, read the article. ;) They're talking about the 6600 there.

    3. Re:Geez, read a book by Desler · · Score: 2

      Yeah, the context of the quote is severely butchered. That's something an *editor* would normally fix.

    4. Re:Geez, read a book by Desler · · Score: 1

      Sure, but the submitter's text makes it seem like that quote is talking about the first Cray supercomputer rather than that being about his work while still at CDC.

    5. Re:Geez, read a book by TemporalBeing · · Score: 2

      Yeah, the context of the quote is severely butchered. That's something an *editor* would normally fix.

      Editors are too expensive...so we get crap insted of reel content, but that's probably how Dice gets their articals through so offten

      **end purposeful bad writing editors would normally catch**

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    6. Re:Geez, read a book by P1h3r1e3d13 · · Score: 1

      And aren't these the same?

      Firstly, within the CPU, there were multiple functional units ... which could operate in parallel; so it could begin the next instruction while still computing the current one ....

      Secondly, the CPU itself contained 10 parallel functional units ... so it could operate on ten different instructions simultaneously.

    7. Re:Geez, read a book by Creepy · · Score: 5, Interesting

      I think the first is what we would call the pipeline today and the second means parallel execution units. Using the word "functional units" for both is a bit confusing. Early RISC pipelines had 5 stages that are described in that link (and that brings back some memories - I remember studying it in college).

      Funny thing is, I actually read the article to learn about what my first girlfriend's dad did - he was an engineer that worked on that thing (and yeah, she was a total nerd girl). I'm still Facebook friends with her, should point her to the article.

    8. Re:Geez, read a book by Anonymous Coward · · Score: 0

      Funny thing is, I actually read the article to learn about what my first girlfriend's dad did - he was an engineer that worked on that thing (and yeah, she was a total nerd girl). I'm still Facebook friends with her, should point her to the article.

      Not really that funny. If your girlfriend was a total nerd girl then don't you think she would have a clue what her dad did?

    9. Re:Geez, read a book by gnasher719 · · Score: 2

      What's a bit confusing is that the article is about Seymour Cray, the creator of super computers, but not about Cray computers. What is described is actually the Control Data computers, starting with the 6600 (I had the joy to learn with a 175).

      Yes, the PPs are _not_ "parallel processors", they are "peripheral processors". The 175 had 12 "peripheral processors" with quite limited capabilities and running at 12 MHz instead of the 40 of the main computer, and exclusively responsible ofr handling I/O.

      The "cache" on this machine was a 12 word times 60 bit instruction cache. You _had_ to design loops to fit into that cache, so they would run 2-3 times faster. No time wasted reading instructions from main memory.

  6. So I always wondered by Anonymous Coward · · Score: 0

    How does one of these supercomputers stack up against a modern amd64 powered computer?
    Is one of the 100s of times faster than the other? And which is faster? Is one of them incapable of something the other isn't?

    1. Re:So I always wondered by Anonymous Coward · · Score: 0

      Spec-wise the Cray-1 produced about a G-flop
      Efficiency of software-wise they probably still outperform any Windows box with software written in the past decade

    2. Re:So I always wondered by Anonymous Coward · · Score: 0

      Hurr hurr.

    3. Re:So I always wondered by Anonymous Coward · · Score: 3, Informative

      Nowhere near that. From Cray's (admittedly only distantly related to the original Cray...) web site, http://www.cray.com/company/history

                The first Cray®-1 system was installed at Los Alamos National Laboratory in 1976
                and cost $8.8 million. It boasted a world-record speed of 160 million floating-point
                operations per second (160 megaflops) and an 8 MB (1 million word) main memory.

      If I remember right, the first that got around 1 Gflop was the Cray-2. Even the X-MP only did around 2/3 of a Gflop.

    4. Re:So I always wondered by Anonymous Coward · · Score: 3, Informative

      The largest X-MP had 4 CPUs, each with a floating-point adder and multiplier and a clock speed of ~105MHz. So, the peak performance of these machines was 840MFlops. Achieving and sustaining that though was tricky and was only possible in large vector operations.

      The impressive part of the architecture was its memory: at peak, the memory subsystem could complete 16 memory references per clock cycle (each delivering 64 bits of data), so the peak memory bandwidth was 13GBps, or roughly what a 64-bit DDR3 solution offers.

  7. Clarify... by John+Da'+Baddest · · Score: 1

    Am past my prime, and maybe getting Old Timers disease...

    So can someone remind me, what's the difference between Gene Amdahl and Seymour Cray?
    Did they ever meet and have cocktails?

    1. Re:Clarify... by Anonymous Coward · · Score: 1

      Born three years apart
      Amdahl served in Navy. Cray served in Army
      Amdahl worked at IBM, Cray worked at CDC
      Amdahl lived to 90, Cray died (in a wrecked Jeep) at 70

      Amdahl called Cray "the most outstanding high-performance scientific computer designer in the world."
      http://mbbnet.umn.edu/hoff/hoff_sc.html

      In 1995 AMDAHL AND CRAY RESEARCH ANNOUNCE RESELLER AGREEMENT FOR BRANDED CRAY SUPERSERVER 6400 SYSTEMS
      ftp://ftp.cray.com/announcements/company/OLD/CRAY_AMDAHL_AGMT.950228.txt

      It would be hard to imagine that they had not met
      For the most part Amdahl seems like a put your pants on one leg at a time guy, while Cray would figure out how to simply have pants in the same place that he needed to be

    2. Re:Clarify... by slew · · Score: 1

      FWIW, according to the book Portraits in Silicon, Amdahl and Cray never actually met in person.

    3. Re:Clarify... by Tablizer · · Score: 2

      difference between Gene Amdahl and Seymour Cray?

      Amdahl worked mostly on IBM mainframe clones, and focused on business applications. More emphasis on reliability, and processing currency, integers (counts), and business logic. Example: payroll for a big corporation.

      Cray's machines were mostly used for scientific, engineering, research, and military applications. More emphasis on floating point number processing. Example: climate simulations.

    4. Re:Clarify... by tehcyder · · Score: 1

      For the most part Amdahl seems like a put your pants on one leg at a time guy, while Cray would figure out how to simply have pants in the same place that he needed to be

      My dad worked at CDC. Cray was a notorious eccentric, although at that time (early 1960s) taking your jacket and tie off as you crawled under mainframes was considered evidence of communism.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  8. "Peripheral Processors", not "Parallel Processors" by jeffb+(2.718) · · Score: 2

    This is an error from the original article, not from the summary. If the author didn't even bother to look up what "PP" actually stood for, I don't have a lot of confidence in the rest of the article's scholarship. Heck, ONE CLICK TO WIKIPEDIA would have given her the proper definition.

  9. Re:"Peripheral Processors", not "Parallel Processo by superid · · Score: 2

    I came here to say this. In the early 80's I worked on Control Data Cyber 174C mainframes (we had two). Liquid cooled, about maybe 20 feet long with hinged chassis that swung out like doors (maybe 40" by 6' and about 10" thick) . One chassis was a CPU, two were memory I think, and one was for 10+ Peripheral Processor Units (PPUs) which did 100% of the I/O. A whopping 40 MHz! and a 208 bit memory bus with SECDED.

  10. Re:"Peripheral Processors", not "Parallel Processo by jeffb+(2.718) · · Score: 2

    I interned (sort of) at Babcock and Wilcox's computing center around 1980. We had several CDC systems, including a 76 ("7600"), which was built in a horseshoe arrangement much like the Cray-1. (The field engineers used its interior as a storage closet.) Me, I was just hauling tapes, card decks and printouts, but I did get to learn a bit about the machines, and a lot more once I got into comp architecture classes in college. It was a great place for a geek.

  11. Re: "Peripheral Processors", not "Parallel Process by Anonymous Coward · · Score: 1

    I worked with the CDC 6400 at the University of Colorado. It had an Extended Core Storage unit, a separate cabinet full of magnetic cord memory (they came up to 2 M words; I don't know how large CU's was). We gave machine room tours, including opening the door on the ECS, until somebody noticed that the machine sometimes crashed when the door was shut. Don't want to jiggle those cores, I guess. Just found this: http://www.corememoryshield.com/report.html

  12. The compiler can do it by Anonymous Coward · · Score: 0

    Or, you can just write it in C, and let the compiler do all that nitty, gritty detail stuff. Let the architecture have funky stuff, and a small transistor count.

  13. PPs were not "parallel processors" by Anonymous Coward · · Score: 0

    PPs were "Peripheral Processors." There were 10 virtual units that handled mostly I/O tasks for the operating system. In hardware they were implemented as a rotating "barrel" of 10 processor states (registers, etc.) that, on each clock tick, could initiate one instruction for one of the PPs. Just this level of ignorance gives me doubts about the quality of the whole article.

    I taught CDC600 assembly language for a couple of semesters. That software was a joy to use. Since there were only 61 op codes, the assembler had macros of course, but also "micros" that could substitute text within a source code instruction. A standard exercise was to develop an interface that dealt with the calling conventions of more than one higher-level language compiler automatically. Lots of fun.

  14. Re:"Peripheral Processors", not "Parallel Processo by dbc · · Score: 2

    Right on. I worked at Control Data, as a CPU logic designer. The PP's were peripheral processors. The article is full of so much egregiously incorrect tripe I won't even bother to type up a correction. My advice to everyone is to completely ignore the article unless you want your head stuffed full of misinformation.

  15. You should see what they're teaching in the... by Anonymous Coward · · Score: 0

    Introduction to/History of computers classes.

    I ended up putting it off until my last sem of college (including a couple of higher level classes I actually wanted to take, which required it as a prereq) The class was so full of technical and historical inaccuracies (Especially PC era ones, many of which I heard about as they were happening) that the professors were willing to ignore (in this particular college's case because lower division comp-sci classes were actually from business rather than EE or Mathematics departments.)

    I checked in on it *10* years later and the same crap was being shovelled off, but in a fresh new (more expensive) book, with e-book only options coming the following year.

    Lament the history you lived through, because it is being systematically rewritten by people who should neither be labelled historians, nor technically knowledgable.

    P.S. If you can, you might want to start documenting your own history or pieces of others that you remember clearly, so it can be corraborated against other's statements in the future in the hopes of one day providing a clearer picture of the history of the modern mainframe to microcomputer... and beyond.

    1. Re:You should see what they're teaching in the... by unixisc · · Score: 1

      So looks like Computing History is being treated through the same revisionist process that normal history is treated

  16. The desktop Cray by Anonymous Coward · · Score: 0

    Too bad the LinuxVoice article didn't link to Chris Fenton's work on his "desktop Cray": http://hackaday.com/2010/09/29/tiny-cray-1-courtesy-of-an-fpga/
    (There are followup articles on Hackaday about the software issues too.)

  17. Two things: CDC 6000, I'm flabbergasted by eric_harris_76 · · Score: 1

    The multiple functional units idea wasn't new with Cray's supercomputer. He was doing much the same thing in the computers he designed for Control Data Corporation (CDC).

    Also, it seems astonishing that there would be no copies of that Cray software around, anywhere, other than on an old disk pack. There are still copies of the software for those CDC machines. Maybe that's because there were so many of them -- relative to the Crays.

    --
    There's no time like the present. Well, the past used to be.
  18. Oops times two: mine and the author's by eric_harris_76 · · Score: 1

    Just started to RTFA, and spotted two goofs.

    My goof: The quoted text _was_ about the CDC 6600. That certainly explains the similarity.

    The article's goof: Those were peripheral processors, not "parallel processors". They did I/O and occasional odd jobs for the operating system that the CPU wasn't suited for, or too busy to do.

    Now to finish it off, and see what else I or the author have to be embarrassed about.

    --
    There's no time like the present. Well, the past used to be.
  19. Itanium by vrt3 · · Score: 1

    I do wonder what they could achieve if they were to abandon backwards compatibility and just ask people recompile their old code.

    Itanium, I suppose.

    --
    This sig under construction. Please check back later.