|November 2028 is the 40th anniversary of ESD. Click here read other 2028 lookbacks.|
It's now almost 20 years since the emergence of components designed to enable system design using concurrent communicating processes–an idea that actually originated 50 years ago with the publication of C. A. R. Hoare's article “Communicating Sequential Processes” (Communications of the ACM 21 ) and the formation of Inmos with its transputer concept.
These system components enabled a revolution in electronic design alongside a revolution in programming. For the first time, the artificial distinction between hardware and software design was eliminated. Today we teach both engineers and computer scientists to design systems in terms of communicating concurrent processes and that we synthesize hardware from the same languages we use for programming.
Two decades ago, it was already becoming clear that using more, smaller, slower processors made system design easier and improved power-efficiency.
And by making processing event-driven–inherent in message-passing concurrency–further gains in energy were achieved by switching off components when they had nothing to do.
Highly responsive systems became easy to build and scale by dedicating processors to specific tasks; high data throughputs were supported by processor pipelines and scaled by using many concurrent channels; high processing throughput was achieved by composing systems with many processors.
Over the last 20 years, this technology has produced miracles and shows every sign of continuing to do so. Multicore chips have enabled the number of processors in a system to be scaled up and costs to fall in line with the long-term trend that has seen a factor-of-two improvement in the performance-per-cost ratio every one to two years.
Energy efficiency has improved 100-fold. We've been able to take advantage of new electronic plastic materials to build one-time multicore systems for gift and product packaging along with large-scale systems, such as i-walls. In the last decade, designer materials have enabled us to integrate distributed processing into the fabrics of buildings, decorations, and clothes. We have been able to implement the federated sensing and control systems needed in robotics and prosthesis, mirroring with electronics the systems used in nature.
The reduction in design time and cost, together with the ability to use standard components across a whole product range, has enabled a new generation of innovative designer-electronics products capable of delivering mass personalization.
In clothing, initial experiments in sportswear paved the way for outright fashion brands. Today, no one would be seen in a nightclub without the latest i-shirt. And it's strange to realize that just 20 years ago, very few toys used really complex electronics; today half of the component cost of most toys is the electronics.
When chips with hundreds of cores were first proposed, many believed they'd be impossible to program; magical compilers and tools were proposed to translate sequential programs into concurrent ones. Of course, these tools never appeared.
But even 20 years ago, most of the applications being developed were inherently concurrent! It's turned out that these early concerns about the complexity of concurrent programming were unfounded–students had no more difficulty learning concurrent languages than sequential ones. And as concurrency has become a core component of the college curriculum, it has become possible to move topics such as exceptions, kernels, and semaphores to the computer archaeology courses.
It's become almost free, the paradigm changed; instead of thinking about computers with a small number of processors sharing an infinite memory, we now think of systems with an infinite number of processors each with its own memory. And in software, protocols and process structures have replaced data structures and algorithms. The legacy of concurrent processing touches all aspects of system design–long may it continue.
David May is CTO and cofounder of XMOS. Before founding XMOS, David May was head of computer science at Bristol University and previously spent 16 years in the semiconductor industry with Inmos and STMicroelectronics. He was the architect of the Transputer and the author of the OCCAM language. In 1990, he was elected a Fellow of the Royal Society for his contributions to computer architecture and parallel computing.