MonALISA Grid Monitoring
System Design
Menu mode: dynamic | fixed
Last update on:
Dec 03, 2015

Uptime: 134 days, 13h, 12m
Number of requests: 3971213
since 28 October 2005

MonALISA System Design

MonALISA is a globally scalable framework of services to monitor and help manage and optimize the operational performance of Grids, networks and running applications in real-time.

The MonALISA architecture, presented in Figure 1, is based on four layers of global services. The network of JINI - Lookup Discovery Services (LUS) provides dynamic registration and discovery for all other services and agents. Each MonALISA service can execute many monitoring tasks through the use of a multithreaded execution engine and to host a variety of loosely coupled agents that analyze the collected information in real time. The collected information can be stored locally in databases. The layer of Proxy services, shown in the figure, provides an intelligent multiplexing of the information requested by the clients or other services and is used for reliable communication between agents. It can also be used as an Access Control Enforcement layer .

Figure 1: The MonALISA Architecture

A service in the MonALSIA framework is a component that interacts autonomously with other services either through dynamic proxies or via agents that use self-describing protocols. By using the network of lookup services, a distributed services registry, and the discovery and notification mechanisms, the services are able to access each other seamlessly. The use of dynamic remote event subscription allows a service to register an interest in a selected set of event types, even in the absence of a notification provider at registration time. The lookup discovery service will then automatically notify all the subscribed services, when a new service, or a new service attribute, becomes available.

The code mobility paradigm (mobile agents or dynamic proxies) used in the MonALISA system extends the approaches of remote procedure call and client-server. Both the code and the appropriate parameters are downloaded dynamically into the system. Several advantages of this paradigm are: optimized asynchronous communication and disconnected operation, remote interaction and adaptability, dynamic parallel execution and autonomous mobility. The combination of the service architecture and code mobility makes it possible to build an extensible hierarchy of services that is capable of managing very large systems.