CDC STAR-100
From Free net encyclopedia
The STAR-100 was a supercomputer from Control Data Corporation, one of the first machines to use a vector processor for improved math performance. Unfortunately a number of basic design features of the machine meant that its "real world" performance was much lower than expected when first used commercially in 1974, and was one of the primary reasons CDC was pushed from its former dominance in the supercomputer market when the Cray-1 was announced a few years later.
The STAR was CDC's departure to a 64-bit architecture and did not resemble the earlier 6600 and 7600; a simple RISC-like CPU was supported by a number of peripheral processors that offloaded housekeeping tasks and allowed the CPU to crunch numbers as quickly as possible. In the STAR, both the CPU and peripheral processors were deliberately simplified, however, to lower the cost and complexity of implementation.
The new and more complex instructions approximated what was available to users of the APL programming language and operated on huge vectors of operands that were stored in consecutive locations in memory. The key to streaming these huge vectors of operands was the design of the memory. The physical memory had words that were 512 data bits wide (called SWORDs - superwords) and was divided up into 32 independent banks. The CPU was designed to use these instructions to set up additional hardware that fed in data from the main memory as quickly as possible. For instance, a program could use single instruction with a few parameters to add all the numbers in one 400-value array to another (each array could contain up to 65,535 operands). The CPU only had to decode a single instruction, set up the memory hardware (known as scatter/gather) and start feeding the data into the math units. As with instruction pipelines in general, the performance of any one instruction was no better than it was before, but since the CPU was effectively working on a number of instructions at once (or in this case, data points) the overall performance dramatically improves due to the assembly line nature of the task.
In order to get any performance improvement over the general pipeline in the 7600, the STAR made the pipelines much deeper. Whereas the 7600 could keep about 8 instructions in-flight, the STAR allowed up to 25, as long as they were of these special type that could use all the units. In order to gain perfomance, pipelines need to be "filled" with data constantly, if they aren't, it's as if there is no pipeline at all. For the STAR, the crossover occurred at about 50 data points; if the system were working on data sets smaller than that, the cost of setting up the vector pipeline was higher than the savings you would get in return.
When the machine was released in 1974, it quickly became apparent that the general performance was nowhere near what people expected. Very few programs can be effectively vectorized into a series of single instructions; nearly all calculations will rely on the results of some earlier instruction, yet the results had to clear the pipelines before they could be fed back in. This forced most programs to hit the high setup cost of the vector units, and generally the ones that did "work" were extreme examples. Making matters worse was that the basic scalar performance was sacrified in order to improve vector performance. Any time that the program had to run basic instructions, the overall performance of the machine dropped dramatically.
The STAR-100 was a disappointment to everyone involved, and Jim Thornton, the chief designer, left CDC to form Network Systems Corporation. An updated version was later released as the CDC Cyber 203, and then a greatly improved Cyber 205, but by this point the Cray-1 was on the market with considerably higher performance. The failure of the STAR led to CDC being pushed from its former dominance in the supercomputer market, something they tried to address with the formation of ETA Systems in 1982.it:CDC STAR-100 ja:CDC STAR-100