Local Information Service Agent
LISA is a lightweight monitoring agent that runs on any end-user's system (Linux, Windows, or MacIntosh)
using Java Web Start technology. The LISA agent detects the architecture on which it is deployed and
dynamically loads the binary applications necessary to perform monitoring and end-to-end network
performance measurements. It uses MonALISA lookup services to discover and register with the services
and applications it needs, based on a set of attributes (see Figure 1). As it monitors the end-system
and network state, it reports all the monitored values to the relevant MonALISA services. When using
an external MonALISA service, the LISA agent reports the real IP address and domain name of the computer
on which the agent is running, and whether a network address translation (NAT) is being used. This allows
the external service to contact the end-system as needed.
The LISA Agent provides:
- Complete monitoring of the end-system (load, CPU usage, memory allocation, disk usage, disk IO, paging, running processes, network traffic and connectivity).
- Detection of hardware devices on the system and the drivers used by the kernel to control them.
- Measurements of end-to-end network performance using different applications (IPERF, WEB100, Ping), which are reported to the user.
- A user friendly GUI to present all the measured values and the system parameters.
- Filters to trigger actions when predefined conditions are detected.
In the EVO case, LISA discovers the running reflectors (i.e., the Panda servers) that
are good possible candidates to be used by the (Koala) client. This is done by detecting
network proximity (Panda servers in the same network, region or country) as well as the load
on each of the candidate servers and the current number of clients each one is serving.
It creates a short list of candidate "best" reflectors, taking the load on each reflector
as well as the network connectivity to it into account.
End-to-end network performance measurements are performed periodically with the reflectors
on the short list, and based on these measurements the LISA agent provides the best candidate
to the application program. These measurements are continuously performed in the background
and in case the connectivity with the .best service. changes, it will notify the application
to reconnect to the new "best service". This process is shown schematically in Figure 1.
Figure 1: A schematic view of how LISA agents discover MonALISA services, then use the MonALISA
services to connect to the best candidate application instance (a Panda server in the case of EVO).
As the selection process proceeds, the MonALISA services perform dynamic load balancing by considering
the load on each server.
|