3 options
Enabling applications for grid computing with Globus / [Bart Jacob ... et al.].
- Format:
- Book
- Series:
- IBM redbooks.
- Redbooks
- Language:
- English
- Subjects (All):
- Computational grids (Computer systems).
- Application software--Development.
- Application software.
- IBM software.
- Globus (Electronic resource).
- Physical Description:
- xvi, 378 p. : ill.
- Edition:
- 1st ed.
- Place of Publication:
- [United States?] : IBM, c2003.
- Language Note:
- English
- System Details:
- text file
- Summary:
- This IBM Redbook, a follow-on to Introduction to Grid Computing with Globus, SG24-6895, discusses the issues and considerations for enabling an application to run in a grid environment. Programming examples are provided based on the Globus Toolkit V2.2. The first part of this publication addresses various considerations related to grid-enabling an application, from the perspective of the infrastructure, the application, and the data requirements. The second part of this publication provides many programming examples in C/C++ and Java to help solidify the concepts of grid computing and the types of programming tasks that must be handled when developing an application intended to run in a grid environment.
- Contents:
- Front cover
- Contents
- Figures
- Notices
- Trademarks
- Preface
- The team that wrote this redbook
- Become a published author
- Comments welcome
- Chapter 1. Introduction
- 1.1 High-level overview of grid computing
- 1.1.1 Types of grids
- 1.2 Globus Project
- 1.2.1 Globus Toolkit Version 2.2
- 1.2.2 OGSA and Globus Toolkit V3
- 1.3 Grid components: A high-level perspective
- 1.3.1 Portal - User interface
- 1.3.2 Security
- 1.3.3 Broker
- 1.3.4 Scheduler
- 1.3.5 Data management
- 1.3.6 Job and resource management
- 1.3.7 Other
- 1.4 Job flow in a grid environment
- 1.5 Summary
- Chapter 2. Grid infrastructure considerations
- 2.1 Grid infrastructure components
- 2.1.1 Security
- 2.1.2 Resource management
- 2.1.3 Information services
- 2.1.4 Data management
- 2.1.5 Scheduler
- 2.1.6 Load balancing
- 2.1.7 Broker
- 2.1.8 Inter-process communications (IPC)
- 2.1.9 Portal
- 2.2 Non-functional requirements
- 2.2.1 Performance
- 2.2.2 Reliability
- 2.2.3 Topology considerations
- 2.2.4 Mixed platform environments
- 2.3 Summary
- Chapter 3. Application architecture considerations
- 3.1 Jobs and grid applications
- 3.2 Application flow in a grid
- 3.2.1 Parallel flow
- 3.2.2 Serial flow
- 3.2.3 Networked flow
- 3.2.4 Jobs and sub-jobs
- 3.3 Job criteria
- 3.3.1 Batch job
- 3.3.2 Standard application
- 3.3.3 Parallel applications
- 3.3.4 Interactive jobs
- 3.4 Programming language considerations
- 3.5 Job dependencies on system environment
- 3.6 Checkpoint and restart capability
- 3.7 Job topology
- 3.8 Passing of data input/output
- 3.9 Transactions
- 3.10 Data criteria
- 3.11 Usability criteria
- 3.11.1 Traditional usability requirements
- 3.11.2 Usability requirements for grid solutions
- 3.12 Non-functional criteria
- 3.12.1 Software license considerations.
- 3.12.2 Grid application development
- 3.13 Qualification scheme for grid applications
- 3.13.1 Knock-out criteria for grid applications
- 3.13.2 The grid application qualification scheme
- 3.14 Summary
- Chapter 4. Data management considerations
- 4.1 Data criteria
- 4.1.1 Individual/separated data per job
- 4.1.2 Shared data access
- 4.1.3 Locking
- 4.1.4 Temporary data spaces
- 4.1.5 Size of data
- 4.1.6 Network bandwidth
- 4.1.7 Time-sensitive data
- 4.1.8 Data topology
- 4.1.9 Data types
- 4.1.10 Data volume and grid scalability
- 4.1.11 Encrypted data
- 4.2 Data management techniques and solutions
- 4.2.1 Shared file system
- 4.2.2 Databases
- 4.2.3 Replication (distribution of files across a set of nodes)
- 4.2.4 Mirroring
- 4.2.5 Caching
- 4.2.6 Transfer agent
- 4.2.7 Access Control System
- 4.2.8 Peer-to-peer data transfer
- 4.2.9 Sandboxing
- 4.2.10 Data brokering
- 4.2.11 Global file system approach
- 4.2.12 SAN approach
- 4.2.13 Distributed approach
- 4.2.14 Database solutions for grids
- 4.2.15 Data brokering
- 4.3 Some data grid projects in the Globus community
- 4.3.1 EU DataGrid
- 4.3.2 GriPhyn
- 4.3.3 Particle Physics Data Grid
- 4.4 Summary
- Chapter 5. Getting started with development in C/C++
- 5.1 Overview of programming environment
- 5.1.1 Globus libc APIs
- 5.1.2 Makefile
- 5.1.3 Globus module
- 5.1.4 Callbacks
- 5.2 Submitting a job
- 5.2.1 Shells commands
- 5.2.2 globusrun
- 5.2.3 GSIssh
- 5.2.4 Job submission skeleton for C/C++ applications
- 5.2.5 Simple broker
- 5.3 Summary
- Chapter 6. Programming examples for Globus using Java
- 6.1 CoGs
- 6.2 GSI/Proxy
- 6.3 GRAM
- 6.3.1 GramJob
- 6.3.2 GramJobListener
- 6.3.3 GramException
- 6.4 MDS
- 6.4.1 Example of accessing MDS
- 6.5 RSL
- 6.5.1 Example using RSL
- 6.6 GridFTP
- 6.6.1 GridFTP basic third-party transfer.
- 6.6.2 GridFTP client-server
- 6.6.3 URLCopy
- 6.7 GASS
- 6.7.1 Batch GASS example
- 6.7.2 Interactive GASS example
- 6.8 Summary
- Chapter 7. Using Globus Toolkit for data management
- 7.1 Using a Globus Toolkit data grid with RSL
- 7.2 Globus Toolkit data grid low-level API: globus_io
- 7.2.1 globus_io example
- 7.2.2 Skeleton source code for creating a simple GSI socket
- 7.3 Global access to secondary storage
- 7.3.1 Easy file transfer by using globus_gass_copy API
- 7.3.2 globus_gass_transfer API
- 7.3.3 Using the globus_gass_server_ez API
- 7.3.4 Using the globus-gass-server command
- 7.3.5 Globus cache management
- 7.4 GridFTP
- 7.4.1 GridFTP examples
- 7.4.2 Globus GridFTP APIs
- 7.5 Replication
- 7.5.1 Shell commands
- 7.5.2 Replica example
- 7.5.3 Installation
- 7.6 Summary
- Chapter 8. Developing a portal
- 8.1 Building a simple portal
- 8.2 Integrating portal function with a grid application
- 8.2.1 Add methods to execute the Globus commands
- 8.2.2 Putting it together
- 8.3 Summary
- Chapter 9. Application examples
- 9.1 Lottery simulation program
- 9.1.1 Simulate a lottery using gsissh in a shell script
- 9.1.2 Simulate a lottery using Globus commands
- 9.2 Small Blue example
- 9.2.1 Gridification
- 9.2.2 Implementation
- 9.2.3 Compilation
- 9.2.4 Execution
- 9.3 Hello World example
- 9.3.1 The Hello World application
- 9.3.2 Dynamic libraries dependencies
- 9.3.3 Starting the application by the resource provider
- 9.3.4 Compilation
- 9.3.5 Execution
- 9.4 Summary
- Chapter 10. Globus Toolkit V3.0
- 10.1 Overview of changes from GT2 to GT3
- 10.1.1 SOAP message security
- 10.1.2 Creating grid services
- 10.1.3 Security - proxies
- 10.1.4 SOAP GSI plugin for C/C++ Web services
- 10.2 OGSI implementation
- 10.3 Open Grid Service Architecture (OSGA)
- 10.4 Globus grid services.
- 10.4.1 Index Services
- 10.4.2 Service data browser
- 10.4.3 GRAM
- 10.4.4 Reliable File Transfer Service (RFT)
- 10.4.5 Replica Location Service (RLS)
- 10.5 Summary
- Appendix A. Grid qualification scheme
- A suggested grid application qualification scheme
- Appendix B. C/C++ source code for examples
- Globus API C++ wrappers
- ITSO_GASS_TRANSFER
- ITSO_GLOBUS_FTP_CLIENT
- ITSO_CB
- ITSO_GRAM_JOB
- StartGASSServer() and StopGASSServer()
- ITSO broker
- SmallBlue example
- HelloWorld example
- Lottery example
- C/C++ simple examples
- gassserver.C
- Checking credentials
- Submitting a job
- Appendix C. Additional material
- Locating the Web material
- Using the Web material
- How to use the Web material
- Related publications
- IBM Redbooks
- Other publications
- Online resources
- How to get IBM Redbooks
- Index
- Back cover.
- Notes:
- "June 2003."
- "SG24-6936-00."
- Includes bibliographical references (p. 365-372) and index.
- OCLC:
- 191662379
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.