Our industry has grown up with a sequential model of computing, evolved to husband the logic associated with a few vacuum tubes. Now we must struggle to harness the vast concurrency of modern transistor circuits. Is concurrency fundamentally hard, or does it just seem hard because of our history of sequential programming? I believe some of each. Concurrency is fundamentally hard for only two reasons. One is that concurrent action requires coordination. The other is that concurrent action of many processes can produce an exponential explosion of states. How can we be sure that all such states are benign?
Concurrency is easy when we escape its details. Maybe instead of "programming sequential processes" we might better "configure concurrent communication." A communication view of computing matches well the cost structure of modern hardware, where logic is now essentially free but moving data is relatively slow and expensive in time and energy. Making communication central to computation also prepares us for the increasing role geometry will play in the future of computing. New thinking may be essential to harnessing the vast concurrency provided by modern transistor circuits.
I enjoyed watching this. The description of the problem can be found also under the "von Neumann Syndrome" and it deals with shift from the (current state) instruction-stream towards the data-streams computing paradigm. Therefore, the reconfigurable computing (RC) with FPGAs plays a major role in configuring the interconnections between the processing elements (PE). The prof Anant Agarwal points that the PE in near future will take a form of simplified RISC processors running around 1GHz. Great
k0re33 11 months ago