Programming Support for Distributed Optimization and Control in Cyber-Physical Systems

Large-scale actuator control problems in Cyber-Physical Systems (CPSs) are often expressed within the networked optimization model. While significant advances have taken place in optimization techniques, their widespread adoption in practical implementations is impeded by the complexity of inter-node coordination and lack of programming support that is necessary for sharing information coherently between distributed and concurrent controller processes. In this paper, we propose a distributed shared memory (DSM) architecture that abstracts away the details of inter-node coordination from the programmer resulting in simplified application design. It maintains data coherency through explicit use of mutual exclusion lock primitives that serialize access to coarse subsets of shared variables using fine-grained read/write permissions. The underlying lock protocol is deadlock-free, fair and safe, and reduces response time and message cost by 81.6% and 72.8% respectively over a conventional DSM implementation with coarse access permissions. Moreover, in a representative application example, the proposed framework reduces application code size by 76% and total latency by 22% over a hand-crafted implementation.

[1]  Ashok K. Agrawala,et al.  An optimal algorithm for mutual exclusion in computer networks , 1981, CACM.

[2]  Ramesh Govindan,et al.  Reliable and efficient programming abstractions for wireless sensor networks , 2007, PLDI '07.

[3]  Jeff S. Shamma,et al.  A Receding Horizon Control algorithm for adaptive management of soil moisture and chemical levels during irrigation , 2009, Environ. Model. Softw..

[4]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[5]  D. Bertsekas,et al.  Incremental subgradient methods for nondifferentiable optimization , 1999, Proceedings of the 38th IEEE Conference on Decision and Control (Cat. No.99CH36304).

[6]  Andreas Krause,et al.  Intelligent light control using sensor networks , 2005, SenSys '05.

[7]  Krithi Ramamritham,et al.  ACE in the Hole: Adaptive Contour Estimation Using Collaborating Mobile Sensors , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[8]  Srinivasan Seshan,et al.  Improving TCP/IP performance over wireless networks , 1995, MobiCom '95.

[9]  Mamoru Maekawa,et al.  A N algorithm for mutual exclusion in decentralized systems , 1985, TOCS.

[10]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[11]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[12]  Jiannong Cao,et al.  A fault tolerant mutual exclusion algorithm for mobile ad hoc networks , 2008, Pervasive Mob. Comput..

[13]  Abdelmadjid Bouabdallah,et al.  Distributed mutual exclusion algorithms in mobile ad hoc networks: an overview , 2004, OPSR.

[14]  Gaurav S. Sukhatme,et al.  Virtual high-resolution for sensor networks , 2006, SenSys '06.

[15]  David E. Culler,et al.  Design and implementation of a high-fidelity AC metering network , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[16]  Robert Nowak,et al.  Distributed optimization in sensor networks , 2004, Third International Symposium on Information Processing in Sensor Networks, 2004. IPSN 2004.

[17]  Philip Levis,et al.  Data Discovery and Dissemination with DIP , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[18]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[19]  Deborah Estrin,et al.  An energy-efficient MAC protocol for wireless sensor networks , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[20]  L. Montestruque CSOnet : A Metropolitan Scale Wireless Sensor-Actuator Network , 2008 .

[21]  Hagit Attiya,et al.  Efficient and Robust Local Mutual Exclusion in Mobile Ad Hoc Networks , 2010, IEEE Trans. Mob. Comput..