CDC 6600 |
The
one you see in the image is the world’s first supercomputer. Designed by
Control Data Corporation, it is named as CDC 6600 and was released in 1964. Conseil Européen pour la Recherche Nucléaire (CERN),
the one which discovered the presence of Higgs Boson, was the first organization
to use this supercomputer as its mainframe computer. It used CDC 6600 for high
energy nuclear physics research. The performance of this supercomputer is the
awesome 1 MFLOPS (a core2duo computer’s performance will be in GFLOPS :-) ).
MFLOPS is a term that says “this computer can perform *10^6 floating point operations per second.”
GFLOPS is a term that says “this computer can perform *10^9 floating point operations per second.”
Computers are generally measured in the context of Floating
Points (fractions) because these operations are complex than normal integer
operations. (Even computers are scared of fractional mathematics :-) ). This complexity is hided from us through extraordinary
speed of computers.
Seymour Cray |
The processor design of CDC 6600 is sequential (executes one
thread at a time) whereas today’s processors are parallel (executes more than
one threads at a time which we name it as ‘multithreading’.). The main challenge
with the production of high speed computers were the germanium based semiconductors
which were used in the manufacture of computers. Seymour Cray who is affectionately known as “father
of supercomputing” found that the performance resulted from germanium based
supercomputers cannot be improved further. So he was in need of alternate semiconductors which would increase the level of performance
drastically. In the mean time, the semiconductor industry released the inconceivable
silicon based transistors which made Cray the happiest man in the world. He
used the silicon based semiconductors and started with his team to design the above machine
which gave him ample results and the machine was released.
Around 60s the processors performed slower than their memory
systems (RAM) just because the whole system was managed and controlled the
single processor alone. "Everything done by the processor" is not the typical functionality
of an ALU(not clear, don’t worry...... continue reading). Today this bottleneck
is inverse, the memory system performs slower than that of the processor and
requires a lot of effort to keep of the processor busy (parallel programming
deals with this problem; we will see it in future posts). We can say Cray as
the root cause for causing this inverse bottleneck. Yes, CDC 6600 gained the
status of world’s first supercomputer just by utilizing the gap between the performance
of the processor and the memory system of the sixties. He made an alternate way where he reduced the work of the 6600 processor where it tackles
only the arithmetic and logic operation which gives a confined meaning to the
word ALU (Arithmetic and Logic Operation unit). Other operations like housekeeping,
input and output management etc are made through separate components which
choreograph themselves with main CPU in a perfect harmony for great performance.
The new design ran at 10 MHz speed which is 10 times faster than Stone Age
computers of the 60’s. Compare the speed of today’s normal computer with the speed
of the 1964’s supercomputer :-).
The whole machine
was operated in a fashion known as barrel and slot.
Barrel – Ten number
of Peripheral Processors (Processors taking care of Input and Output).
Slot – One main CPU.
At
any instant, one PP (Peripheral Processor) was given control of the CPU, asking
it to complete some task (if required). Control was then handed off to the next
PP in the barrel. Programs were written, with some difficulty, to take
advantage of the exact timing of the machine to avoid any "dead time"
on the CPU (i.e. to keep the machine busy always). With the CPU running much
faster than on other computers, each memory access took ten CPU clock cycles to
complete, so by using ten PPs, each PP was guaranteed one memory access per
machine cycle.
Cycles are the heart beat of processors. It is the main factor of speed. The speed specification of your processor which will be in GHz actually defines the number of cycles the processor produces and utilizes per second (i.e. 1Hz = 1 cycle per second). A typical cycle resembles a sine wave (not exactly, just resembles) where the processor operates on the rising and falling edge of the cycle.
The
basis for the divine performance of 6600 CPU is what would today be referred to as a RISC (Reduced
Instruction Set Computer) system, one in which the processor is tuned to
do instructions which are comparatively simple and have limited and
well-defined access to memory.
Instruction Set is last level language before the machine language (0s and 1s). Instruction Set defines the set of instructions which are compatible for a particular type of processor. There are two types of Instruction Set, they are RISC and CISC (Complex Instruction Set Computer).
The
philosophy of many other machines was toward using instructions which were
complicated — for example, a single instruction which would fetch an operand
from memory (storage outside the processor) and add it to a value in a register
(storage inside the processor) which is the CISC model of computation. In the
6600, with the RISC model, loading the value from memory would require one
instruction, and adding it would require a second. While slower in theory due
to the additional memory accesses, the PPs offloaded this expense. This
simplification also forced programmers to be very aware of their memory
accesses, and therefore code deliberately to reduce them as much as possible.
In
the beginning the CDC6600 machines ran a simple job-control system known as COS
(Chippewa Operating System). Chippewa is the name of the hometown of Seymour
Cray. Due to technical and support disadvantages over COS, the machines started
using SIPROS (Simultaneous Processing Operating System) as their operating
system which was being developed at the company's System Sciences Division in Los Angeles.
SIPROS became popular, but in the mean time some engineers in CDC believed in
COS and started to refactor it in Arden Hills, Minnesota assembly plant
giving birth to MACE ([Greg] Mansfield And [Dave] Cahlander Executive). It
retained the earlier COS file system, but made significant advances in code
modularity to improve system reliability and adaptiveness to new storage
devices. MACE was never an official product, although many customers were able
to wrangle a copy from CDC. MACE was later used as the basis
of Kronos, named after the Greek god of time. The main marketing
reason for its adoption was the development of its TELEX time sharing feature and its BATCHIO remote batch
feature. Kronos continued to use the COS/SCOPE 1 file system with the addition
of a permanent file feature. An attempt to unify the SCOPE (Supervisory Control
of Program Execution, an operating system for 6600 developed before MACE) and
Kronos operating system products produced NOS,
(Network Operating System). NOS was intended to be the sole operating system
for all CDC machines, a fact CDC promoted heavily. Many SCOPE customers
remained software-dependent on the SCOPE architecture, so CDC simply renamed it NOS/BE (Batch Environment), and were able to
claim that everyone was thus running NOS. In practice, it was far easier to
modify the Kronos code base to add SCOPE features than the reverse.
Thank you :-)
Thank you for your patience in reading this article. I believe that i have provided you with some information about the world's first supercomputer in an interesting way. If you have any doubt please feel free to get it clarified and also i will be very happy if you provide any valuable comments regarding this article so that i can improve my next post.
No comments:
Post a Comment