- Author
- David Chisnall
- Published
- 30 April 2018
- Kind
- Opinion essay in ACM Queue, with no new experiments
- Original
- queue.acm.org/doi/10.1145/3212477.3212479
- Subject
- Systems and hardware
- Themes
- Close to the machine
What it is
David Chisnall, a researcher at the University of Cambridge, wrote this essay for ACM Queue. It asks what makes a language low-level. It argues that C stopped qualifying once hardware moved on from the PDP-11.
What it says
- Chisnall says Spectre and Meltdown came from chips built to imitate a fast PDP-11.
- The essay says fast C needs very complex compilers. It cites about 2 million lines for Clang.
- Chisnall cites a 2015 survey on C. It found 36 percent sure that zeroed struct padding stays zero.
- The essay says C's flat memory model is false, since caches are hidden from C.
- Chisnall says the C11 text never uses the word provenance, so compilers decide its meaning.
- The essay sketches a processor not built for C, with many threads and wide vectors.
- Chisnall says the difficulty is in parallel programming on a C-like abstract machine.
What evidence it gives
The essay offers argument and examples, not new measurements. It cites compiler size figures, a 2015 survey of C users and a defect report. It points to existing designs such as UltraSPARC Tx, ARM SVE and Project Maxwell.
Interests and limits
The author works on LLVM, Clang and language design, and argues a strong view. Proposed processor designs are not built or tested in the essay. It says such a chip would likely not succeed commercially. This text came from an Internet Archive copy, since the ACM site blocked downloads.
Connections
These links are this wiki's own reading, not claims the sources make.
- A Friendly Tour of Process Memory on Linux. Chisnall says C's flat memory is a fiction kept up by hidden caches. Kato describes another fiction nearby: mapped memory is only a promise until first touch. Each layer works by not telling the one above.
- 8× faster binary search: from compiled code to mechanical sympathy. Chisnall traces speculation to chips built to keep sequential code fast. Turner-Trauring's search gets faster by no longer depending on that prediction. Handling 16 values at once then makes the essay's case on one small loop.
- Dataflow Architectures. Chisnall sketches a processor not built for C. Arvind's 1986 survey describes one family of attempts, with dataflow graphs as the machine language. Its authors call dataflow an extreme answer to memory latency. Read after Chisnall, it looks like a road not taken.