Distributed Cluster Process Execution Model

Agni Cluster OS provides mechanisms for scheduling, dispatching and control of executable primitives on different levels of abstraction. As usual in Agni OS, these mechanisms are not required to write distributed apps, however they provide a broad range of functionality required by the majority of application use-cases. For example: sending customer emails, auditing books, executing MapReduce or in-memory summary jobs, sending social messages/chat - all of these tasks can be easily coded with the primitives described below.

Agni provides the following mechanisms each of which is described in more detail below:

  • Todo - an execution primitive, a part of the larger task, provides partitioning of a larger task, parallelization and load balancing between cluster nodes
  • Process - a global context of the larger task execution,establishes context for multiple instances of asynchronous Todos, captures the final result of multiple Todos
  • HostSet - a named set of hosts participating in some business activity. For example, hostset of Todo Queue processors
  • Dynamic Host - a prototype of a host which can get spawned by the Agni OS automatically (i.e. HostSet load balancer) or manually on a pluggable IaaS provider - an instance of CloudSystem