Sunday, December 15, 2013

CPS in the Clouds

Cloud computing for cyber-physical systems is in vogue; see, for example, this NSF-sponsored workshop on the topic. The idea behind cloud CPS is much the same as for information technology---move some important operations to remote server farms.  This idea leverages both efficient servers and ubiquitous Internet.

However, the technical challenges behind cloud CPS are different and arguably harder than those for database-oriented operations.  Control systems have deadlines.  If your control system is in the clouds, then each control sample has to perform its complete round trip: to the cloud server through the Internet,  computing in the cloud, then back to the physical plant. The basic physics of communication mean that we won't be able to put very high rate, low latency control loops in the cloud.  Bandwidth isn't the only requirement---latency is ultimately determined by the speed of light.  But there are a lot of control loops that are slow enough to allow them to be put in the clouds.  Many hierarchical control systems have some very fast control loops and supervisory control that runs much more slowly. My favorite example is traffic control.  The decisions required to time the lights could be performed in the cloud; rather than have each city buy and maintain its own traffic flow system, all cities could share a more sophisticated control system located in the cloud.

People often assume that cost savings is the primary motivation for putting cyber-physical systems in the cloud.  In fact, reliability is an even greater motivation.  Designing a highly-available server farm is a challenging task.  A typical large server farm consumes the electricity of a city of 50,000 people, but it crams all that energy into a space the size of a large conference room.  All the heat that is generated by those computers makes for a very challenging heat transfer problem.  Not only does the heat cost money to eliminate with cooling systems, it's a major source of failures as components overheat.

If you run a safety-critical, high-reliability cyber-physical system, you should seriously think about putting your SCADA (supervisory control) system in the cloud, preferably run by someone who does it full time.  The challenge of running a highly-reliable server system is big enough that it shouldn't be left to amateurs.

No comments:

Post a Comment