Hacker News new | past | comments | ask | show | jobs | submit login
Some Thoughts About Concurrency by Ivan Sutherland (2010) [video] (youtube.com)
71 points by dang on Nov 6, 2017 | hide | past | favorite | 8 comments



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.


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


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


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.


If you run `foo | bar`, what starts running first? Does foo start and push its output into bar, or does bar start first and pull its input from foo? Does foo run to completion then bar to completion, do they take it in turns, or run at the same time on different processors? Does it matter?


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


There's more here, with a bit more detail on the circuits: 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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: