
Some Thoughts About Concurrency by Ivan Sutherland (2010) [video] - dang
https://www.youtube.com/watch?v=jR9pAaQlVRc
======
nicklaf
Interesting.

My interpretation: when writing code for synchronous machines, you are
immediately encouraged to construct things that have no notion of spatial
locality. But what if programming tools encouraged being mindful of this? Very
crudely, a programmer could simply look at a grid of FPGA components, so that
program modules correspond to geographic regions on the grid. This is absurdly
constricting, though-even electronics schematics jettison the idea of a 1-1
geographic mapping of notation to component.

Is there something in between, though? Something like Unix pipes or CSP, but
presented in a geometric layout, that encourages programmers to structure
their programs so that information propagates locally throughout, and
therefore in principle maps well to asynchronous hardware.

Then there is the idea of referential transparency, which seems to trivialize
parallel synthesis, but seems to have nothing to do with spatial locality.

------
aryehof
Extremely thought provoking. One bit I didn't understand was his description
of a sequence of UNIX programs communicating using pipes as being concurrent?

~~~
dang
I believe he means that the downstream programs can do some of their work
before the upstream programs have finished doing all of theirs.

~~~
aryehof
Interesting. Immediately reminds me of him talking about how we can be stuck
in our current way of thinking, and that I need to challenge my own viewpoint.

------
beebmam
Very interesting talk. I'd like to read some of his research, and learn about
the concurrent processors his team has created.

~~~
dang
There's more here, with a bit more detail on the circuits:
[https://www.youtube.com/watch?v=aXVUoT_objA](https://www.youtube.com/watch?v=aXVUoT_objA).

These are interesting talks. Sutherland of course is the genius who created
Sketchpad, described by Alan Kay as the Newtonian leap of software. But these
talks go into his decades of work on asynchronous circuits. It's fascinating
stuff with historical context, such as his anecdote about how clocks came to
be added to digital circuits. They needed them because they were clamping
wires together with hand tools and couldn't do it the same way every time,
leading to noise in the circuits.

------
melling
Funny to hear him discuss people omitting “to be” in Pittsburgh. The car needs
washed. (@3:30)

That was one of my more difficult habits to break. Anyways...just kidding.

