## Statement of Work: Fermi and IIT

# Common Runtime Environment and Workflow Management

This document describes IIT's contribution toward building a workflow
management system for planning, capturing, and executing LQCD analysis
campaigns. Additional material concerning this project is contained in
the attached initial project proposal document.

# Description of Work

We propose to develop this new system based on Grid technologies and
develop a *common LQCD runtime environment* that integrates these new
tools with existing lattice computing environments. In this study, we
propose to adopt and extend current Grid technologies, especially the
workflow technologies, to develop this runtime environment. We will
develop the common runtime environment based on our current success of
the Grid Harvest Service (GHS) system for performance prediction and
task scheduling of Grid computing (see
[www.cs.iit.edu/\~scs/software.htm](http://www.cs.iit.edu/~scs/software.htm)).
GHS has a performance measurement and prediction subsystem, a task
allocation subsystem, a task scheduling subsystem, and a task execution
subsystem. It can coordinate and execute tasks over different machines
and middleware. GHS provides the technical foundation for the proposed
lattice common runtime environment.

# Additional Information

Conventional task scheduling systems for high performance computing,
such as Maui, do not support cross resources coordination -- a problem
that LQCD analysis campaigns have. Grid computing is still in its
infancy and a general Grid solution is not expected to be available in
the near future. With the currently available tools, an in-depth
understanding of how to tailor a general Grid solution for lattice
calculation is necessary. Out R&D efforts will address these
shortcomings.

Grid technologies envisage that resources advertise their capabilities
and that the Grid middleware can act as a broker between jobs with
specified resource requirements and resources with specified
capabilities. Grid technology is also available to monitor task
execution and resource availability for efficiency and fault tolerance;
schedule tasks execution in such a way to minimize communication and
overlapping computing and data access; and execute a remote task over
different local middleware and management systems. We will leverage
useful Grid tools in the development of this new system.

# Work plan

The software developed will be made available to the lattice community
at each development phase. Continued modification and optimization will
be conducted based on user feedbacks. Below is our work plan.

We plan to fully achieve our objectives with the following steps:

-   Gather requirements and describe common usage scenarios for the
    workflow management system based on experiences with the current
    LQCD software structure. (Y1Q1)

-   Develop an overview of the whole system, identifying high-level
    modules within the scope of this project. Delineate the interfaces
    between the internal modules as well as modules to be developed
    outside our scope. (Y1Q1)

-   

-   Define a workflow specification language to describe the
    dependencies of an LQCD analysis campaign. The language can be
    defined as a X ML schema and existing parsing tools (e.g. JDOM and
    dom4j) could be used for validating the workflow specifications.
    Currently GHS uses XML files to describe the information of
    resources, files and tasks. (Y1Q2)

-   

-   Evaluate integration of our work with other workflow systems such as
    DAGMan, Pegasus, and Karajan and modeling environments, such as
    Vanderbilt's GME tool
    (http://www.isis.vanderbilt.edu/Projects/gme/), to develop a unified
    workflow specification and visualization management system. (Y1Q2)

-   Integrate the workflow system with the existing LQCD computing
    infrastructure, especially the resource management system. Users
    should be able to describe the campaign workflow through XML files
    or graphical interfaces and submit the campaign for execution.
    (Y1Q3)

-   Deploy a scheduling system capable of interacting with the system
    performance monitor and workflow system. The scheduling system
    receives instructions from the workflow system and interacts with
    the execution system. Upon a fault or abnormal behavior detection
    the system reschedules tasks. (Y1Q4)

-   Integrate workflow system with the LQCD system health monitor
    (developed by VU). (Y2Q1)

-   

-   

-   

-   

-   Conduct lifetime management of temporary and intermediate data in
    order to maximize resource utilization (e.g. disk space, network
    bandwidth, memory, CPU), and adopt a workflow-based data prefetching
    to overlap computing and communication to improve the computing
    efficiency. (Y2Q2)

-   Extend the schedule system to manage multi-campaign executions based
    on constraints specified in the campaign definitions, such as dead
    lines and availability of input files. (Y2Q3)

lings occurs.

-   Test the workflow system and carry modification/enhancement
    necessary to ensure its correctness, effectiveness, and feasibility.
    (Y2Q4)

We plan to have incremental releases of the runtime environment, which
will allow quick user feedback for further improvements. The final
result will be a functional integrated workflow environment capable of
handling multiple LQCD campaigns through optimal use of the available
resources.