Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Marlowe: Intelligent Control For the Cloud

Marlowe, a project in the eXtreme Computing Group, enables the creation of intelligent control systems for cloud computing.

What is Marlowe?

Marlowe is a framework for building intelligent control systems for cloud computing. It spans from controlling hardware (heating, cooling and power) to resource allocation through application placement.

Marlowe is composed of societies of intelligent agents draped over a canonical pub/sub interface. Below is a standard model for intelligent agents where inputs come in from the underlying system or other agents. This input push through a control layer designed to provide the context the agent lives in and then up to the intelligence that determines how the agent will react to various inputs. The intelligence then can decide to push out recommendations on how the system should react to the inputs.

Marlowe Intelligent Agents 

These societies of intelligent agents communicate through a canonical pub/sub interface. This interface is draped over pluggable communication channels allowing for an "elastic communication wire". This allows the communication channel to change based on the communication patterns of agents and societies of agents. The following picture shows examples of these pluggage communication channels.

Marlowe Control Framework Elastic Wire

Marlowe Benefits

  1. Rich monitoring framework: A comprehensive suite of agents for data collection and monitoring that can scale to thousands of servers.
  2. Easy configuration: Configure monitoring based on pre-specified agents or your own agents; their timeliness and accuracy.
  3. Global application view: Get access to summary view of global application execution and detailed views of local state.
  4. Data analytics: Harness the functionality of Complex Event Processing Engines to perform analytics for your monitoring data, from simplex to complex scenarios.
  5. Build smart applications quickly: Focus on expressing high-level goals for application execution in a simple rule based language rather than developing monitoring systems.
CJ Williams
CJ Williams