I would like to provide historical background on the evolution of cornerstone ideas in the computing industry. We should emphasize at the outset that the effort to build computers has not originated in one single place. There is every reason for us to believe that attempts to build the ﬁrst computer existed in different geographically distributed places. We also ﬁrmly believe that building a computer requires teamwork. Therefore, when some people attribute a machine to the name of a single researcher, what they mean is that such a researcher may have led the team who introduced the machine. We, therefore, see it more appropriate to mention the machine and the place it was ﬁrst introduced without linking that to a speciﬁc name. We believe that such an approach is fair and should eliminate any controversy about researchers and their names.
It is probably fair to say that the ﬁrst program-controlled (mechanical) computer ever built was the Z1 (1938). This was followed in 1939 by the Z2 as the ﬁrst operational program-controlled computer with ﬁxed-point arithmetic. However, the ﬁrst recorded university-based attempt to build a computer originated on the Iowa State University campus in the early 1940s. Researchers on that campus were able to build a small-scale special-purpose electronic computer. However, that computer was never completely operational. Just about the same time a complete design of a fully functional programmable special-purpose machine, the Z3, was reported in Germany in 1941. It appears that the lack of funding prevented such design from being implemented. History recorded that while these two attempts were in progress, researchers from different parts of the world had opportunities to gain ﬁrst-hand experience through their visits to the laboratories and institutes carrying out the work. It is assumed that such ﬁrst-hand visits and interchange of ideas enabled the visitors to embark on similar projects in their laboratories back home.
As far as general-purpose machines are concerned, the University of Pennsylvania is recorded to have hosted the building of the Electronic Numerical Integrator and Calculator (ENIAC) machine in 1944. It was the ﬁrst operational general-purpose machine built using vacuum tubes. The machine was primarily built to help compute artillery ﬁring tables during World War II. It was programmable through the manual setting of switches and the plugging of cables. The machine was slow by today’s standard, with a limited amount of storage and primitive programmability. An improved version of the ENIAC was proposed on the same campus. The improved version of the ENIAC, called the Electronic Discrete Variable Automatic Computer (EDVAC), was an attempt to improve the way programs are entered and explore the concept of stored programs. It was not until 1952 that the EDVAC project was completed. Inspired by the ideas implemented in the ENIAC, researchers at the Institute for Advanced Study (IAS) at Princeton built (in 1946) the IAS machine, which was about 10 times faster than the ENIAC.
In 1946 and while the EDVAC project was in progress, a similar project was initiated at Cambridge University. The project was to build a stored-program computer, known as the Electronic Delay Storage Automatic Calculator (EDSAC). It was in 1949 that the EDSAC became the world’s ﬁrst full-scale, stored-program, fully operational computer. A spin-off of the EDSAC resulted in a series of machines introduced at Harvard. The series consisted of MARK I, II, III, and IV. The latter two machines introduced the concept of separate memories for instructions and data. The term Harvard Architecture was given to such machines to indicate the use of separate memories. It should be noted that the term Harvard Architecture is used today to describe machines with separate cache for instructions and data. The first general-purpose commercial computer, the Universal Automatic Computer (UNIVAC I), was on the market by the middle of 1951. It represented an improvement over the BINAC, which was built in 1949. IBM announced its ﬁrst computer, the IBM701, in 1952. The early 1950s witnessed a slowdown in the computer industry. In 1964 IBM announced a line of products under the name IBM 360 series. The series included several models that varied in price and performance. This led Digital Equipment Corporation (DEC) to introduce the ﬁrst minicomputer, the PDP-8. It was considered a remarkably low-cost machine. Intel introduced the ﬁrst microprocessor, the Intel 4004, in 1971. The world witnessed the birth of the ﬁrst personal computer (PC) in 1977 when Apple computer series were ﬁrst introduced. In 1977 the world also witnessed the introduction of the VAX-11/780 by DEC. Intel followed suit by introducing the ﬁrst of the most popular microprocessor, the 80 86 series. Personal computers, which were introduced in 1977 by Altair, Processor Technology, North Star, Tandy, Commodore, Apple, and many others, enhanced the productivity of end-users in numerous departments. Personal computers from Compaq, Apple, IBM, Dell, and many others, soon became pervasive and changed the face of computing.
In parallel with small-scale machines, supercomputers were coming into play. The ﬁrst such supercomputer, the CDC 6600, was introduced in 1961 by Control Data Corporation. Cray Research Corporation introduced the best cost/performance supercomputer, the Cray-1, in 1976.
The 1980s and 1990s witnessed the introduction of many commercial parallel computers with multiple processors. They can generally be classiﬁed into two main categories: (1) shared memory and (2) distributed memory systems. The number of processors in a single machine ranged from several in a shared memory computer to hundreds of thousands in a massively parallel system. Examples of parallel computers during this era include Sequent Symmetry, Intel iPSC, nCUBE, Intel Paragon, Thinking Machines (CM-2, CM-5), MsPar (MP), Fujitsu (VPP500), and others.
One of the clear trends in computing is the substitution of centralized servers by networks of computers. These networks connect inexpensive, powerful desktop machines to form unequaled computing power. Local area networks (LAN) of powerful personal computers and workstations began to replace mainframes and minis by 1990. These individual desktop computers were soon to be connected into larger complexes of computing by wide area networks (WAN).
The pervasiveness of the Internet created interest in-network computing and more recently in grid computing. Grids are geographically distributed platforms of computation. They should provide dependable, consistent, pervasive, and inexpensive access to high-end computational facilities.