Nordic Testbed for Wide Area Computing And Data Handling 
26/11/2002 
The Grid Monitor 
Usage manual 
&#8727;
Oxana Smirnova 
Abstract 
The Grid Monitor is a Web interface to the NorduGrid Information System, allowing to browse all the published information about the system. It makes use of the hierarchical information organization and the PHP4 LDAP module to provide a real-time monitoring and a primary debugging for the NorduGrid testbed. 
&#8727;O.Smirnova@cern.ch 
1 Introduction 
Information services play a very important role in any computational grid architecture, being a nervous system of the Grid. Resource discovery, scheduling, monitoring and many other tasks are impossible without a reliable and up-to-date information about system components. 
The MDS-based [1] NorduGrid [2] Information System [3] provides a robust and dynamic model for accessing not only quasi-static information about resources and services, but also about such rapidly changing parameters like queue and job status. Being based on OpenLDAP [4], it can be easily interfaced to any browsing or monitoring tool, giving thus a user-friendly overview of all the testbed resources. 
The Grid Monitor makes use of the LDAP module of PHP4 [5] to provide a Web interface to the information infrastructure. This document gives a summary of its capabilities and usage guidelines. 

2 Grid Monitor Modules 
The structure of the Grid Monitor to great extent follows that of the NorduGrid Information System [3]. The basic objects are de&#64257;ned by the following schema&#8217;s objectclasses: 
&#8211; nordugrid-cluster: a cluster 
&#8211; nordugrid-queue: a queue at the cluster, accessible by the NorduGrid users 
&#8211; nordugrid-job: a NorduGrid job, associated with a queue 
&#8211; nordugrid-authuser: a user, authorized to submit jobs to a given queue 
The Grid Monitor also uses the NorduGrid Virtual Organisation (VO) objectclass organisationalPerson and the corresponding attributes. 
For each objectclass, either an essential subset of attributes, or the whole list of them, is presented in an easily accessible inter-linked manner. This is realized as a set of windows, each being associated with a corresponding module. There are seven major modules : 
1) An overall Grid Monitor 
2) Cluster Description 
3) Queue Details 
4) Job Information 
5) User Information 
6) Attributes Overview 
7) List of Users 
Each module displays both dynamic and static information: for example, a queue name is static, while the amount of running jobs in this queue is dynamic. Most of the displayed objects are linked to appropriate modules, such that with a simple mouse click, a user can launch another module, expanding the information about the corresponding object or attribute. Each such module opens in an own window, and gives access to other modules in turn, providing thus a rather intuitive browsing. 
In what follows, these modules are described in details, giving an overview of their functionality and usage hints. 
2.1 The Grid Monitor 
The basic module, providing access to the most required information, is the Grid Monitor, showing the overall status of the system. It serves as a starting point for browsing the system information. The purpose of this module is to give a quick overview of the current status of the NorduGrid by showing the list of the available clusters and the most essential information about them: an alias, number of working processors, number of occupied processors and number of queueing jobs. In the current implementation, the main Grid Monitor window contains also the link to the user base of the NorduGrid. Figure 1 shows a screenshot of the running monitor. All the information shown is dynamic, including organizational names (countries in this case). 
In Figure 1, the numbered tags indicate clickable objects as explained below: 
1)&#9;Cluster: a cluster alias, linked to the cluster description module (Section 2.2), which provides complete information about the current status of a cluster. 
Figure 1: The Grid Monitor 
2)&#9;Load: a graphical and numeric representation of the cluster load, showing both Grid-and non-Grid (submitted locally) running processes. Red bar shows percentage of NorduGrid processes, while the grey bar shows total relative occupancy of a cluster. Numbers indicate the absolute amount of running processes, with &#64257;rst &#64257;gure corresponding to the Grid, and second -to the non-Grid ones. It should be noted that number of processes does not necessarily correspond to the number of running jobs: a parallel job can occupy several processors. By clicking on a bar, a user accesses the list of all Grid jobs, running on a cluster (Section 2.4). 
3)&#9;Queueing: number of queueing jobs, which includes both jobs queued in an LRMS and those being pre-processed by the Grid Manager [6]. Only jobs which can be potentially executed in a Grid queue are counted. The number is linked to the same module as the Load item, with the only di&#64256;erence that it displays the list of the Grid-queued jobs. Note that non-Grid jobs are counted in the total number of queued jobs, while they can not be listed by the Grid Monitor, as they are not providing any information in the NorduGrid Information System. 
4)&#9;User base: an auxiliary link, providing an access to the VO-listing module (Section 2.7). The main purpose of this link is to provide an easy access to the user-speci&#64257;c information, such as the list of submitted jobs and available resources. 

2.2 Cluster Description 
The cluster description module displays all the cluster attributes stored in the MDS, as well as most relevant information about the queues, accessible by the NorduGrid users. The window thus contains two lists, as shown in Figure 2: 
1)&#9;Attributes: this is a dump of all the attributes of the nordugrid-cluster objectclass, dynamic and static ones. Such attributes as cluster alias, or domain name, are static; others are dynamic, with the values obtained by the MDS from the information providers: e.g., total CPU number, amount of jobs, or available disk space. More details about these attributes can be found in the NorduGrid Information System description [3]. Each attribute (apart of the MDS time stamps) is linked to the Attributes Overview module (Section 2.6), such that clicking on an attribute name brings the list of the values of this particular attribute on all the NorduGrid clusters. For instance, this is the most convenient way to browse available disk space or runtime environment values over the system. 
2)&#9;Queues: the list of queues at a given cluster, accessible by the NorduGrid users. While the detailed list of queue attributes and corresponding jobs can be obtained by clicking on a queue name (see Queue Details module description, Section 2.3), the most essential parameters are listed already in the Cluster 
Description module. They are: queue name, queue status, queue length (minimal and maximal), number of CPUs assigned to a queue (if available), and number of running and queued jobs. Since queues can be shared between Grid and local users, the total number of jobs is shown, with the number of Grid jobs in parentheses. 
The Cluster Description module is linked from most other modules (except the List of Users one): clicking on a domain name of a cluster brings the Cluster Description window. 
Figure 2: NorduGrid cluster details 

2.3 Queue Details 
In the NorduGrid Information System, the nordugrid-queue objectclass is described by a set of queue-speci&#64257;c attributes, and has two sub-trees: nordugrid-job and nordugrid-authuser. This structure re&#64258;ects the fact that users are not implicitly authorized to submit jobs to any queue. However, the list of users allowed to a speci&#64257;c queue is a fairly static information, and thus is beyond the scope of the Grid Monitor&#8224; . 
The Queue Details module provides the list of the queue attributes and of all the jobs scheduled (running or waiting) to this queue. Figure 3 shows the NorduGrid queue description window, with clickable &#64257;elds marked by numbered tags as follows: 
1)&#9;Attributes: the dump of the queue attributes. Just like the cluster attributes (Section 2.2), they can be both static and dynamic. Every attribute is linked to the Attributes Overview module (Section 2.6), which allows to browse the values of each attribute over all the NorduGrid system. 
&#8224;List of queues available for a given user can be obtained through the User Information module 
Figure 3: NorduGrid queue details 
2)&#9;Cluster name: each queue is associated with the cluster, which name is shown at the top of the window. Clicking the cluster name brings up the Cluster Description window (Section 2.2). 
3)&#9;Job name: from the Queue Details window, users can get access to detailed information about every job in the queue by clicking the job name. Each job name is linked to the Job Information module, described in Section 2.4. 
4)&#9;Owner: The Grid authentication mechanism allows to associate every job with a corresponding user, even though an actual Unix account owner may be a generic &#8221;griduser&#8221;. The Grid Monitor uses this feature to display explicitly each job owner. In the Queue Details window (as in all other modules), user&#8217;s name is linked to the User Information module (Section 2.5), which displays all the resources available for a given user, as well as the list of user&#8217;s jobs. 
Queue Information module is accessible via links to queue names in the Cluster Information (Section 2.2), Job Information (Section 2.4), User Information (Section 2.5) and Attributes Overview (Sec 2.6) modules. 

2.4 Job Information 
The Job Information module is activated on three di&#64256;erent occasions: 
&#8211; To display a list of all running NorduGrid jobs on a cluster 
&#8211; To display a list of all queued NorduGrid jobs on a cluster 
&#8211; To show the full information on a given job 
Lists of running and queued jobs are accessible from the top Grid Monitor window (Section 2.1) by clicking the corresponding &#64257;elds (marked 2 and 3 in Figure 1). As shown in Figure 4, such a list contains not only job names, but also their respective owners, status (as returned by the Grid Manager), execution time (in case of running jobs), and the submission queue. 
Figure 4: NorduGrid job list 
Most of the &#64257;elds in a job list window are linked to the corresponding monitor modules, giving access to more detailed information: 
Figure 5: NorduGrid job statistics 
1)&#9;Job name: just like in the Queue Details window (Section 2.3), the job name is linked to the Job Information window, described below. However, while the Queue Details module lists the jobs in a given queue, the Job Information window gives an overview of all the NorduGrid jobs on a cluster. 
2)&#9;Owner: this &#64257;eld is also identical to the one in the Queue Details window: user&#8217;s name is linked to the User Information module (Section 2.5), which displays all the resources available for a given user and the list of user&#8217;s jobs. 
3)&#9;Queue: the name of the queue is liked to the Queue Details window (Section 2.3), which gives a snapshot of the queue status, including al the NorduGrid jobs submitted to a particular queue &#8211; running or waiting. 
4)&#9;Cluster name: clicking on the cluster name brings up the Cluster Description window (Section 2.2), which gives a general overview of a given cluster and the status of its queues (those available for the NorduGrid users). 
The job information window is invoked by clicking on a job name in any Grid Monitor window which lists jobs. It is handled by the same module which produces running/queued job list, and contains simple dump of all the available job attributes (see Figure 5). Just like in the Cluster Description and Queue Description windows, each attribute is clickable (as indicated by a tag numbered 1 in Figure 5), and is linked to the Attributes Overview module (Section 2.6). This is a convenient way to compare jobs that reside on the system. 

2.5 User Information 
The User Information module of the Grid Monitor gives access to all the available information, related to a given user. This includes the list of available resources (queues, processors and disk space), and the list of user jobs, residing on the system at the time of query. To collect this information, the whole system has to be queried, therefore invocation of this module typically takes quite a bit of time (at least comparing to most other modules). 
Figure 6 shows a typical User Information window, where the numbered &#64257;elds are linked to other Grid Monitor modules: 
1)&#9;Job name: this &#64257;eld is linked to the Job Information window (Section 2.4), providing access to the detailed information on a given job. Unlike of Job Information or Queue Information modules, which list local to a cluster jobs, the User Information module collects all the jobs submitted by a given user to the whole system. 
2)&#9;Cluster: since the User Information window displays all the jobs associated with a given user, description of each respective cluster is available by clicking the cluster name. This brings up a cluster description window, described in Section 2.2. 
Figure 6: NorduGrid user information 
3)&#9;Queue: this &#64257;eld is linked to the Queue Details module (Section 2.3), thus giving access to the information about the status of the relevant queue. 
4)&#9;Cluster: the upper part of the User Information window lists the NorduGrid resources, available for a user. Each cluster, to which a user is authorized to submit jobs, is indicated by its name. Cluster names are linked to the Cluster Description window (Section 2.2), giving detailed information on available resources. 
5)&#9;Queue: since users authorization may be not only cluster-based, but also queue-based, the allowed queue information can be accessed by clicking a queue name. This brings up the Queue Details window, described in Section 2.3. 
The simplest way to access the User Information window is via the List of Users (Section 2.7), although it can be invoked from any Grid Monitor window where a user name is displayed (e.g., a Job Information or a Queue Details window). 

2.6 Attributes Overview 
As it was mentioned above, every NorduGrid objectclass attribute, appearing in a Grid Monitor window, is linked to the Attributes Overview module, which queries all the relevant objects on the system and delivers a comparative list of the attributes. Similarly to the User Information module, querying all the NorduGrid resources takes somewhat long time, as the Grid Monitor does not have an own cache. 
Figure 7: NorduGrid objects grouped by attribute 
Figure 8: List of the NorduGrid users 
Figure 7 shows a typical result of the Attributes Overview query: in this example, the nordugrid-cluster attribute &#8221;Operating system&#8221; was queried, and a comparative list of results returned. The Resource &#64257;eld (indicated by the tag 1) depends on the nature of the attribute, and can be either of: 
&#8211; cluster name, linked to the Cluster Description module, 
&#8211; cluster name and queue name, linked to the Cluster Description and Queue Details modules respectively, 
&#8211; job ID string (see ref.[6] for details), linked to the Job Information module. 

2.7 List of Users 
The List of Users module is di&#64256;erent from the rest of the Grid Monitor modules because it does not deal with the NorduGrid MDS. Instead, it retrieves lists of users from the NorduGrid VO database [7]. It serves as a link between the two databases (MDS and VO), by interfacing each user record to the User Information module (Section 2.5). Figure 8 shows a screenshot of a typical VO user list, with numbered tags indicating clickable links as follows: 
1)&#9;Name: user name as given in the corresponding Grid certi&#64257;cate &#64257;eld, linked to the User Information module (Section 2.5). 
2)&#9;E-mail: E-mail address of a user, if available. It is linked to an e-mail URL, allowing to send a message to a user directly from the browser (if such an option is enabled in a browser). 
The List of Users is available only from the top Grid Monitor window. 


3 Implementation notes 
The Grid Monitor is implemented entirely in PHP, with optional usage of client-side JavaScript. Since all the databases the Grid Monitor has to deal with are hierarchical LDAP ones, the server-side LDAP module of PHP is absolutely necessary to be enabled in order to make the Grid Monitor functioning. The PHP LDAP module conveniently allows parallel LDAP searches, &#8211; the feature heavily used by the Grid Monitor, since it speeds up the data retrieval. 
The Grid Monitor does not use any disk caching, storing all the LDAP query results in the memory. To minimize the memory usage, only the attributes relevant to each query are retrieved. 
In order to speed up the queries, the Grid Monitor makes as little use of the MDS information propagation mechanisms as possible. GIIS and GRIS services are used mostly as link collections&#8225; , except of User Information and Attributes Overview modules, which have to retrieve information from all the system elements. 
Since the NorduGrid architecture makes use of several equivalent top-level GIIS servers, the Grid Monitor queries all of them in order to have a reliable access to all the system information. In some cases, lower-level GRIS servers can also be duplicated, hence the Grid Monitor contains a built-in mechanism to prevent double-counting. 
All the Grid Monitor windows are automatically refreshed by the means of the built-in browser HTML instructions. Every window can be forcefully refreshed, printed and closed by using either standard browser tools, or the provided JavaScript-enabled buttons. 
In the top Grid Monitor window, clusters are automatically grouped by respective second-level hierarchy MDS VOs &#8211; in the described above case, this is nothing but countries. 
&#8225;Globus MDS2.2 provides a quick access to the lower level servers via a base scope LDAP search for the &#8221;giisregistrationstatus&#8221; attribute 
Such &#64257;elds as cluster aliases, user names and attribute names, are customizable, and can be adjusted from the stored in the MDS values to any more appropriate ones, depending on the actual requirements. 
In general, the Grid Monitor was designed to be a cross-browser, cross-platform tool, and have been shown to work properly with browsers ranging from Lynx to Konqueror to Microsoft Internet Explorer. 

4 HOWTO 
This is a list of most common examples of the Grid Monitor usage. 
How to list all the jobs submitted by a user? 
Click a user name in any window, e.g., in the List of Users (Figure 8, item 1). The List of Users is available 
from the top Grid Monitor window (Figure 1, item 4). 
Why the jobs &#64257;nished two days ago do not show up? 
Job results are being kept in the NorduGrid session directory only for a limited period, typically 24 hours. 
After a session directory is erased, &#8211; either by a user request or after its lifetime expiration &#8211; all the job 
information disappears from the system. 
How to list all jobs running on a cluster? Click a &#8220;Load&#8221; bar in the top Grid Monitor window (Figure 1, item 2). 
How to list all jobs in a queue? 
Click a queue name in any window, e.g., the cluster information (Figure 2, item 2), the job information 
(Figure 4, item 3), or the user information (Figure 6, item 5). 
How to list available runtime environments? Click any &#8220;Cluster&#8221; &#64257;eld in the top Grid Monitor window (Figure 1, item 1) to bring up the Cluster Details window. Then click &#8221;Runtime environment&#8221; link in the &#8220;Attribute&#8221; column (Figure 2, item 1). 

References 
[1] The Monitoring and Discovery Service. [Online]. Available: http://www.globus.org/mds 
[2] The NorduGrid Project. [Online]. Available: http://www.nordugrid.org 
[3] B. K
onya, The NorduGrid Information System. [Online]. Available: http://www.nordugrid.org/documents/ ng-infosys.pdf 
[4]&#9;Open source implementation of the Lightweight Directory Access Protocol. [Online]. Available: http://www.openldap.org 
[5] PHP: Hypertext Preprocessor. [Online]. Available: http://www.php.net 
[6]&#9;A. Konstantinov, The NorduGrid Grid Manager. [Online]. Available: http://www.nordugrid.org/ documents/GM.pdf 
[7]&#9;Description of the NorduGrid Virtual Organisation. [Online]. Available: http://grid.quark.lu.se/ NorduGridVO/vo-description.html 

Index

A 
attributes........................................7 
B 
browsers.........................................9 
C 
cluster...........................................3 alias ........................................ 2 attributes ................................... 3 load.........................................3 
D 
disk space ....................................... 3 
E 
E-mail...........................................8 
J 
job.............................................. 4 on cluster...................................5 by user......................................6 in a queue...................................5 information................................. 6 name........................................5 owner.......................................5 parallel ..................................... 3 queued......................................5 queueing .................................... 3 running...................................3, 5 
L 
lifetime.......................................... 9 load monitor.....................................2 
M 
modules ......................................... 2 
N 
nordugrid-authuser .............................. 2 nordugrid-cluster ................................ 2 nordugrid-job....................................2 nordugrid-queue ................................. 2 
O 
objectclass.......................................2 
Q 
queue............................................4 attributes ................................... 4 length.......................................4 list..........................................3 name........................................4 
R 
resources ........................................ 6 runtime environment.............................3 
U 
user information.................................6 user list ......................................... 8 


