Higher-Order Components for Grid Programming (eBook)
XIII, 186 Seiten
Springer Berlin (Verlag)
978-3-642-00841-2 (ISBN)
A major challenge in grid computing remains the application software development for this new kind of infrastructure. Grid application programmers have to take into account several complicated aspects: distribution of data and computations, parallel computations on different sites and processors, heterogeneity of the involved computers, load balancing, etc. Grid programmers thus demand novel programming methodologies that abstract over such technical details while preserving the beneficial features of modern grid middleware.
For this purpose, the authors introduce Higher-Order Components (HOCs). HOCs implement generic parallel/distributed processing patterns, together with the required middleware support, and they are offered to users via a high-level service interface. Users only have to provide the application-specific pieces of their programs as parameters, while low-level implementation details, such as the transfer of data across the grid, are handled by the HOCs. HOCs were developed within the CoreGRID European Network of Excellence and have become an optional extension of the popular Globus middleware. The book provides the reader with hands-on experience, describing a broad collection of example applications from various fields of science and engineering, including biology, physics, etc. The Java code for these examples is provided online, complementing the book. The expected application performance is studied and reported for extensive performance experiments on different testbeds, including grids with worldwide distribution.
The book is targeted at graduate students, advanced professionals, and researchers in both academia and industry. Readers can raise their level of knowledge about methodologies for programming contemporary parallel and distributed systems, and, furthermore, they can gain practical experience in using distributed software. Practical examples show how the complementary online material can easily be adopted in various new projects.
Jan Dünnweber has been working as a reasearcher in grid computing at the University of Münster since 2003. His work focuses on programming methodologies for grid platforms.
Sergei Gorlatch is a professor in computer science at the University of Münster, Germany. His areas of expertise include high-performance computing, program calculi, as well as performance modeling, prediction and MPI programming.
Jan Dünnweber has been working as a reasearcher in grid computing at the University of Münster since 2003. His work focuses on programming methodologies for grid platforms. Sergei Gorlatch is a professor in computer science at the University of Münster, Germany. His areas of expertise include high-performance computing, program calculi, as well as performance modeling, prediction and MPI programming.
Preface 5
Contents 11
Chapter 1 Introduction 14
Challenges of Grid Programming 15
The Role of Middleware for the Grid 18
Communication Technologies for Distributed Computing 20
Java Remote Method Invocation (RMI) 20
Common Object Request Broker Architecture (CORBA) 22
Containers for Components & Services
Shortcomings in State-Of-The-Art Grid Middleware 29
Responsibilities of the Middleware User 29
Requirements for the Software Components 30
Chapter 2 HOCs: Software Components for Grid Programming 31
Higher-Order Components (HOCs) 32
Motivation for HOCs 33
Grid Programming Using HOCs 34
Introducing Code Mobility to the Middleware 36
Polymorphism and Type Checking for Code Parameters 38
First Application Case Study: Julia Sets 42
HOCs and Grid Middleware 43
An Analysis of the Requirements of the Grid Platform without Components 43
Bridging Middleware and Application with HOCs 48
Case Study Revisited: Using the Farm-HOC 50
Performance Experiments on a Wide-Area Testbed 52
HOCs and Hand-Written Code: A Performance Comparison 53
APIs for Grid Application Programming with HOCs 54
Adaptability of HOCs 63
Code Parameters for Adaptation 64
Case Study: From Farm to Wavefront 65
Discussion: Adaptation vs. AOP 72
Chapter 3 Higher-Order Component Service Architecture (HOC-SA) 74
Service-Oriented Grid Programming Using the HOC-SA 75
How Code Mobility Works: HOC-SA Code Service & Remote Code Loader
Parameter Databases in the HOC-SA 80
HOCs and Web Services 82
Web Services 82
Components and Resources 84
The HOC-SA Component Repository 85
The HOC-SA Portal 86
A Comparison of the HOC-SA and Globus WS-GRAM 89
Grid Programming with WS-GRAM and the HOC-SA 90
Application Types for HOC-SA and WS-GRAM 91
Response Times: HOC-SA vs. WS-GRAM 95
MPI, Skeletons and Web Services: Integrating Grid Technologies 98
A Gateway for Bridging between Web Services and MPI 99
Example: Discrete Wavelet Transform (DWT) 101
Wavelet Transform in General 101
DWT for Image Processing 103
DWT on the Grid Using the Lifting-HOC 104
Portable Parameters for the Lifting-HOC 107
An Adaptation of the Lifting-HOC 108
Experimental Performance Evaluation 110
Discussion: Interoperability and Portable Code 111
A HOC-SA Based Map/Reduce Implementation 114
Cloud Computing Technologies for the HOC-SA 114
MapReduce and Hadoop 116
HOC-SA Features for Map/Reduce on the Grid 116
Summary of HOC-SA Features 118
Chapter 4 Applications of Higher-Order Components 120
Clayworks: A Collaborative Simulation Environment 121
The 3-tier Architecture of Clayworks 123
The Deformation-HOC for Parallel Simulations 126
Protein Sequence Analysis with HOCs 132
The Alignment Problem in Bioinformatics 132
Circular Permutations of DNA 133
The Alignment-HOC and its Code Parameters 134
Using an Alternative Traceback 137
Optimizations of the Alignment-HOC 137
Experiments with the Alignment-HOC 139
Conclusions from Using HOCs in Large-Scale applications 140
Chapter 5 HOCs with Embedded Scheduling and Loop Parallelization 142
User-Transparent Grid Scheduling 143
The KOALA Grid Scheduling Infrastructure 144
Extensions of KOALA for User-Transparent Scheduling 146
Integrating KOALA & HOC-SA
A HOC-Aware Scheduling Algorithm 149
HOC Scheduling Cost-Functions 149
Scheduling Large-Scale Applications 151
Experiments with HOCs and KOALA 152
Conclusions from the Scheduling Experiments 155
Parallelization of Code Parameters in HOCs 155
The Internal Compute Farm of the LooPo-HOC 156
Transforming Loop Nests into Task Graphs 157
Integrating Loop Parallelization with the Grid 159
Case Study: The SOR Equation System Solver 161
Experiments 163
Combining HOCs with Related technologies: ProActive, SOFA and the GCM 164
Combining HOCs with ProActive, the GCM and SOFA 166
Creation of Web Services Using ProActive 169
Discussion: HOCs and Different Tools for Distributed Computing 170
Chapter 6 Conclusions and Related Work 171
New Contributions 171
Related Work 172
The Real-Time Framework (RTF) 173
A Survey of Related Component Models 174
The Skeleton Model 174
CCA: The Common Component Architecture 175
CCM: The CORBA Component Model 176
Java Servlets and JSPs 176
Enterprise Java Beans and .NET Components 176
The Web 2.0 178
The Semantic Web 178
Future Work 179
Bibliography 181
References 181
(a) Textbooks 181
(b) Research Papers 182
(c) Online References 187
Index 191
Erscheint lt. Verlag | 24.6.2009 |
---|---|
Zusatzinfo | XIII, 186 p. |
Verlagsort | Berlin |
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Technik ► Nachrichtentechnik | |
Schlagworte | Component-based development • Distributed Computing • Distributed Resource Management and Scheduling • Distributed Systems • Globus • Grid and Cloud Computing • grid computing • Java • Load Balancing • Middleware • programming • Web Services |
ISBN-10 | 3-642-00841-0 / 3642008410 |
ISBN-13 | 978-3-642-00841-2 / 9783642008412 |
Haben Sie eine Frage zum Produkt? |
Größe: 8,2 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich