Tuple-based Coordination of Stochastic Systems with Uniform Primitives

528 views

Published on

Complex computational systems — such as pervasive, adaptive, and self-organising ones — typically rely on simple yet expressive coordination mechanisms: this is why coordination models and languages can be exploited as the sources of the essential abstractions and mechanisms to build such systems. While the features of tuple-based models make them well suited for complex system coordination, they lack the probabilistic mechanisms for modelling the stochastic behaviours typically required by adaptivity and self-organisation. To this end, in this talk we explicitly introduce uniform primitives as a probabilistic specialisation of standard tuple-based coordination primitives, replacing don’t know non-determinism with uniform distribution. We define their semantics and discuss their expressiveness and their impact on system predictability.

Published in: Technology, Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
528
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tuple-based Coordination of Stochastic Systems with Uniform Primitives

  1. 1. Tuple-based Coordination of Stochastic Systems with Uniform Primitives Stefano Mariani Andrea Omicini {s.mariani, andrea.omicini}@unibo.it DISI Alma Mater Studiorum—Universit` di Bologna a WOA 2013 Torino, Italy 2 December 2013 Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 1 / 40
  2. 2. Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 2 / 40
  3. 3. Motivations & Goals Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 3 / 40
  4. 4. Motivations & Goals Non-determinism, Coordination & Stochastic Behaviour A foremost feature of computational models for open, adaptive, and self-* systems is non-determinism Non-determinism is the basic mechanisms for stochastic behaviour Since most of the complexity featured by such systems depends on the interaction among components, coordination models should feature non-deterministic mechanisms for stochastic behaviour Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 4 / 40
  5. 5. Motivations & Goals Goals of the Research Devising out the basic mechanisms for stochastic coordination Finding a minimal set of primitives for most (all) of the most relevant stochastic systems Embedding such mechanisms as tuple-based co-ordination primitives, in order to address the general need of complex computational system engineering Defining their formal semantics and implementing them as TuCSoN primitives Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 5 / 40
  6. 6. Non-determinism in Tuple-based Models Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 6 / 40
  7. 7. Non-determinism in Tuple-based Models Don’t Care Non-determinism Linda features don’t know non-determinism handled with a don’t care approach: don’t know which tuple among the matching ones is retrieved by a getter operation (in, rd) can be neither specified nor predicted don’t care nonetheless, the coordinated system is designed so as to keep on working whichever is the matching tuple returned Instead, adaptive and self-organising systems require stochastic behaviours like “most of the time do this”, “sometimes do that” Possibly with some quantitative specification of “most of the time” and “sometimes” → As it is, non-determinism in tuple-based models does not fit the need of stochastic behaviour specification Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 7 / 40
  8. 8. Non-determinism in Tuple-based Models Linda “Local” Nature – In Time & Space No context — In a single getter operation, only a local, point-wise property affects tuple retrieval: that is, the conformance of a tuple to the template, independently of the spatial context in fact, standard getter primitives return a matching tuple independently of the other tuples currently in the same space—so, they are “context unaware” No history — Furthermore, in a sequence of getter operations, don’t know non-determinism makes any prediction of the overall behaviour impossible. Again, then, only a point-wise property can be ensured even in time sequences of standard getter operations present no meaningful distribution over time Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 8 / 40
  9. 9. Uniform Primitives Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 9 / 40
  10. 10. Uniform Primitives Definition & properties Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 10 / 40
  11. 11. Uniform Primitives Definition & properties uLinda: Probabilistic Non-determinism We define uniform coordination primitives (uin, urd) – first mentioned in [Gardelli et al., 2007] – as the specialisation of Linda getter primitives featuring probabilistic non-determinism instead of don’t know non-determinism We call the new model uLinda Uniform primitives allow programmers to both specify and (statistically) predict the probability to retrieve one specific tuple among a bag of matching tuples Uniform primitives are the “basic mechanisms enabling self-organising coordination”—that is, a minimal set of constructs able (alone) to impact the observable properties of a coordinated system Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 11 / 40
  12. 12. Uniform Primitives Definition & properties uLinda: “Global” Nature Situation & prediction Uniform primitives replace don’t know non-determinism with probabilistic non-determinism to situate a primitive invocation in space uniform getter primitives return matching tuples based on the other tuples in the space—so, their behaviour is context-aware predict its behaviour in time sequences of uniform getter operations tend to globally exhibit a uniform distribution over time Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 12 / 40
  13. 13. Uniform Primitives Basic example Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 13 / 40
  14. 14. Uniform Primitives Basic example Linda: How to Roll a Dice? We define tuple space dice We represent a six-face dice as a collection of six tuples: face(1), . . . , face(6) We roll a dice by rd-ing a face/1 tuple from dice: dice ? rd(face(X)) ! We do not obtain the overall (stochastic) behaviour of a dice: for instance, it may reasonably happen that rolling the dice 109 times always results in X / 1—that is, we get “1” 109 times in a row. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 14 / 40
  15. 15. Uniform Primitives Basic example uLinda: How to Roll a Dice? Again, we define tuple space dice Again, we represent a six-face dice as a collection of six tuples: face(1), . . . , face(6) We roll a dice by urd-ing a face/1 tuple from dice: dice ? urd(face(X)) ! Now, we do obtain the overall (stochastic) behaviour of a dice: context — at every roll, the six faces of the dice X / 1, . . . , X / 6 have the same probability P = 1/6 to be selected history — in the overall, repeating several times a roll, the six faces will tend to converge towards a uniform distribution Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 15 / 40
  16. 16. Uniform Primitives Semantics Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 16 / 40
  17. 17. Uniform Primitives Semantics Informally Operationally, uniform primitives behave as follows: 1 When executed, a uniform primitive takes a snapshot of the tuple space, “freezing” its state at a certain point in time—and space, being a single tuple space the target of basic Linda primitives 2 The snapshot is then exploited to assign a probabilistic value pi ∈ [0, 1] to any tuple ti∈{1..n} in the space—where n is the total number of tuples in the space 3 There, non-matching tuples have value p = 0, matching tuples have value p = 1/m (where m ≤ n is the number of matching tuples), and the overall sum of probability values is i=1..n pi = 1 4 The choice of the matching tuple to be returned is then statistically based on the computed probabilistic values Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 17 / 40
  18. 18. Uniform Primitives Semantics Formally I [!] In order to define the semantics of (getter) uniform primitives, we rely upon a simplified version of the process-algebraic framework in [Bravetti, 2008], in particular the ↑ operator, dropping multi-level priority probabilities. uin semantics T [Synch-C] uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} [Close-C] uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} → uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )} tj [Exec-C] uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn tj Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 18 / 40
  19. 19. Uniform Primitives Semantics Formally II [!] As for standard Linda getter primitives, the only difference between uniform reading (urd) and uniform consumption (uin) is the non-destructive semantics of the reading primitive—transition Exec-R. urd semantics T [Synch-C] uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} [Close-C] uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} → uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )} tj [Exec-R] uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 19 / 40
  20. 20. Expressiveness Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 20 / 40
  21. 21. Expressiveness Formally Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 21 / 40
  22. 22. Expressiveness Formally uLinda vs Linda In [Bravetti et al., 2005], authors demonstrate that Linda-based languages cannot implement probabilistic models. PME proof The gain in expressiveness brought by uLinda is formally proven in [Mariani and Omicini, 2013a], where uniform primitives are shown to be strictly more expressive than standard Linda primitives according to probabilistic modular embedding (PME) [Mariani and Omicini, 2013b]. In particular uLinda ∧ Linda p uLinda p Linda =⇒ uLinda ≡o Linda where stands for “probabilistically embeds” ≡o means “(PME) observational equivalence” p Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 22 / 40
  23. 23. Expressiveness Informally Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 23 / 40
  24. 24. Expressiveness Informally Load Balancing I Two service providers are offering the same service to clients through “advertising tuples” Provider 1 is slower than Provider 2 in processing requests—modeling different computational power Their working cycle is quite simple: a worker thread gets requests from a shared tuple space putting them in the master thread bounded queue—modeling memory constraints the master thread polls the queue for pending requests: if one is found, it is served, then the master emits another advertising tuple if none is found, the master does something else, then re-polls the queue—no advertising is done Clients search for available services in two different ways: for the first experiment, using rd primitive for the second, using urd Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 24 / 40
  25. 25. Expressiveness Informally Load Balancing II Figure : Clients using rd: Provider 1 is under-exploited—actually, not at all. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 25 / 40
  26. 26. Expressiveness Informally Load Balancing III Figure : Provider 1 and Provider 2 exhibit no collaboration—no “load balancing”. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 26 / 40
  27. 27. Expressiveness Informally Load Balancing IV Figure : Clients using urd: Provider 1 is exploited as much as it can afford. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 27 / 40
  28. 28. Expressiveness Informally Load Balancing V Figure : Provider 1 and Provider 2 exhibit some form of “load balancing”, achieved by self-organisation. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 28 / 40
  29. 29. Expressiveness Informally Load Balancing VI ? Why such a different behaviour with just a change of one primitive? By using the rd primitive we blindly commit to the actual implementation of the Linda model currently at hand, hence no prediction is possible prior to simulation—and with no information about implementation details By using primitive urd instead, we can predict how much each service provider will be exploited: ! ! ! → each provider emits an advertising tuple for each served request such tuples are those looked for by clients the faster provider will produce more tuples hence it will be more frequently found than the slower one Furthermore, the load balancing exhibited is not statically designed or superimposed, but results by emergence Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 29 / 40
  30. 30. Expressiveness Informally Pheromone-based Coordination I The experiment involves ten digital ants starting from the anthill with the goal of finding food At the beginning, any path has equal probability of being chosen, modeling random walking of ants in absence of pheromone As ants begin to wander around, eventually they find food and release pheromone on their way back home As a consequence, the shortest path eventually gets more pheromone since it takes less time to travel on it rather than on the longest path Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 30 / 40
  31. 31. Expressiveness Informally Pheromone-based Coordination II Figure : Digital ants search for food (top box) wandering randomly from their anthill (bottom box). Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 31 / 40
  32. 32. Expressiveness Informally Pheromone-based Coordination III Figure : By urd-ing digital pheromones, ants find the optimal path toward the food source—as a self-organizing, distributed process. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 32 / 40
  33. 33. Expressiveness Informally Pheromone-based Coordination IV Figure : Pheromones strength across time. Descending phase corresponds to the lack of pheromone reinforcement contrasting evaporation—due to food depletion. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 33 / 40
  34. 34. Expressiveness Informally Pheromone-based Coordination V Quite obviously, the idea here is not just showing a new way to model ant-like systems Instead, the example is meant to highlight how a non-trivial behaviour – that is, dynamically solving a shortest path problem – can be achieved by simply substituting uniform primitives to traditional Linda getter primitives. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 34 / 40
  35. 35. Conclusion, Ongoing & Future Work Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 35 / 40
  36. 36. Conclusion, Ongoing & Future Work Conclusion We formally define uLinda with uniform primitives as a specialisation of standard Linda getter primitives We prove the gain in expressiveness of uLinda with respect to Linda We claim uniform primitives can work as the basic mechanisms for stochastic coordination Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 36 / 40
  37. 37. Conclusion, Ongoing & Future Work Ongoing & Future Work Current TuCSoN implementation already features uniform primitives We will test the expressiveness of uniform primitives against all the most relevant adaptive & self-organising patterns We will test the expressiveness of TuCSoN uniform primitives against all the most relevant stochastic coordination models We will work on the efficiency of the implementation Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 37 / 40
  38. 38. References References I Bravetti, M. (2008). Expressing priorities and external probabilities in process algebra via mixed open/closed systems. Electronic Notes in Theoretical Computer Science, 194(2):31–57. Bravetti, M., Gorrieri, R., Lucchi, R., and Zavattaro, G. (2005). Quantitative information in the tuple space coordination model. Theoretical Computer Science, 346(1):28–57. Gardelli, L., Viroli, M., Casadei, M., and Omicini, A. (2007). Designing self-organising MAS environments: The collective sort case. In Weyns, D., Parunak, H. V. D., and Michel, F., editors, Environments for MultiAgent Systems III, volume 4389 of LNAI, pages 254–271. Springer. 3rd International Workshop (E4MAS 2006), Hakodate, Japan, 8 May 2006. Selected Revised and Invited Papers. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 38 / 40
  39. 39. References References II Mariani, S. and Omicini, A. (2013a). Probabilistic embedding: Experiments with tuple-based probabilistic languages. In 28th ACM Symposium on Applied Computing (SAC 2013), pages 1380–1382, Coimbra, Portugal. Poster Paper. Mariani, S. and Omicini, A. (2013b). Probabilistic modular embedding for stochastic coordinated systems. In Julien, C. and De Nicola, R., editors, Coordination Models and Languages, volume 7890 of LNCS, pages 151–165. Springer. 15th International Conference (COORDINATION 2013), Florence, Italy, 3–6 June 2013. Proceedings. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 39 / 40
  40. 40. Tuple-based Coordination of Stochastic Systems with Uniform Primitives Stefano Mariani Andrea Omicini {s.mariani, andrea.omicini}@unibo.it DISI Alma Mater Studiorum—Universit` di Bologna a WOA 2013 Torino, Italy 2 December 2013 Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 40 / 40

×