Software: The New System of the World

Software: The New System of the World

In the history of human technology, the last two decades have seen unprecedented growth. During my research career in astrophysics (spanning more than two decades), the size of the computational problems [1] has increased by a factor of a million. On the hardware side, the computational capabilities of state-of-the-art systems a decade ago pale in comparison to those of today. The ASCI Red supercomputer installed in my home state of New Mexico was the fastest in the world in 1996. It was the first to run a benchmark at over a Teraflop (one trillion operations per second) and cost a staggering $70 million in today’s dollars. Representing Descartes Labs at the annual supercomputing conference in November, we showed the same benchmark can be run today at the same performance using a couple of Google Cloud Compute Engine nodes for $1 an hour. This represents a reduction in price of more than a factor of 2,000 in 20 years [2].

These staggering increases in computer performance are difficult to appreciate. Imagine if the same factor was applied to cars — you could buy a nice vehicle for $10. Rockets? Staying in a space station would be comparable to the cost of a high-end hotel suite on Earth. One item that puts you in everyday contact with these technological factors is probably in your pocket right now. A modern smartphone is equal to or better than a computing, graphics, camera, and communication system from 20 years ago, which would have cost a million dollars. This doesn’t even account for the fact that there are 2 billion of these smartphones, which can all connect to each other and the Internet.

This pace and scale of improvement in computing technology leads to an important question: why haven’t we seen it drive similarly rapid advances in other industries? While the answer to this question is very complex, one of the primary reasons is that many industries are now constrained by the human bottleneck problem: rather than being starved for computational power, which is becoming increasingly cheap, these industries are limited by the amount of skilled human labor. Industrial progress in the coming decades will thus be contingent on building software that allows humans to more productively use the hardware we have today.

Figure: Descartes Labs.

An important issue explaining the lag in computational advances in many industries is that, at a fixed cost, much of the increase in computational performance has come from parallelization: in other words, from using more processors, not making each processor faster. In the words of René Descartes, “Divide each difficulty into as many parts as is feasible and necessary to resolve it.” Unfortunately, moving from serial to parallel computation forces essential changes to the software underlying almost any task, thereby making the realization of these hardware performance increases conditional on the development of software that can support parallel computation. “Make the code work in parallel” is easy to say, but hard to do in practice.

A second issue revolves around the most important cost in business processes: human labor. As pointed out by Erik Brynjolfsson, MIT professor and author of the New York Times bestseller “The Second Machine Age”, increase in computation speeds will cause the flow of information to speed up dramatically in highly automated parts of a process, only to hit bottlenecks elsewhere, particularly where humans are involved and processes haven’t been updated. This limit appears everywhere, from programming to analysis and management. For a programmer, productivity is ultimately measured by the output of the hardware running their software. On one hand, if the hardware is very expensive, the cost of the software may not be a limiting factor for the combined system, and increases in hardware performance directly translate to better system performance. However, in today’s world, the cost of computing is essentially free compared to the cost of a programmer. Right now, one dollar will buy 6000 trillion mathematical operations in a cloud computing system, but will only buy about one minute of programming labor.

This provides context for understanding the rapid growth in US productivity from 1994–2004 and its subsequent decline. Making single-processor computers faster made combined human-computer business systems more efficient up until 2004, when single-processor performance stalled, and overall system costs became dominated by human factors. This is because the additional transistors from Moore’s Law have been used to put more processor cores inside a chip (rather than making the single-processor itself faster).  Since most existing software only ran on one processor at a time, making the multi-core system faster required someone to write (expensive) software.  Some systems continued to prosper, most obviously those associated with the World Wide Web that could be naturally adapted to parallel systems.

This brings us to the biggest opportunity of the modern era: there is an enormous gap between available computational capabilities and the application of these capabilities to valuable services (outside of a few well-known examples such as advertising enabled by web search or social media). Many organizations can now work with petabytes of data in a massively parallel cloud platform and efficiently implement decades of research in computer science, mathematics, and the fundamental physical sciences. The challenge lies in providing services that leverage these capabilities: services that can benefit from parallel computation, have a relatively small overhead for human labor, and most importantly, are valuable to industry and the public. My colleagues and I presented some specific examples of this opportunity in our paper “Data-Intensive Supercomputing in the Cloud: Global Analytics for Satellite Imagery.” A typical image analyst will spend most of their time locating images, downloading them, getting them in the right reference system, cleaning up the data (removing actual clouds, for example), and then looking at each image in order to learn something about our planet in their particular area of expertise. In contrast, Descartes Labs has built a platform that enables machine learning techniques to be applied to normalized imagery from multiple satellite constellations in the cloud, making the image analyst many times more productive. These same tools are used internally at Descartes Labs to enable our global commodity crop production forecasts, as well as a suite of other services enabled by our forecasting platform. Using software in this way, we can ensure that the gains of parallel computation are met with commensurate ability on the human side to use the advancements productively.

Figure: A satellite image before (left) and after (right) algorithmic processing.

The enormous potential of software to shape our future draws inevitable comparisons to physics in past centuries. In 1687, Isaac Newton published his masterwork, Principia, laying the foundations for modern science and engineering. He positioned physics as “The System of World” (his title for the third book of Principia) and made physics the lens through which we viewed almost everything. In the following 300 years, scientists thoroughly explored physics (having been trained as a physicist, I am bound to lump other sciences such as chemistry and biology into physics). Engineers transformed the resulting discoveries into myriad wondrous inventions, and scientists and engineers have been so successful that further practical advances based on a better understanding fundamental physics are likely to proceed at a much slower pace than in the past. SpaceX has reinvigorated rocket science, but the thrust to weight ratio of their Merlin rocket engine isn’t quite a factor of 2 better than the F-1 engine that was used in the Saturn V rocket 50 years ago. No matter how well Elon Musk can rearrange atoms, we already know the names of all the atoms he might use [3].

 Growth that comes from a better understanding of physics may have plateaued, but we are in a new era. Physical laws of nature set the boundaries for the Industrial Age, but the Information Age has different constraints. The explosive growth in computational capabilities demands systems to harness these advances to increase industrial productivity. Software has filled this void by becoming the bridge between hardware and human capital, and it is poised to replace physics as the system of the world.


[1] By the size of the computational problems, we are referring to the number of mathematical operations required to solve a particular type of astrophysics problem.

[2] The price per hour of ASCI Red was estimated by amortizing the purchase price over 4 years.

[3] While it is true that advances in physics will lead to new technology and industrial opportunities (for example, quantum computing), it will very likely be less than those of the previous century.


Mike Warren is cofounder & CTO at Descartes Labs, a company that applies machine learning to satellite imagery to model complex systems on the planet. Mike’s past work was focused on developing and applying advanced software and computing technology to understand the physical and virtual world. He was a scientist at Los Alamos National Laboratory for 25 years, and also worked as a Senior Software Engineer at Sandpiper Networks/Digital Island. Professional recognition for Mike’s work includes the Gordon Bell prize for outstanding achievement in high-performance computing. He has degrees in Physics and Engineering & Applied Science from Caltech, and he received a PhD in Physics from University of California, Santa Barbara.