Scaling up your toy applications:

There are many methods suggested for the application model. Lets start with one. The
application model is very much flux and we may be able to contribute to a stable model.

Lets study the paper:
Toward a Framework for Preparing and Executing Adaptive Grid Programs
by Ken Kennedy et al. See technical papers site:
http://www.globus.org/research/paper.html

1. Discusses grid Application Development Software GrADS
2. Purpose: provide good resource allocation for grid applications, support adaptive reallocation if perfromance degrades.
3. Obviously we are looking at resource intensive application.
4.  Resources: computing resources, data sensors, database /data sources
Resources and infrastructure supported by
  --- NASA's information power grid (IPG)
  --- NSF's PACI National Technology grid
  --- Distributed Tera Scale Facility
  --- NSF's Grid Physics Network
  ---- EU Data grid and EuroGrid Projects
and many others.

5.  How can you contribute?
    --- few software tools exits to design, develop and assembly applications.
    --- new approaches to software development, and programming are reqquired.
    --- simplify the methods for grid computing to achieve widespread acceptance.

6. GrADS attempts to address the challanges listed above.
    Application submission and execution environment.
     user provides:
    --  Program must be configurable: Configurable Object Program (COP)
    --  Input data
     GrADS intiates
     --- resource selection
     --- launches the program
     --- sees its execution through to completion.
     An Application Manager is responsible for all these activities.

7.  See Figure 1.

8. Application Execution Scenario:
 
    -- A user or problem solving environment (PSE)  on behalf of the user, provides the
        "code" along with its selection of resources and runtime behavior.
    -- This is given to the Builder which prepares the COP.
    --  Builder evaluates the resource needs of the application and provides a model of
         resource space: Application Abstract Resource and Topology (AART) model
         AART is to kick strat the resource selection process and to provide the information
         needed by the Mapper and Resource Selection Evaluator.

     -- User /PSE then starts the Application Manager; it needs
         -- handle of cop, IO location information, the problem size information, memory requeirements,
              resource selestion criteria, run-time specific parameters
              (how will you specify these?)
          -- Application Manager retrieves pieces of COP, AART Model is combined with resource selection criteria
              to obtain Resource selection Seed Model.
          --- Then Application Manager invokes scheduler/resource negotiator
          --- Scheduler/Resource Negotiator is in charge selecting the grid resources (S/RN): best fit, ok fit policies etc.
          --- Once the collection of resources has been identified, the application Manager begins the launch sequence.
          --- the state of the impending execution is stored for recovery purposes.
           --- Program preperation System (PPS) does the binding: invokes Mapper to perform actual layout, creates
                 optimized binaries, taliors programs componets to actual resources, inserts monitoring resources.
           --- Now the Contract Monitor takes over by acquiring the data from sensors and adjustign the performance
                  needs. There is a Perfromance Monitoring Setup Module invoked by Contract Monitor.
                 ---- ReScheduler is invoked is needed.