Followed by the ENIAC in the 40’s The ENIAC contained 17,468 vacuum tubes and 5 million hand-soldered joints. It weighed about 30 tons, was 8 × 3 × 100 feet in size, occupied an area of 1,800 square feet, and used 150 kW of electricity. and the Univac in the 50’s
Origins Eniac Numerical Computer 1946 Contained 17,468 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors and about 5 million hand-soldered joints. It weighed over 30 short tons (27 t), was roughly 8 by 3 by 100 feet took up 1800 square feet and consumed 150 kW of power. Shutdown in 1955. (Wikipedia, “ENIAC”)
Communication In a parallel implementation of simple search, tasks can execute independently and need communicate only to report solutions. Chip Chip Size: Size: 25 25 Chip Chip Size: Size: 54 54 Chip Chip Size: Size: 55 55 Chip Chip Size: Size: 64 64 Chip Chip Size: Size: 144 144 Chip Chip Size: Size: 174 174 CS 340 Chip Chip Size: Size: 84 84 Chip Chip Size: Size: 130 130 Chip Chip Size: Size: 140 140 Chip Chip Size: Size: 143 143 Chip Chip Size: Size: 85 85 Chip Chip Size: Size: 65 65 Chip Chip Size: Size: 114 114 Chip Chip Size: Size: 200 200 The parallel algorithm for this problem will also need to keep track of the bounding value (i.e., the smallest chip area found so far), which must be accessed by every task. One possibility would be to encapsulate the bounding value maintenance in a single centralized task with which the other tasks will communicate. This approach is inherently unscalable, since the processor handling the centralized task can only service requests from the other tasks at a particular rate, thus bounding the number of tasks that can execute concurrently. Chip Chip Size: Size: 112 112 Chip Chip Size: Size: 220 220 Chip Chip Size: Size: 150 150 Chip Chip Size: Size: 234 234 Chip Chip Size: Size: 102 102 Page 6
Partitioning There is no obvious data structure that could be used to perform a decomposition of this problem’s domain into components that could be mapped to separate processors. Chip Chip Size: Size: 25 25 Chip Chip Size: Size: 54 54 Chip Chip Size: Size: 55 55 Chip Chip Size: Size: 64 64 Chip Chip Size: Size: 85 85 Chip Chip Size: Size: 65 65 Chip Chip Size: Size: 84 84 Chip Chip Size: Size: 114 114 Chip Chip Size: Size: 144 144 Chip Chip Size: Size: 200 200 Chip Chip Size: Size: 174 174 Chip Chip Size: Size: 130 130 Chip Chip Size: Size: 140 140 Chip Chip Size: Size: 143 143 Chip Chip Size: Size: 112 112 Chip Chip Size: Size: 220 220 Chip Chip Size: Size: 150 150 Chip Chip Size: Size: 234 234 Chip Chip Size: Size: 102 102 A fine-grained functional decomposition is therefore needed, where the exploration of each search tree node is handled by a separate task. CS 340 This means that new tasks will be created in a wavefront as the search progresses down the search tree, which will be explored in a breadthfirst fashion. Notice that only tasks on the wavefront will be able to execute concurrently. Page 5