Why is concurrent programming so hard ?
thstart: The so called von Neumann computer design is the way most of computers are still made. The computer defined in the First Draft Report on the EDVAC was never built and its architecture and design seem now to be forgotten.This intrigued me to read the original: First Draft Report on the EDVAC, June 30, 1945.
Here are some interesting insights: Pp. 16-19"5.3 At this point there arises another question of principle. In all existing devices where the element is not a vacuum tube the reaction time of the element is sufficiently long to make a certain telescoping of the steps involved in addition, subtraction, and still more in multiplication and division, desirable.To take a specific case consider binary multiplication. A reasonable precision for many differential equation problems is given by carrying 8 significant decimal digits, that is by keeping the relative rounding-of errors below 10exp(−8). This corresponds to 2exp(−27) in the binary system, that is to carrying 27 significant binary digits. Hence a multiplication consists of pairing each one of 27 multiplicand digits with each one of 27 multiplier digits, and forming product digits 0 and 1 accordingly, and then positioning and combining them. These are essentially 272 = 729 steps, and the operations of collecting and combining may about double their number. So 1000-1500 steps are essentially right."Point 5.3 is essentially a parallel computing but von Neumann abandoned this idea. This document is worth reading in original.I posted some information and link to the Report here:http://blog.thstart.com/2009/07/first-draft-report-on-edvac-...