GPU621/History of Parallel Computing
History of Parallel Computing and the Advantage of Multi-core Systems
We will be looking into the history and evolution in parallel computing by focusing on three distinct timelines:
1) The earliest developments of multi-core systems and how it gave rise to the realization of parallel programming
2) How chip makers marketed this new frontier in computing, specifically towards enterprise businesses being the primary target audience
3) How quickly it gained traction and when the two semiconductor giants Intel and AMD decided to introduce multi-core processors to domestic users, thus making parallel computing more widely available
From each of these timelines, we will be inspecting certain key events and how they impacted other events in their progression. This will help us understand how parallel computing came into fruition, its role and impact in many industries today, and what the future may hold going forward.
Group Members
Omri Golan
Patrick Keating
Yuka Sadaoka
Progress
Update 1 (11/12/2020):
-> Basic definition of parallel computing
-> Research on limitation of single-core systems and subsequent advent of multi-core with respect to parallel computing capabilities
-> Earliest development and usage of parallel computing
-> History and development of supercomputers and their parallel computing nature (incl. modern supercomputers -> world's fastest supercomputer)
Demise of Single-Core and Rise of Multi-Core Systems
Parallel Programming and comparison to Concurrent Programming
Parallel computing is the idea that large problems can be split into smaller tasks, and these tasks are independent of each other running simultaneously on more than one processor. This concept is different from concurrent programming, which is the composition of multiple processes that may begin and end at different times, but are managed by the host system’s task scheduler which frequently switches between them. This giving off the illusion of multi-tasking as multiple tasks are in progress on a single processor. Concurrent computing can occur on both single and multi-core processors, whereas parallel computing takes advantage of distributing the workload across multiple physical processors. Thus, parallel computing is hardware-dependent.