Tutorial 6

Developing Internet Computing Applications with the Frontier(tm) SDK
Instructors: 

James Gannon
Chief Technology Officer, Parabon Computation, Inc.

Jeffrey Ricks
Lead Software Engineer, Parabon Computation, Inc.

Who Should Attend: 
Java developers, scientific programmers, 
computational scientists, those wishing to learn to program for Internet distributed computing,
those developing applications that address challenging computational problems,
those whose applications require more computing power than currently available to them, those who need supercomputer- powered applications but have no access to a supercomputer or cluster

 

Prerequisites:
Programming experience in an OO language
Working knowledge of Java is preferred but not required.

 

Benefits:
Learn to program on an Internet distributed computing platform Understand what types of problems are suited for Internet distributed computing, launch massive jobs and retrieve results from any desktop computer
Access unprecedented computing power inexpensively, learn why Java is a necessity for Internet distributed computing
 

 

Outline:
1/2 day
  • Introduction 
  • Defining a Distributed Task 
  • Creating a Job
  • Connecting to the Frontier Server
  • Defining Executable Elements
  • Using Data Elements
  • Listening for Results
  • Using Checkpoints
  • Running Locally vs. Running Remotely
  • Controlling Jobs
  • Converting Existing Applications To Use Frontier
Abstract:
Java has long been heralded as a language and platform that aids in the development of networked and distributed systems. Its security model has furthered the goal of sharing distributed computational resources by allowing them to be used freely and with confidence. 
Despite these advances, the process of building and developing massively parallel applications is still difficult without a supporting infrastructure. Parabon Computation, Inc. has developed a computing platform and software development kit (SDK) that reduces the effort necessary to take advantage of both intranet and Internet computing resources. 
The Frontier SDK contains an API that allows developers to quickly write Frontier-capable distributed applications or to transform existing applications into robust distributed applications. 
Many of the complexities inherent in traditional distributed and clustering technologies are eliminated by the choice of Java as the implementation environment. Cross-platform support and a solid security model allow developers to work on their own terms without having to worry about deployment considerations. 
This tutorial will introduce Java developers to a new way of rapidly developing applications that can benefit from tremendous computational power. A series of examples will guide attendees through the process of creating jobs, adding tasks, running locally and remotely, and gathering results. This session will demonstrate an approach to solving the familiar Traveling Salesman Problem, as well as discuss other sample applications such as distributed rendering, protein sequence comparison, and financial modeling.