Grid Computing : a Practical Guide to Technology and Applications
Total Page:16
File Type:pdf, Size:1020Kb
GRID COMPUTING : A PRACTICAL GUIDE TO TECHNOLOGY AND APPLICATIONS AHMAR ABBAS CHARLES R I V E R M E D I A a-." CHARLES RIVER MEDIA, INC. Hingham, Massachusetts Contents Preface xix Acknowledgments xxiii 1 IT Infrastructure Evolution 1 1.1 Introduction 2 1.2 Microprocessor Technology 2 1.3 Optical Networking Technology 3 1.4 Storage Technology 6 1.5 Wireless Technology 7 1.6 Sensor Technology 9 1.6.1 Fiber Optic Sensors 9 1 .6.2 Wireless Sensors 10 1.7 Global Internet Infrastructure 11 1.8 World Wide Web and Web Services 14 1.9 Open-Source Movement 16 1.10 Conclusion 16 2 Productivity Paradox and Information Technology 19 2.1 Introduction 20 2.2 Productivity Paradox 20 2.3 Return on Technology Investment 20 2.4 Multi-Story Bureaucracy 21 2.5 Information Technology Straightjacket 22 2.6 Consolidation 25 2.6.1 Server Consolidation 25 2.6.2 Consolidating Applications 26 2.6.3 Consolidating Storage 27 rr vu Viii contents 2.7 Outsourcing 27 2.8 Toward a Real-Time Enterprise-Operational Excellence 28 2.9 Conclusion 29 3 Business Value of Grid Computing 31 3.1 Introduction 32 3.2 Grid Computing Business Value Analysis 33 3 .2.1 Grid Computing Value Element #1: Leveraging Existing Hardware Investments and Resources 33 3.2.2 Grid Computing Value Element #2: Reducing Operational Expenses 34 3.2.3 Grid Computing Value Element #3 : Creating a Scalable and Flexible Enterprise IT Infrastructure 35 3.2.4 Grid Computing Value Element #4: Accelerating Product Development, Improving Time to Market, and Raising Customer Satisfaction 35 3.2.5 Grid Computing Value Element #5: Increasing Productivity 36 3.3 Risk Analysis 37 3.3.1 Lock-in 38 3.3.2 Switching Costs 38 3.3.3 Project Implementation Failure 38 3.4 Grid Marketplace 38 3.4.1 Grid Taxonomy 39 3.4.2 Fabric 39 3.4.3 Middleware 40 3.4.4 Serviceware 40 3.4.5 Applications 40 3.4.6 Grid Service Providers 40 3.4.7 Grid Applications Service Providers 41 3.4.8 Grid Consultants 41 3.5 Conclusion 41 4 Grid Computing Technology-An overview 43 4.1 Introduction 44 4.2 History 44 Contents ix 4.3 High-Performance Computing 46 4.4 Cluster Computing 47 4.5 Peer-to-Peer Computing 48 4.6 Internet Computing 49 4.7 Grid Computing 51 4.7.1 Peer-to-Peer Networks and Grid Computing 52 4.7.2 Cluster Computing and Grid Computing 53 4.7.3 Internet Computing and Grid Computing 53 4.8 Grid Computing Model 53 4.9 Grid Protocols 57 4.9.1 Security: Grid Security Infrastructure 57 4.9.2 Resource Management: Grid Resource Allocation Management Protocol 59 4.9.3 Data Transfer: Grid File Transfer Protocol 60 4.9.4 Information Services: Grid Information Services 60 4.10 Globus Toolkit 60 4.11 Open Grid Services Architecture 61 4.12 Global Grid Forum 62 4.13 Types of Grids 64 4.13.1 Departmental Grids 64 4.13.2 Enterprise Grids 65 4.13.3 Extraprise Grids 65 4.13.4 Global Grids 66 4.13.5 Compute Grids 66 4.13.6 Data Grids 67 4.13.7 Utility Grids 67 4.14 Grid Networks-Will There Be Such a Thing as "The Gridnet"? 67 4.14.1 Grid Network Peering Points 68 4.15 Grid Applications Characteristics 69 4.16 Application Integration 70 4.17 Grid Computing and Public Policy 72 4.17.1 Sleeper Programs 72 4.17.2 National Security 72 X Contents 4.17.3 Philanthropic Computing 72 4.18 Conclusion 73 5 Desktop Grids 75 5.1 Introduction 76 5.2 Background 76 5 .2.1 Cause Computing and the Internet 76 5.2.2 Distributed Computing in the Enterprise 77 5.3 Desktop Grids Defined 79 5.4 The Desktop Grid Value Proposition 80 5.5 Desktop Grid Challenges 81 5.6 Desktop Grid Technology-Key Elements to Evaluate 82 5.6.1 Security 82 5.6.2 Unobtrusiveness 82 5.6.3 Openness/Ease ofApplication Integration 83 5.6.4 Robustness 83 5.6.5 Scalability 83 5 .6.6 Central Manageability 83 5.6.7 Key Technology Elements-Checklists 84 5.6.8 Key Technology Elements-Summary 85 5.7 Desktop Grid Suitability-Key Areas for Exploration 86 5.7.1 Applications 86 5.7.2 Computing Environment 89 5 .7.3 Culture 90 5.8 The Grid Server-Additional Functionality to Consider 91 5.9 Role ofDesktop Grids in an Enterprise Computing Infrastructure 92 5.9.1 Departmental Grids 92 5.9.2 Campus Grids 92 5.9.3 Web Services and Beyond 93 5.10 Practical Uses ofDesktop Grids-Real-World Examples 94 5.10.1 Example: Risk Management for Financial Derivatives 95 5.10.2 Example: Molecular Docking for Drug Discovery 95 5.10.3 Example: Architectural Rendering 96 5 .11 Conclusion 97 Contents xi 6 Cluster Grids 99 6.1 Introduction 100 6.2 Clusters 101 6.2.1 Single System Image 102 6.2.2 Single System Environment 105 6.3 Industry Examples 107 6.3.1 Electronic Design Automation (EDA) 108 6.3.2 Bioinformatics 111 6.3.3 Industrial Manufacturing 112 6.4 Cluster Grids 114 6.5 Conclusion 116 7 HPC Grids 119 7.1 Introduction 120 7.2 Five Steps to Scientific Insight 121 7.3 Applications and Architectures 122 7.4 HPCApplication Development Environment 126 7.5 Production HPC Reinvented 128 7.6 HPC Grids 131 7.7 Conclusion 133 Acknowledgements 133 8 Data Grids 135 8 .1 Introduction 136 8.2 Data Grids 138 8.3 Alternatives to Data Grids 139 8.3.1 Network File System (NFS) 139 8.3.2 File Transfer Protocol (FTP) 140 8.3.3 NFS over IPSec 141 8.3.4 Secure Copy-scp/sftp 142 8.3.5 De-Militarized Zone (DMZ) 143 8.3.6 GridFTP 143 8.3.7 Andrew File System (AFS) 144 Xli contents 8.4 Avaki Data Grid 145 8.4.1 Accessing the Data Grid 148 8.4.2 Managing the Data Grid 150 8.5 Data Grid Architecture 153 8.5.1 Grid Servers 153 8.5 .2 Share Servers 154 8.5.3 Data Grid Access Servers (DGAS) 155 8.5.4 Proxy Servers 156 8.5 .5 Failover Servers (Secondary Grid Domain Controllers) 156 8.6 Conclusion 157 Acknowledgements 157 9 The Open Grid Services Architecture 159 9.1 Introduction 160 9.2 An Analogy for OGSA 161 9.3 The Evolution to OGSA 163 9.3.1 Grid Computing 163 9.3.2 Web Services 164 9.3.3 Convergence 165 9.4 OGSA Overview 166 9.4.1 The OGSA Platform 167 9.4.2 OGSI 168 9.4.3 OGSA Platform Interfaces 175 9.4.4 OGSA Platform Models 178 9.5 Building on the OGSA Platform 179 9.5.1 WS-Agreement 180 9.5.2 Data Access and Integration Services (DAIS) 181 9.6 Implementing OGSA-Based Grids 183 9.6.1 The Globus Toolkit 3 183 9.6.2 GCSF 185 9.7 Conclusion 186 Contents X111 10 Creating and Managing Grid Services 189 10.1. Introduction 190 10.2. Services and the Grid 190 10.3 Converting Existing Software 196 10.4 Service Discovery 198 10.5 Operational Requirements 199 10.6 Tools and Toolkits 201 10.6.1 Globus Toollcit Grid Information Service 201 10.6.2 Accessing Grid Information 203 10.6.3 Performance Issues with MDS 206 10.6.4 Other Information Services and Providers 206 10.6.5 Future 207 10.7 Support in UDDI 207 10.8 UDDI and OGSA 209 10.9 UDDIe: UDDI Extensions and Implementation 210 10.10 Uses 218 10.11 Quality ofService Management 221 10.12 Conclusion 222 Download 223 Acknowledgements 223 11 Desktop Supercomputing : Native Programming for Grids 225 11 .1 Introduction 226 11 .2 Historical Background-Parallel Computing 226 11.2.1 MIMD Computers 227 11 .3 Parallel Programming Paradigms 230 11 .4 Problems of Current Parallel Programming Paradigms 233 11 .5 Desktop Supercomputing : Solving the Parallel Programming Problem 234 11 .6 Desktop Supercomputing Programming Paradigm 234 11 .7 Parallel Programming in CxC 235 11.8 Parallelizing Existing Applications 237 11 .9 Conclusion 237 XIV contents 12 Grid-Enabling Software Applications 239 12.1 Introduction 240 12.2 Grid Computing: Discontinuous Innovation or Massive Yawn? 240 12.3 The Needs of Grid Users 241 12.4 Grid Deployment Criteria 242 12.5 Methods ofGrid Deployment 244 12.6 When to Grid-Enable Software 245 12.7 Requirements for Grid-Enabling Software 247 12.8 Grid Programming Tools and Expertise 247 12.9 The Process of Grid-Enabling Software Applications 249 12.9.1 Analysis 249 12.9.2 Application Modifications 250 12.10 Grid-Enabling a Mainstream Software Application: An Example 252 12.10.1 Video Encoding 253 12.10.2 The Need for Speed 253 12.10.3 Current Solutions 254 12.10.4 Grid Deployment of Video Encoding 255 12.10.5 Requirements for Broad Marketplace Adoption 255 12.10.6 Overview ofMPEG 4 Encoder 256 12.10.7 Overview of GridIron XLR8 256 12.10.8 Distributed Computing Strategy 257 12.10.9 Implementation 258 12.10.10 Results 260 12.10.11 Next Steps 262 12.10.12 Grid-Enabling Video Encoding Summary 262 12.11 Conclusion 264 13 Application integration 267 13 .1 Introduction 268 13.2 Application Classification 269 13 .2.1 Parallelism 269 13.2.2 Communications 271 Contents XV 13.2.3 Granularity 271 13.2.4 Dependency 271 13.3 Grid Requirements 271 13.3.1 Interfaces 271 13.3.2 Job Scheduling 272 13.3.3 Data Management 273 13.3.4 Remote Execution Environment 273 13.3.5 Security 273 13.3.6 Gang Scheduling 274 13.3.7 Checkpointing and Job Migration 275 13.3.8 Management 275 13.4 Integrating Applications with Middleware Platforms 276 13.4.1 Application Preparation Example 277 13.4.2 Issues in Application Integration 278 13.5 Conclusion 280 14 Grid-Enabling Network Services 281 14.1 Introduction 282 14.2 On Demand Optical Connection Services 283 14.3 Creating Grid-Enabled Network Services 284 14.4 Montague River Grid 285 14.5 Montague River Domain 286 14.6 Sample API 288 14.7 Deployment Example: End-to-End LightPath Management 292 14.8 Conclusion 293 15 Managing Grid Environments 295 15.1 Introduction 296 15.2 Managing Grids 296 15.2.1 Trust 297 15.2.2 Identity 297 15.2.3 Privacy 298 15.2.4 Authorization 299 xvii Contents 15.3 Management Reporting 301 15.3.1 Users 301 15.3.2 Resources 301 15.3 .3 Jobs 302 15 .3.4 Audit Support 302 15 .4 Monitoring 303 15.4.1 Types of Events 303 15.4.2 Notification