Scoped Synchronization Constraints for Large Scale Actor Systems
Abstract
Very large scale systems of autonomous concurrent objects (Actors) require coordination models to meet two competing goals. On the one hand, the coordination models must allow Actors to dynamically modify protocols in order to adapt to requirement changes over the, likely extensive, lifetime of the system. On the other hand, the coordination models must enforce protocols on potentially uncooperative Actors, while preventing deadlocks caused by malicious or faulty Actors. To meet these competing requirements, we introduce a novel, scoped semantics for Synchronizers [7,6]—a coordination model based on declarative synchronization constraints. The mechanism used to limit the scope of the synchronization constraints is based on capabilities and works without central authority. We show that the mechanism closes an attack vector in the original Synchronizer approach which allowed malicious Actors to intentionally deadlock other Actors.
Keywords
Actor Address Large Scale System Coordination Model Malicious Actor Tuple SpaceReferences
- 1.Agha, G., Callsen, C.J.: ActorSpaces: An open distributed programming paradigm. In: Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1993, pp. 23–32 (1993)Google Scholar
- 2.Agha, G.A.: ACTORS — A Model of Concurrent Computation in Distributed Systems. MIT Press series in artificial intelligence. MIT Press (1986)Google Scholar
- 3.Astley, M., Agha, G.: Customizaton and compositon of distributed objects: Middleware abstractions for policy management. In: SIGSOFT FSE, pp. 1–9 (1998)Google Scholar
- 4.Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43, 225–267 (1996)MathSciNetMATHCrossRefGoogle Scholar
- 5.Field, J., Varela, C.A.: Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, pp. 195–208. ACM (2005)Google Scholar
- 6.Frølund, S.: Coordinating distributed objects - an actor-based approach to synchronization. MIT Press (1996)Google Scholar
- 7.Frølund, S., Agha, G.: A Language Framework for Multi-Object Coordination. In: Wang, J. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 346–360. Springer, Heidelberg (1993)CrossRefGoogle Scholar
- 8.Gelernter, D.: Generative communication in linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)MATHCrossRefGoogle Scholar
- 9.Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)MATHCrossRefGoogle Scholar
- 10.Letuchy, E.: Facebook chat. Blog entry (May 2008), http://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=9 (retrieved on September 25, 2011)
- 11.Meseguer, J., Talcott, C.: Semantic Models for Distributed Object Reflection. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 1–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 12.Miller, M.S.: Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control. PhD thesis, Johns Hopkins University (2006)Google Scholar
- 13.Minsky, N.H., Minsky, Y., Ungureanu, V.: Safe tuplespace-based coordination in multiagent systems. Applied Artificial Intelligence 15(1), 11–33 (2001)CrossRefGoogle Scholar
- 14.Minsky, N.H., Ungureanu, V.: Regulated Coordination in Open Distributed Systems. In: Garlan, D., Le Métayer, D. (eds.) COORDINATION 1997. LNCS, vol. 1282, pp. 81–97. Springer, Heidelberg (1997)CrossRefGoogle Scholar
- 15.Mok, W.: How twitter is scaling. Blog entry (June 2009), https://waimingmok.wordpress.com/2009/06/27/how-twitter-is-scaling/ (retrieved on September 25, 2011)
- 16.De Nicola, R., Gorla, D., Hansen, R.R., Nielson, F., Nielson, H.R., Probst, C.W., Pugliese, R.: From Flow Logic to Static Type Systems for Coordination Languages. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 100–116. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 17.Ren, S., Yu, Y., Chen, N., Marth, K., Poirot, P.-E., Shen, L.: Actors, Roles and Coordinators — A Coordination Model for Open Distributed and Embedded Systems. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 247–265. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 18.Rosu, G., Serbanuta, T.-F.: An overview of the K semantic framework. J. Log. Algebr. Program. 79(6), 397–434 (2010)MathSciNetMATHCrossRefGoogle Scholar
- 19.Sturman, D.: Modular Specification of Interaction Policies in Distributed Computing. PhD thesis, University of Illinois at Urbana-Champaign (1996)Google Scholar
- 20.Varela, C.A., Agha, G.: A Hierarchical Model for Coordination of Concurrent Activities. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 166–182. Springer, Heidelberg (1999)Google Scholar
- 21.Venkatasubramanian, N., Talcott, C.L.: Reasoning about meta level activities in open distributed systems. In: PODC, pp. 144–152 (1995)Google Scholar
- 22.Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)MATHGoogle Scholar
- 23.Yang, F., Aotani, T., Masuhara, H., Nielson, F., Nielson, H.R.: Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 202–218. Springer, Heidelberg (2011)CrossRefGoogle Scholar