New version page

Designing APIs for Grid Technologies

This preview shows page 1-2-3-4-5-6-45-46-47-48-49-50-51-91-92-93-94-95-96 out of 96 pages.

View Full Document
View Full Document

End of preview. Want to read all 96 pages?

Upload your study docs or become a GradeBuddy member to access this document.

View Full Document
Unformatted text preview:

Designing APIs for Grid TechnologiesMaster of Science, Systems ScienceProject Reportsubmitted toDepartment of Computer Science,Louisiana State UniversityArchit Kulshrestha∗October 28, 2004∗Department of Computer Science, Louisiana State University, Baton Rouge, LA 70803.AbstractGrid computing is a form of computing that involves coordinating and sharing comput-ing, application, data, storage, or network resources across dynamic and geographicallydispersed organizations. Grid technologies are changing the way organizations tackle com-plex computational and data intensive problems. This project builds on the Grid Applica-tion Toolkit API, developed as part of a Gridlab project and provides a C++ interface toGrid application developers. We call this interface GAT++. The GAT API is a set of coor-dinated, generic and flexible functions for accessing Grid services from generic applicationcodes, portals and data-management systems. GAT abstracts the complexity for the gridapplication programmers by providing them with a uniform interface to various types ofgrid computing infrastructures such as Globus and Unicore. As a result, grid applicationprogrammers need to only learn a single API, that of GAT, to write architecture indepen-dent Grid applications. The GAT API provides a platform for programmers to quickly writesimple yet powerful Grid Applications without being concerned about the specific detailsof the underlying Grid technologies. These applications can perform complext tasks suchas checkpointinting and migration with the help of just a few function calls.The Gridlab Project has provided C and Java implementations of the GAT. The C++bindings designed for this project enables C++ based application developers to embed GATiAbstract iicomponents into their applications with ease. The C++ code is shorter and provides easiererror handling to the application programmer facilitating easier debugging. A Windowsapplication has been developed that demostrates parts of the C++ API. The C++ bindingsare now part of a distribution and available at the Gridlab Webpage. As an example of theapplication programs that can be developed using GAT++, a Windows Tool that does Jobsubmission and file transfer has been demonstrated. This is also an aim at demonstratingthe architecture independent nature of GAT and its ease of use as a Grid API.AcknowledgementsI express my sincere gratitude to everyone in any way connected to the work presentedin this report. I am thankful to the Center for Computation and Technology for providingme with the opportunity to work in the field of my interest. I would like to specially thankDr. Gabrielle Allen for her constant support, guidance, encouragement and invaluabletime that she put in to help me make progress towards completion of this project. I amextremely grateful to Hartmut Kaiser for helping me at all stages during the project withoutwhich it would be a daunting task to complete. I would like to thank Dr. Ed Seidel for hisencouragement throughout the project and for agreeing to be part of the committee. I wouldlike to sincerely thank Dr. Ian Taylor for his advice, encouragement and support. I amgrateful to Dr. Donald Kraft for his guidance that helped me work towards the completionof my Masters program and this project. I would like to thank Tom Goodale for his adviceand suggestions.iiiTable of Contents1 Introduction 11.1 Overview of Grid Computing . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Grid Application Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 GAT++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Project Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 System Requirement Specifications 62.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.3 Definitions, Acronyms and Abbreviations . . . . . . . . . . . . . . 72.1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.5 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Software Design Specification 93.1 Software Development Environment . . . . . . . . . . . . . . . . . . . . . 93.1.1 .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 System Design Specification . . . . . . . . . . . . . . . . . . . . . . . . . 103.2.1 Grid Application Toolkit . . . . . . . . . . . . . . . . . . . . . . . 113.3 Data and Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 GAT++ Class Descriptions 164.1 Application Utility Classes . . . . . . . . . . . . . . . . . . . . . . . . . . 16ivTABLE OF CONTENTS v4.1.1 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1.2 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.3 SecurityContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.1.4 Location . . …


Loading Unlocking...
Login

Join to view Designing APIs for Grid Technologies and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Designing APIs for Grid Technologies and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?