[TUHS] PDP-11 legacy, C, and modern architectures
tfb at tfeb.org
Thu Jun 28 02:55:04 AEST 2018
On 27 Jun 2018, at 16:30, Paul Winalski <paul.winalski at gmail.com> wrote:
> What Clem said. Chisnall is right about C having been designed for a
> sequential-programming world. That's why Fortran (with array and
> other parallel/vector operations built in) rules in the HPTC parallel
> programming space. But I don't buy most of his arguments. Making
> parallel programming easy and natural has been an unsolved problem
> during my entire 30+ year career in designing software development
> tools. It's still an unsolved problem. [...]
I think that's right. The missing bit is that while once the only people who had to worry about processors with a lot of parallelism were the HPC people, who fortunately often had algorithms which parallelised rather well. Now you have to worry about it if you want to write programs for the processor in your laptop and probably the processor in your watch. Or you would, if the designers of those processors had not gone to heroic lengths to make them look like giant PDP-11s. Unfortunately those heroic lengths haven't been heroic enough as has become apparent, and will presumably fall apart increasingly rapidly from now on.
So he's right: the giant PDP-11 thing is a disaster, but he's wrong about its cause: it's not caused by C, but by the fact that writing programs for what systems really need to look like is just an unsolved problem. It might have helped if we had not spent forty years sweeping it busily under the carpet.
A thing that is also coming of course, which he does not talk about, is that big parallel machines are also going to start getting increasingly constrained by physics which means that a lot of the tricks that HPC people use will start to fall apart as well.
More information about the TUHS