Application Performance Database (AppDB)

Performance of any one application is more often than not very intimately related to the hardware and software characteristics of a resource the application is being executed on, as well as the use of application parameters during job instantiation. As such, execution of applications and associated user jobs in heterogeneous environments exhibit heterogeneous performance. Users perceive this variability through inconsistent job execution times and cost. In order to understand, and possibly, eliminate such inconsistencies, grid schedulers and/or users must be aware of the existing application and resource relationships. Project described on this page presents a tool that addresses this application-resource relationship issue by providing insight into past application performance across various resources. The tool named Application Performance Database (AppDB) is a standalone, dedicated application that stores all aspects of a job being executed for later retrieval, comparison, and analysis. AppDB is a unique tool in that it operates at the application and job level, as opposed to existing projects (e.g., ProphesyIntegrated Performance Monitoring (IPM)) that operated at the class and function level, and because it is a dedicated tool, its applicability spans multiple use cases as well as instances of individual applications that may provide similar functionality. AppDB is accessible from http://gridportal.cis.uab.edu/AppDB/.


Interaction with AppDB is realized through one of the two types of interfaces: web-portal and a web-service API:

]Web Portal

Web frontend to access AppDB data has been created allowing users to query all/individual jobs, applications, and resources through a simple interface to obtain targeted information on a simple scale. The web interface is offered in the form of a JSP page; furthermore, AJAX has been integrated into the web frontend to provide more user-interactivity. Access to AppDB can be realized from http://gridportal.cis.uab.edu/AppDB/ by anyone. As already indicated, community participation and feedback are not only encouraged but success of AppDB depends on it.

Web-service API

Client access to the AppDB is also offered through web-service interface over the WAN through the AppDB WSDL file provided by the service. Web-service interface allows applications to incorporate direct calls to AppDB service to store and retrieve needed information automatically, without direct user intervention. It is anticipated that this form of access to AppDB will prevail due to the large amount of information produced by each job thus making manual data input time consuming, error prone and cumbersome.

Sample client code

Here is an example of accessing information within AppDB from a Java client:

Data storage

In order to provide its users with needed relationship information, AppDB makes an effort to encompass a wide range job performance influencing factors. As such, it provides mechanisms for storing information encompassing applications, application options, resources, job parameters, job input files, and job input file statistics. In addition to allowing collection of ‘standard’ application, resource, and job information, the generic information collection interface of AppDB allows users to store just about any component of an executing job, thus facilitating user’s need to for individual support.


AppDB is downloadable from here. The download package includes all the necessary components and libraries to get AppDB installed. Installation instructions are available on the AppDB track page.

Projects using AppDB

  • Dynamic BLAST
  • Application Information Services (AIS)



  • E. Afgan, P. Bangalore, S. Mukkai, and S. Yammanuru, “Design and Implementation of a Readily Available Historical Application Performance Database (AppDB) for Grid,” University of Alabama at Birmingham (UAB), Birmingham, AL UABCIS-TR-2008-0506-1, May 6 2008. [PDF]

Additional links and documents

AppDB Trac project website with implementation and installation details