Parallel Element Processing Ensemble: Difference between revisions

Content deleted Content added
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 1:
The '''Parallel Element Processing Ensemble''' ('''PEPE''') was one of the very early [[parallel computing]] systems. Bell began researching the concept in the mid-1960s as a way to provide high-performance computing support for the needs of [[anti-ballistic missile]] (ABM) systems. The goal was to build a computer system that could simultaneously track hundreds of incoming [[ballistic missile]] [[warhead]]s.<ref name=silogic>[http://www.silogic.com/PEPE/PEPE.html PEPE - Parallel Element Processing Ensemble] Last updated on June 8, 2011.</ref><ref name=Ford>{{cite book|author=R. Michael Ford|title=Parallel supercomputing in SIMD architecture|edition=1st|publisher=CRC Press|year=1990|page=[https://archive.org/details/parallelsupercom00hord/page/7 7]|isbn=0-8493-4271-6|url-access=registration|url=https://archive.org/details/parallelsupercom00hord/page/7}}</ref><ref>[https://web.archive.org/web/20130408132455/http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&doc=GetTRDoc.pdf&AD=AD0911667 Real-Time Advanced Data Processing Parallel Element Processing Ensemble (PEPE)], June 30, 1973, Final Report for Contract DAHC60-72-C-0031, prepared by the System Development Corporation of Huntsville, Alabama for the U.S. Army Advanced Ballistic Missile Defense Agency.</ref> A single PEPE system was built by [[Burroughs Corporation]] in the 1970s, by which time the [[US Army]]'s ABM efforts were winding down. The design later evolved into the [[Burroughs Scientific ComputerProcessor]] for commercial sales, but a lack of sales prospects led to it being withdrawn from the market.
 
==History==
Line 15:
The PE consisted of three main [[Execution unit|functional units]], a [[floating point processor]] (the Arithmetic Unit, AU) that could perform basic arithmetic including square roots, and separate input (Correlation Unit, CU) and output (Associative Output Unit, AOU) address generators that could determine the associative address of the next data element to be read, and the address of the output such that the results were ordered. The data was stored in an [[content-addressable memory]] (associative addressing),<ref name=pepebline>{{cite magazine |url=http://www.silogic.com/PEPE/PEPE.html |title=PEPE |magazine= Burroughs B-Line |date=July 1977}}</ref> and each unit had 2&nbsp;k of 32-bit words (8&nbsp;kB). A failed PE could have its duties switch in real-time to any other PE, giving the system significant redundancy.<ref name=pepebook>{{cite book |first=Robert |last=Sidnam |publisher=System Development Corporation |date=1976 |title=PEPE, The Supercomputer}}</ref>
 
Associative addressing was used in PEPE to allow it to quickly correlate new measurements to existing information. For instance, a particular radar may sweep a section of the sky every 2 seconds. On one such sweep it might see an object in a certain ___location, and the system has to quickly decide whether this is a new ''blip'' or an update of an existing one. The memory system is designed to produce a sort of [[hash code]] of this information that is used to retreiveretrieve the data, as opposed to searching through memory for possible matches based on the fields in the data.<ref name=pepebook/>
 
Each processing element contained a minimum of control logic, the bulk of the control being concentrated in the common control unit. The control unit read instructions from memory, decoded them, and issued them to all processing elements simultaneously so that the elements were required to execute the same instruction at the same time. The elements were capable of executing a complete single address instruction including reading and writing the data.<ref name=silogic/> The program as a whole was stored on and fed into PEPE from a front-end system, originally a [[CDC 7600]].<ref name=pepebook/>