- ICL Distributed Array Processor
-
The Distributed Array Processor (DAP) produced by International Computers Limited (ICL) was the world's first commercial massively parallel computer. The original paper study was complete in 1972 and building of the prototype began in 1974. The first machine was delivered to Queen Mary College in 1979.[1]
The initial 'Pilot DAP' was designed and implemented by Dr Stewart F Reddaway with the aid of David J Hunt and Peter M Flanders at the ICL Stevenage Labs. Their manager and a major contributor was John K Iliffe[2] who had designed the Basic Language Machine - he is better known nowadays for Iliffe vectors.
The ICL DAP had 64x64 single bit processing elements (PEs) with 4096 bits of storage per PE. It was attached to an ICL mainframe and could be used as normal memory. Programs for the DAP were written in DAP FORTRAN which was FORTRAN extended with 64x64 matrix and 64 element vector primitives. It had a Single Instruction Multiple Data (SIMD) architecture. Each operation could be performed under the control of a mask which controlled which elements were affected. Array programs were executed as subroutines of normal mainframe FORTRAN programs and IO was handled by the mainframe.
Operationally, there was an overhead to transfer computational data into and out of the array, and problems which did not fit the 64x64 matrix imposed additional complexity to handle the boundaries (65x65 was perhaps the worst case!) – but for problems which suited the architecture, it could outperform the current Cray pipeline architectures by two orders of magnitude. The ICL 2980 was not a popular machine and this held back the use of the DAP as an attached processor was restricted initially to this one range.
The design as described in Stewart's 1973 paper is pretty much that which was implemented in the first commercial version except the facility to supply address bits from the processing elements was removed. This change greatly simplified hardware error detection. A notable extra facility was carry propagation to simplify vector mode addition.[3]
The DAP was later hived off as a separate company Active Memory Technology (AMT) which was then taken over by Cambridge Parallel Processors (CPP). It was enhanced and made smaller and faster as the Gamma series. An 8-bit processor with some local 8-bit wide memory was added to the processor and fast IO capabilities were implemented. It could be programmed in either C++ or Fortran-Plus. These were more flexible than DAP FORTRAN, in particular they automatically took care of choosing a mapping from user specified matrix and vector bounds to the underlying hardware.
Sample DAPs are in storage at the Computer History Museum.
CPP ceased trading in 2004.
Contents
Mini-DAP and Mil-DAP
A smaller 32x32 version was created between 1984 and 1987. The commercial version was called the Mini-DAP, normally attached to a PERQ system (so was sometimes called the PERQ-DAP), and the ruggedised military version was called the Mil-DAP.[4]
See also
- Goodyear MPP
- Thinking Machines Connection Machine
- MasPar
References
- ^ Gordon G Scarrott (Summer 1995). "From Torsional Mode Delay Lines to DAP". Computer RESURRECTION (12). http://www.cs.man.ac.uk/CCS/res/res12.htm#f.
- ^ Dr. Stewart Reddaway (Spring 2004). "Letter to the editor". Computer RESURRECTION (33). http://www.cs.man.ac.uk/CCS/res/res33.htm#g.
- ^ Dr. S. F. Reddaway (1973). "DAP - a distributed array processor". Proceedings of the 1st annual symposium on Computer Architecture, (Gainesville, Florida) (ACM Press): 61–65. http://aggregate.org/EE686/SIMD/p61-reddaway.pdf.
- ^ Brian Russell (Summer 2001). "Mil-DAP Resurrection Project". Computer RESURRECTION (5). http://www.cs.man.ac.uk/CCS/res/res25.htm#h.
External links
- Dennis Parkinson; John Litt (1990). Massively parallel computing with the DAP. Research monographs in parallel and distributed computing. Pitman. ISBN 9780273088097.
- DAP personal history
- PERQ-DAP
International Computers Limited (ICL) 1968-2002 Predecessor mainframes English Electric System 4 series ICT 1900 series 1901 • 1901A • 1901S • 1901T • 1902 • 1902A • 1902S • 1902T • 1903 • 1903A • 1903S • 1903T • 1904 • 1904A • 1904E • 1904F • 1904S • 1905 • 1905E • 1905F • 1906 • 1906A • 1906E • 1906F • 1906S • 1907 • 1907E • 1907F • 1908 • 1909ICL 2900 Series ICL Series 39 ICL minicomputers 2903 • 2904 • 2905 • ME29 • System Ten • System 25ICL workstations ICL operating systems ICL programming languages PLAN • Fortran • ALGOL 60 • SOBS • COBOL • JEAN • C • Pascal • S3 • SCL • SFL • ApplicationMaster • ReportMaster • RPG • DAP FORTRANCategories:- ICL mainframe computers
- Massively parallel computers
- SIMD computing
- International Computers Limited
Wikimedia Foundation. 2010.