The Frontier Application Programming Interface

[Frames Version]

 

Table of Contents

Foundation

    The Frontier Platform
 
    Frontier Basics
        Jobs and Tasks
        Data and Executable Elements
        Task Definition
        Task Status
        Checkpoints
 
    Design Considerations
        Use of Java for Task Executable Code
        Division of Jobs into Tasks
        High Compute-to-Data Ratio
        The Launch-and-Listen Paradigm
        Unpredictable Task Execution
        Erroneous Results
        Intellectual Property Protection

The Task Runtime API

    The Task Lifecycle
        Frontier User Perspective
        Provider Perspective
 
    The Task Interface
        Instantiation
        Parameters
        Running and Stopping
 
    The Task Context
        Accessing Data Elements
        Posting Results and Reporting Status
        Logging Checkpoints
        Reporting Progress

The Client API

    Remote vs. Local Mode
 
    Job and Task Attributes
 
    Creation of Jobs and Tasks
        Jobs
        Tasks
        Elements
        Submitting Data to the Frontier Server
 
    Monitoring and Controlling
        Run Mode
        Listening to Events
        Removing Tasks and Jobs
 
    Releasing and Reestablishing
        Release Behavior
        Reestablishing
 
    Running Locally
 
    Size Considerations
        Message Queue Sizes
        Task Release
        Job Listeners
        Referenced Structures

Conclusion