Enabling applications for grid computing with Globus

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...

Descripción completa

Detalles Bibliográficos
Autor Corporativo: International Business Machines Corporation. International Technical Support Organization (-)
Otros Autores: Jacob, Bart (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: [United States?] : IBM c2003.
Edición:1st ed
Colección:IBM redbooks.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627465506719
Tabla de Contenidos:
  • 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.