Monday, September 26, 2016

Combining Self-Organisation and Autonomic Computing with Aggregate-MAPE

One last paper from SASO 2016: I was a minor author on a paper about bringing aggregate programming to the world of self-managing systems, presented in the same workshop as my paper on MTIP. This work is in the area of autonomic computing, a concept introduced by IBM about ten years back, which basically increases the flexibility of a computer’s operating system by incorporating explicit self-representation and a planning system.  The typical architecture for this is the “MAPE loop,” an acronym that expands to Monitor, Analyze, Plan, and Execute.  This is a nice idea, but becomes particularly challenging to implement on networked systems, when one needs to figure out how to make a bunch of MAPE loops on different machines play nicely with one another.

Aggregate MAPE is implemented by with four aggregate processes: Monitor, Analyze, Plan, and Execute, each spread across all of the participating devices in the network.

This paper turns that around by spreading each component (M, A, P, E) across the network as an aggregate program, thereby separating the networking and coordination aspects from the autonomic control aspects and significantly simplifying the system.  It’s early work yet, but we’ve shown at least a proof of principle of the value of this synthesis, and the next step is elaboration into bigger and more real systems.

No comments: