SC17, the annual gathering of the supercomputing community is nigh. As always, there will be talk of next-generation technology – hardware, software, algorithms – and new applications. All of this will take place against the backdrop of the race to exascale computing – bigger and bigger, faster and faster. We will all geek out, and we will love it.
While we discuss operations/joule, quantum and neuromorphic computing, and new and exotic memory technologies to enable ever faster systems, there is another computing revolution underway, at the other extreme. As Richard Feynman famously said about nanoscale devices, "There's plenty of room at the bottom." Folks, I'm talking edge devices, the world of streaming data sensors that is changing the nature of computing and increasingly, of science as well. This is the subject of the forthcoming Big Data and Extreme-scale Computing (BDEC) report.
Computing History 101
The history of computing is one of punctuated equilibrium, with each pendulum swing, from centralized to distributed, bringing new and unexpected changes. It has also been a story of disruption from below, as successive generations brought order of magnitude shifts in price-performance ratios and sales volumes. Mainframes beget minicomputers, which begat workstations, which begat personal computers, which begat smartphones. The same has been true in scientific computing. Monolithic supercomputers (think the original Cray series) gave way to symmetric multiprocessors (SMPs) and distributed memory supercomputers. These gave way to clusters, now augmented with accelerators. Mind you, I still miss the lights on the Thinking Machines CM-5.
In both technical and "mainstream" computing, our largest systems are of unprecedented scale, whether globe spanning networks of massive cloud data centers or petascale and soon-to-be exascale HPC systems. As the Internet of Things sweeps across the computing landscape like a tsunami, one should ask about its analog in technical computing – the burgeoning networks of sensors that now capture science, engineering, environment, health and safety, and social data. (See Mobility, Transduction, and Garages)
The Sensor Edge
Today's smartphone-cloud ecosystem places most of the intelligence and data in the cloud. Indeed, all of the intelligent assistants – Siri, Cortina, and others – run in the cloud, dependent on precious wireless network bandwidth and relying on both behavioral history and deep learning algorithms. Limited by smartphone processing speeds, memory capacity, power budgets, and battery lifetime, and human expectations and physiology, there are good economic and technical reasons for this design.
There are also disadvantages, particularly in science. First, transmitting raw, time sensitive data to central sites places major demands on national and international networks. When the Large Hadron Collider (LHC) was under construction, this bandwidth and data processing demand was a major concern, triggering an international collaboration to build a distributed data storage hierarchy; those concerns remain as luminosity upgrades to the HLC are being planned.
The planned data pipeline for the Large Synoptic Survey Telescope (LSST) will send the raw data from the telescope in Chile to a dedicated supercomputer at NCSA, with a sixty second (maximum) delay before global alerts of transient phenomena must be distributed. Although this centralized approach can and will work when the daily data volume is measured in terabytes, the data deluge of the Square Kilometer Array (SKA) will require in situ reduction.
My friends in Chicago's Array of Things project grappled with another aspect of this local/remote tradeoff when designing urban sensors to capture and analyze human interactions. Communities were happy to support social dynamics analysis, but they did not want Big Brother video to leave the sensors. The privacy and social constraint requires low power, high-performance machine learning solutions on the sensors themselves.
Scale Challenges
Centralization also brings operational and security risks. My former Microsoft colleague, James Hamilton (now at Amazon), when asked why cloud data centers are not even bigger, said, "… the cost savings from scaling a single facility without bound are logarithmic, whereas the negative impact of blast radius is linear." We have all experienced the blast radius effect, at least metaphorically; when a cloud data center goes down, it affects both social networks and business, and it is international news. There is, perhaps, a salutatory lesson here for the ultimate, maximum size of supercomputers, but that is a discussion for another day.
In addition, the stateless design of the venerable TCP/IP stack includes no notion of data geo-location or intermediate data processing. Everyone who has debugged "last mile" network performance problems knows this all too well. To remediate this, research groups and companies have designed a variety of domain-specific network overlays, data caches, publisher-subscriber systems, and content delivery networks (CDNs).
Dramatic declines in computing costs mean it is now possible to deploy truly large numbers of inexpensive sensors. How dramatic? I have posed the following question on my campus. What would you do with 10,000, disposable ~$10 sensors? I was met with surprise at the scale of my question. For many of us, even those who came of age in the smartphone era, this scaling is a difficult question to answer because it defies our worldview of the possible. It is not a science fiction fantasy; it is a present reality.
A traditional hub and spoke model of data storage and sensor data analysis is increasingly neither scalable nor reliable. Amazon's Greengrass architecture is an early example of a generic, distributed approach, while NVidia's Metropolis system targets video in smart cities. There is an even more general model, where generic services support distributed data caching and processing throughout the network. Micah Beck (Tennessee) has made a thoughtful case for the design of such an approach, which he calls an Exposed Buffer Processing Architecture. Similarly, the Array of Things leaders have argued that edge processing is essential when
- The data volume overwhelms the network capability
- Privacy and security encourage short-lived data
- Resilient infrastructure requires local actuation/response
- Latency constraints demand the response times of dedicated resources
Simply put, these requirements imply a much more complex, distributed data storage and processing architecture for data-driven scientific computing than we have developed to date.
Supercomputing Edge Manifesto
This brave new world of streaming data has profound implications for the future of supercomputing. Here are just a few:
- Streaming data is continuous and requires a reconceptualization of workflow and scheduling systems. Periodic, batch processing is necessary but not sufficient.
- Sensor scale and complexity span many orders of magnitude, from inexpensive, disposable devices to nation-scale instruments. New orders of magnitude always expose new bottlenecks and necessitate architectural change to identify and decompose domain-specific and domain-independent elements.
- Systemic resilience takes on new urgency, extending beyond central HPC to include networks and distributed devices.
- Machine learning, modeling, and data assimilation apply concurrently at many sites and multiple levels, subject to energy and packaging constraints at the edge.
- We in HPC are not the only players in this space. Much as we learned and adapted much from the open source Linux community, we must learn from and embrace distributed data analytics from the sensor community.
As the name implies, the Big Data and Extreme-scale Computing (BDEC) project has been examining this nexus and the changing nature of scientific discovery enabled by the fusion of big data – from sensors large and small – machine learning, and computational modeling. It is a rapidly shifting environment, with new hardware and software ecosystems evolving rapidly.
Much of it remains largely unknown to the traditional HPC community, just as software containerization and machine learning were just a few years ago. That will change very soon. If you are attending SC17, come to the Birds of a Feather (BOF) discussion, late Wednesday, November 15.
A Literary Coda
In his book, Hell's Angels, the inimitable gonzo journalist Hunter S. Thompson once wrote about living on the edge – riding flat out – in the dark – on a motorcycle:
The Edge…There is no honest way to explain it because the only people who really know where it is are ones who have gone over. The others–the living–are those who pushed their control as far as they felt they could handle it, and then pulled back, or slowed down, or did whatever they had to when it came time to choose between Now and Later.
In supercomputing, we have always felt the need for speed, exploiting every new technology in the endless search for higher performance and greater capacity. It's time for the supercomputing community to come to the edge, where sensors and streaming data meet HPC, computational models, and machine learning.
There's lots of room at the edge for innovation and discovery. Let's not crash in the dark.
Comments
You can follow this conversation by subscribing to the comment feed for this post.