How does Inca work?
Note: After ten years of service to the national science and engineering community, the TeraGrid project has ended. It is succeeded by a new National Science Foundation (NSF) program, the Extreme Science and Engineering Discovery Environment (XSEDE). You should move any data stored on TeraGrid systems to an alternate storage resource. If you have leftover service units on your TeraGrid allocation, or if your research requires further use of high performance computational, visualization, storage, and network resources, consider applying for an allocation on one or more XSEDE digital services.
Inca monitors the availability and performance of TeraGrid hardware and services, and stores a wide variety of results that are available via XML to various data consumers, such as the Inca status page. For more, see What is Inca?
Inca reporters are executable programs and scripts that test and report the health and characteristics of a system. Following is a sample reporter:
use Inca::Reporter::SimpleUnit; my $reporter = new Inca::Reporter::SimpleUnit( name => 'grid.globus.gramPing', version => 2, description => 'Checks gatekeeper is accessible from local machine', url => 'http://www.globus.org', unit_name => 'gramPing' ); $reporter->addDependency('Inca::Reporter::GridProxy'); $reporter->addArg('host', 'gatekeeper host'); $reporter->processArgv(@ARGV); my $host = $reporter->argValue('host'); my $out = $reporter->loggedCommand("globusrun -a -r $host", 30); if (!$out) { $reporter->unitFailure("globusrun failed: $!"); } elsif($out !~ /GRAM Authentication test successful/) { $reporter->unitFailure("globusrun failed: $out"); } else { $reporter->unitSuccess(); } $reporter->print();Reporters and package dependencies are collected in reporter repositories.
Using a graphical user interface (GUI) client, incat, the user creates and sends a suite of reporters to the reporter agent, which retrieves reporters from a repository and sends them to reporter managers on grid resources.
The reporter managers execute the reporters on each resource based on series configuration from the agent, monitor reporter system usage and enforce limits, and then send XML reports to the depot for storage.
The depot uses a relational database backend (via Hibernate) to support HQL and predefined queries. The depot can send query results via email or return them as XML.
Data consumers query the Inca depot to produce current and historical reports and graphs, or customized status information. The default consumer is a collection of JavaServer Pages (JSP) that retrieve XML data from the depot and format it with XSL. The JSP are deployed using a stand-alone web server (Jetty), and use tags for XSLT and graphing.
The figure below (Fig. 1) illustrates a typical Inca installation:

Fig. 1 The components of Inca monitor grid resources, and collect and display the results.
Note: The above information was derived from various online sources at San Diego Supercomputer Center (SDSC). For more, see the SDSC Inca documentation page.
This document was developed with support from the National Science Foundation (NSF) under Grant No. 0503697 to the University of Chicago and subcontracted to Indiana University. Additional support was provided by IU through its participation in the TeraGrid, which is supported by the NSF under Grants No. 0833618, SCI451237, SCI535258, and SCI504075. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.
Last modified on September 07, 2011.







