Tài liệu Grid Computing: Software Environments and Tools docx

358 389 0
Tài liệu Grid Computing: Software Environments and Tools docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Grid Computing: Software Environments and Tools Jos´ C Cunha and Omer F Rana (Eds) e Grid Computing: Software Environments and Tools With 121 Figures Jos´ C Cunha e CITI Centre Department of Computer Science Faculty of Science and Technology New University of Lisbon Portugal Omer F Rana School of Computer Science Cardiff University UK A catalogue record for this book is available from the British Library Library of Congress Control Number: 2005928488 ISBN-10: 1-85233-998-5 ISBN-13: 978-1-85233-998-2 Printed on acid-free paper c Springer-Verlag London Limited 2006 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms of licences issued by the Copyright Licensing Agency Enquiries concerning reproduction outside those terms should be sent to the publishers The use of registered names, trademarks, etc in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made Printed in the United States of America Springer Science+Business Media springeronline.com (SPI/MVY) Preface Grid computing combines aspects from parallel computing, distributed computing and data management, and has been playing an important role in pushing forward the state-of-the-art in computer science and information technologies There is considerable interest in Grid computing at present, with a significant number of Grid projects being launched across the world Many countries have started to implement their own Grid computing programmes – such as in the Asia Pacific region (including Japan, Australia, South Korea and Thailand), the European Union (as part of the Framework and programmes, and national activities such as the UK eScience programme), and the US (as part of the NSF CyberInfrastructure and the DDDAS programmes) The rising interest in Grid computing can be seen by the increase in the number of participants at the Global Grid Forum (http://www.gridforum.org/), as well as through regular sessions on this theme at several conferences Many existing Grid projects focus on deploying common infrastructure (such as Globus, UNICORE, and Legion/AVAKI) Such efforts are primarily aimed at implementing specialist middleware infrastructure that can be utilized by application developers, without providing any details about how such infrastructure can best be utilized As Grid computing infrastructure matures, however, the next phase will require support for deploying and developing applications and associated tools and environments which can utilize this core infrastructure effectively It is therefore important to explore software engineering themes which will enable computer scientists to address the concerns arising from the use of this middleware However, approaches to software construction for Grid computing are ad hoc at the present time There is either deployment of existing tools not really meant for Grid environments, or tools that are not robust – and therefore not likely to be re-used in communities other than those within which they have been developed (examples include specialized libraries for BioInformatics and Physics, for instance) On the other hand, a number of projects are exploring the development of applications using specialist tools and approaches that have been explored within a particular research project, without considering the wider implications of using and deploying these tools As a consequence, there is little shared understanding of the common needs of software construction, development, deployment and re-use The main motivation for this book is to help identify what these common themes are, and to provide a series of chapters offering a more detailed perspective on these themes Recent developments in parallel and distributed computing: In the past two decades, advances in parallel and distributed computing allowed the development of many applications in Science and Engineering with computational and data intensive requirements Soon it was realized that there was a need for developing generic software layers and integrated environments which could v vi Preface facilitate the problem solving process, generally in the context of a particular functionality For example, such efforts have enabled applications involving complex simulations with visualization and steering, design optimization and application behavior studies, rapid prototyping, decision support, and process control (both from industry and academia) A significant number of projects in Grid computing build upon this earlier work Recent efforts in Grid computing infrastructure have increased the need for high-level abstractions for software development, due to the increased complexity of Grid systems and applications Grid applications are addressing several challenges which had not been faced previously by parallel and distributed computing: large scale systems allowing transparent access to remote resources; long running experiments and more accurate models; increased levels of interaction e.g multi-site collaboration for increased productivity in application development Distributed computing: The capability to physically distribute computation and data has been explored for a long time One of its main goals has been to be able to adapt to the geographical distribution of an application (in terms of users, processing or archiving ability) Increased availability and reliability of the systems architectures has also been successfully achieved through distribution of data and control A fundamental challenge in the design of a distributed system has been to determine how a convenient trade-off can be achieved between transparency and awareness at each layer of its software architecture The levels of transparency, as provided by distributed computing systems, has been (and will continue) to change over time, depending on the application requirements and on the evolution of the supporting technologies The latter aspect is confirmed when we analyze Grid computing systems Advances in processing and communication technologies have enabled the provision of cost-effective computational and storage nodes, and higher bandwidths in message transmission This has allowed more efficient access to remote resources, supercomputing power, or large scale data storage, and opened the way to more complex distributed applications Such technology advances have also enabled the exploitation of more tightly coupled forms of interactions between users (and programs), and pushed forward novel paradigms based on Web computing, Peer-2-Peer computing, mobile computing and multi-agent systems Parallel computing: The goal of reducing application execution time through parallelism has pushed forward many significant developments in computer system architectures, and also in parallel programming models, methods, and languages A successful design for task decomposition and cooperation, when developing a parallel application, depends critically on the internal layers of the architecture of a parallel computing system, which include algorithms, programming languages, compilers and runtime systems, operating systems and computer system architectures Two decades of research and experimentation have contributed to significant speedup improvements in many application domains, by supporting the development of parallel codes for simulation of complex models and for interpretation of large volumes of data Such developments have been supported by advanced tools and environments, supporting processing and visualization, computational steering, and access through distinct user interfaces and standardized application programming interfaces Developments in parallel application development have also contributed to improvement in methods and techniques supporting the software life cycle, such as improved support for formal specification and structured program development, in addition to performance engineering issues Component-based models have enabled various degrees of complexity, granularity, and heterogeneity to be managed for parallel and distributed applications – generally by reducing dependencies between different software libraries For example, simulators and mathematical Preface vii packages, data processing or visualization tools were wrapped as software components in order to be more effectively integrated into a distributed environment Such developments have also allowed a clear identification of distinct levels of functionalities for application development and deployment: from problem specification, to resource management and execution support services Developments in portable and standard programming platforms (such as those based on the Java programming language), have also helped in the handling of heterogeneity and interoperability issues In order to ease the computational support for scientific and engineering activities, integrated environments, usually called Problem-Solving Environments (PSEs) have been developed for solving classes of related problems in specific application domains They provide the user interfaces and the underlying support to manage an increasingly complex life cycle of activities for application development and execution This starts with the problem specification steps, followed by successive refinements towards component development and selection (for computation, control, and visualization) This is followed by the configuration of experiments, through component activation and mapping onto specific parallel and distributed computing platforms (including the set up of application parameters), followed by execution monitoring and control, possibly supported through visualization facilities As applications exhibit more complex requirements (intensive computation, massive data processing, higher degrees of interaction), many efforts have been focusing on easing the integration of heterogeneous components, and providing more transparent access to distributed resources available in wide-area networks, through (Web-enabled) portal interfaces Grid computing: When looking at the layers of a Grid architecture, they are similar to those of a distributed computing system: User interfaces, applications and PSEs Programming and development models, tools and environments Middleware, services and resource management Heterogeneous resources and infrastructure However, researchers in Grid computing are pursuing higher levels of transparency, aiming to provide unifying abstractions to the end-user, with single access points to pools of virtual resources Virtual resources provide support for launching distributed jobs involving computation, data access and manipulation of scientific instruments, with virtual access to remote databases, catalogues and archives, as well as cooperation based on virtual collaboration spaces In this view, the main distinctive characteristic of Grid computing, when compared to previous generations of distributed computing systems, is this (more) ambitious goal of providing increased transparency and “virtualization” of resources, over a large scale distributed infrastructure Indeed, ongoing developments within Grid computing are addressing the deployment of large scale application and user profiles, supported by computational Grids for high-performance computing, intelligent data Grids for accessing large datasets and distributed data repositories – all based on the general concept of “virtual organizations” which enable resource sharing across organizational boundaries Recent interest in a “Grid Ecosystem” also places emphasis on the need to integrate tools at different software layers from a variety of different vendors, enabling a range of different solutions to co-exist for solving the same problem This view also allows a developer to combine tools and services, and enables the use of different services which exist at the same software layer at different times The availability of suitable abstractions to facility such a Grid Ecosystem still not exist however viii Preface Due to the above aspects, Grids are very complex systems, whose design and implementation involves multiple dimensions, such as large scale, distribution, heterogeneity, openness, multiple administration domains, security and access control, and dynamic and unpredictable behavior Although there have been significant developments in Grid infrastructures and middleware, support is still lacking for effective Grid applications development, and to assist software developers in managing the complexity of Grid applications and systems Such applications generally involve large numbers of distributed, and possibly mobile and intelligent, computational components, agents or devices This requires appropriate structuring, interaction and coordination methods and mechanisms, and new concepts for their organization and management Workflow tools to enable application composition, common ways to encode interfaces between software components, and mechanisms to connect sets of components to a range of different resource management systems are also required Grid applications will access large volumes of data, hopefully relying upon efficient and possibly knowledge-based data mining approaches New problem-solving strategies with adaptive behavior will be required in order to react to changes at the application level, and changes in the system configuration or in the availability of resources, due to their varying characteristics and behavior Intelligent expert and assistance tools, possibly integrated in PSEs, will also play an increasingly important role in enabling the user-friendly interfacing to such systems As computational infrastructure becomes more powerful and complex, there is a greater need to provide tools to support the scientific computing community to make better use of such infrastructure The last decade has also seen an unprecedented focus on making computational resources sharable (parallel machines and clusters, and data repositories) across national boundaries Significantly, the emergence of Computational Grids in the last few years, and the tools to support scientific users on such Grids (sometimes referred to as “eScience”) provides new opportunities for the scientific community to undertake collaborative, and multi-disciplinary research Often tools for supporting application scientists have been developed to support a particular community (Astrophysics, Biosciences, etc), a common perspective on the use of these tools and making them more generic is often missing Further research and developments are therefore needed in several aspects of the software development process, including software architecture, specification languages and coordination models, organization models for large scale distributed applications, and interfaces to distributed resource management and execution services The specification, composition, development, deployment, and control of the execution of Grid applications require suitable flexibility in the software life cycle, along its multiple stages, including application specification and design, program transformation and refinement, simulation and code generation, configuration and deployment, and the coordination and control of distributed execution New abstractions, models and tools are required to support the above stages in order to provide a diversity of functionalities, such as: – Specification and modelling of the application structure and behavior, with incremental refinement and composition, and allowing reasoning about global functional and non-functional properties – Abstractions for the organization of dynamic large scale systems – Representation and management of interaction patterns among components and services – Enabling of alternative mappings between the layers of the software architecture, supported by pattern or template repositories, that can be manipulated during the software development and execution stages Preface ix – Flexible interaction with resource management, scheduling and discovery services for flexible application configuration and deployment, and awareness to Quality of Service – Coordination of distributed execution, with adaptability and dynamic reconfiguration Such types of functionalities will provide the foundations for building environments and frameworks, developed on top of the basic service layers that are provided by Grid middleware and infrastructures Outline of the book: The aim of this book is to identify software engineering techniques for Grid environments, along with specialist tools that encapsulate such techniques, and case studies that illustrate the use of these tools With the emergence of regional, national and global programmes to establish Grid computing infrastructure, it is important to be able to utilize this infrastructure effectively Specialist software is therefore necessary to both enable the deployment of applications over such infrastructure, and to facilitate software developers in constructing software components for such infrastructure We feel the second of these is a particularly important concern, as the uptake of Grid computing technologies will be restricted by the availability of suitable abstractions, methodologies, and tools This book will be useful for: – Software developers who are primarily responsible for developing and integrating components for Grid environments – It will also be of interest to application scientists and domain experts, who are primarily users of the Grid software and need to interact with the tools – The book will also be useful for deployment specialists, who are primarily responsible for managing and configuring Grid environments We hope the book will contribute to increase the reader’s appreciation for: – Software engineering and modelling tools which will enable better conceptual understanding of the software to be deployed across Grid infrastructure – Software engineering issues that must be supported to compose software components for Grid environments – Software engineering support for managing Grid applications – Software engineering lifecycle to support application development for Grid Environments (along with associated tools) – How novel concepts, methods and tools within Grid computing can be put at work in the context of existing experiments and application case studies As many universities are now also in the process of establishing courses in Grid Computing, we hope this book will serve as a reference to this emerging area, and will help promote further developments both at university and industry The chapters presented in this book are divided into four sections: – Abstractions: chapters included in this section represent key modelling approaches that are necessary to enable better software development for deployment over Grid computing infrastructure Without such abstractions, one is likely to see the continuing use of ad-hoc approaches – Programming and Process: chapters included in this section focus on the overall software engineering process necessary for application construction Such a process is essential to channel the activity of a team of programmers working on a Grid application x Preface – User Environments and Tools: chapters in this section discuss existing application environments that may be used to implement Grid applications, or provide a discussion of how applications may be effectively deployed across existing Grid computing infrastructure – Applications: the final section provides sample applications in Engineering, Science and Education, and demonstrate some of the ideas discussed in other section with reference to specific application domains Jos´ Cunha, Universidade Nova de Lisboa, Portugal e Omer F Rana, Cardiff University, UK 330 14 Toward the Utilization of Grid Computing in Electronic Learning [10] D Box, D Ehnebuske, G Kakivaya, et al., “Simple Object Access Protocol (SOAP) 1.1,” W3C Note 08 May 2000 http://www.w3.org/TR/2000/NOTE-SOAP-20000508 [11] S Cantor (ed.), “Shibboleth Architecure Protocols and Profiles,” Working Draft 02, 22 September 2004, Available at http://shibboleth.internet2.edu/ [12] F Casati, U Dayal (eds.), “Special Issue on Web Services,” IEEE Bulletin of the Technical Committee on Data Engineering 25(4), (2002) [13] A Chervenak, I Foster, C Kesselman, C Salisbury, and S Tuecke “The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Datasets,” J Network and Computer Applications 23, 187–200 (2001) [14] E Christensen, F Curbera, G Meredith, and S Weerawarana “Web Services Description Language (WSDL) 1.1,” W3C Note 15 March 2001, http://www.w3.org/TR/2001/NOTE-wsdl-20010315 [15] D De Roure, M.A Baker, N.R Jennings, and N.R Shadbolt, “The Evolution of the Grid,” in Grid Computing: Making the Global Infrastructure a Reality (Wiley, New york, 2003), pp 65–100 [16] J.D Foley, A van Dam, S.K Feiner, J.F Hughes, Computer Graphics Principles and Practice, 2nd ed (Addison-Wesley, Reading, MA, 1995) [17] I Foster, and C Kesselman, The Grid: Blueprint for a New Computing Infrastructure (MorganKaufmann, San Francisco, CA, 1998) [18] I Foster, and C Kesselman “The Globus Toolkit,” in The Grid: Blueprint for a New Computing Infrastructure (Morgan-Kaufmann San Francisco, CA, 1998), pp 259–278 [19] I Foster, and C Kesselman “Computational Grids,” in The Grid: Blueprint for a New Computing Infrastructure (Morgan-Kaufmann San Francisco, CA, 1998), pp 15–51 [20] I Foster, and C Kesselman, The Grid 2: Blueprint for a New Computing Infrastructure, 2nd edn, (Morgan-Kaufmann, San Francisco, CA, 2004) [21] I Foster, C Kesselman, J Nick, and S Tuecke “The Physiology of the Grid: Open Grid Services Architecture for Distrubuted Systems Integration,” Proc 4th Global Grid Forum (GGF4) Workshop 2002, http://www.globus.org/research/papers/ogsa.pdf [22] I Foster, C Kesselman, and S Tuecke “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” Int J of Supercomputer Applications and High Performance Computing 15(3), 200-222 (2001) [23] J Frey, T Tannenbaum, I Foster, M Livny, and S Tuecke “Condor-G: A Computation Management Agent for Multiinstitutional Grids,” Proc 10th IEEE Int Symp on High Performance Distributed Computing, San Francisco, CA, 2001, (pp 55–67) [24] Globus Grid Security Infrastructure, GSI: Key Concepts, Available at http://www-unix.globus.org/ toolkit/docs/3.2/gsi/key/index.html October 2004 [25] A.S Grimshaw and W.A Wulf “The Legion Vision of a Worldwide Virtual Computer,” Communications of the ACM 40(1), 39–45, (1997) [26] V Hamscher, U Schwiegelshohn, A Streit, and R Yahyapour “Evaluation of Job-scheduling Strategies for Grid Computing,” in GRID 2000, LNCS 1971, ed by R Buyya and M Baker (SpringerVerlag, Berlin, 2000) pp 191–202 [27] W Hibbard, “Building 3-D User Interface Components Using a Visualization Library,” IEEE Computer Graphics 36(1), 4–7 (2002) [28] IMS Global Learning Consortium, Inc, “IMS Content Packaging Best Practice Guide,” Version 1.1.3., 2003 [29] IEEE Computer Society, IEEE Standard for Learning Object Metadata, IEEE Std P1484.12.1TM2002, September 2002, Available at http://standards.ieee.org/ [30] E Maler et al, “Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML)”, OASIS, September 2003 Document ID oasis-sstc-saml-core-1.1 http://www.oasisopen.org/committees/security/ [31] Information technology—Computer graphics and image processing—Extensible 3D (X3D), ISO/IEC 19775:200x, Edition 1, Stage 40.20, January 6, 2003 http://www.web3d.org/technicalinfo/specifications/ISO_IEC_19775/index.html References 331 [32] A Jagatheesan and A Rajasekar, “Data Grid Management Systems,” Proc ACM SIGMOD Int Conf on Management of Data, San Diego, CA, 2003, (p 683) [33] J Kohl and B.C Neuman, “The Kerberos Network Authentication Service (Version 5),” Internet Engineering Task Force, Request for Comments RFC-1510, 1993 [34] K Montgomery, Bruyns, C., S Wildermuth, “A Virtual Environment for Simulated Rat Dissection: A Case Study of Visualization for Astronaut Training,” 12th IEEE Visualization Conference, San Diego, CA, 2001 (pp 509–512) [35] K Montgomery, Heinrichs, L., Bruyns, C., et al., “Surgical Simulator for Hysteroscopy: A Case Study of Visualization in Surgical Training,” 12th IEEE Visualization Conference, San Diego, CA, 2001 (pp 449-452) [36] R Moore, C Baru, R Marciano, A Rajasekar, and M Wan, “Data intensive computing,” The Grid: Blueprint for a New Computing Infrastructure (Morgan-Kaufmann, San Francisco, CA, 1998) pp 105–129 [37] V Pankratius, E-Learning Grids: Exploitation of Grid Computing in Electronic Learning, Master Thesis, Dept of Information Systems, University of Muenster, Germany, 2003 [38] V Pankratius and G Vossen, “Towards E-Learning Grids: Using Grid Computing in Electronic Learning,” Proc IEEE International Workshop on Knowledge Grid and Grid Intelligence, Techn Rep No 2003-02, Dept of Mathematics and Computing Science, Saint Mary’s University, Halifax, Nova Scotia, Canada, 2003 (pp 4–15) [39] V Pankratius, O Sandel, W Stucky, “Retrieving Content with Agents in Web Service E-Learning Systems,” Symposium on Professional Practice in AI, IFIP WG12.5, First IFIP Conference on Artificial Intelligence Applications and Innovations (AIAI), Toulouse, France, August 2004 [40] S Peltier, Alpha Project: “Telescience for Advanced Tomography Applications,” National Center for Microscopy and Imaging Research, UC San Diego 2003, https://gridport.npaci.edu/Telescience/general_telescience.pdf [41] Sharable Content Object Reference Model (SCORM), Available at http://www.adlnet.org [42] W Schroeder, K Martin, and B Lorensen, The Visualization Toolkit An Object-oriented Approach To 3-D Graphics, 3rd ed (Kitware Inc., New York, 2003) [43] N Suzuki and A Hattori, “Qantitative Visualization of Human Structure Using Segmented Volume Data Obtained by MRI,” IEEE Journal of Visualization 3(3), 209 (2000) [44] K Vidyasankar and G Vossen, A Multi-level Model for Web Service Composition, Proc 3rd IEEE International Conference on Web Services (ICWS) 2004, San Diego, USA (pp 462–469) [45] G Vossen and P Jaeschke, “Towards a Uniform and Flexible Data Model for Learning Objects,” Proc 30th Annual Conf of the Int Bus School Computing Assoc (IBSCA), Savannah, Georgia, 2002 (pp 99–129) [46] G Vossen, P Jaeschke, A Oberweis, A, “Flexible Workflow Management as a Central E-Learning Support Paradigm,” Proc 1st European Conference on E-Learning (ECEL), Uxbridge, UK, 2002 (pp 253–267) [47] G Vossen and P Westerkamp, “E-Learning as a Web Service (Extended Abstract),” Proc 7th Int Conf on Database Engineering and Applications (IDEAS), Hong Kong, China, 2003 (IEEE) pp 242–249 [48] G Vossen and P Westerkamp, “Distributed Storage and Dynamic Exchange of Learning Objects,” Proc 2nd European Conference on E-Learning (ECEL), Glasgow, UK, 2003 (pp 469–478) [49] G Vossen and P Westerkamp, “UDDI for E-learning: A Repository for Distributed Learning Objects,” Proc 2nd IASTED International Conference on Information and Knowledge Sharing (IKS), Scottsdale, Arizona, USA, 2003 (pp 101–106) [50] G Vossen and P Westerkamp, “Intelligent Content Discovery Within E-learning Web Services,” Proc 1st International Conference on Knowledge Management (ICKM), Singapore, 2004 Conclusion Chapters in this book cover the theme of software engineering for Grid computing This theme has been explored from a number of different perspectives, such as specialist Problem Solving Environments (PSEs) to enable application scientists make better use of existing Grid infrastructure, to the specification of specialist abstractions to enable computer scientists design software particularly aimed to run over Grid infrastructure A significant number of chapters in this book cover the theme of PSEs, which also serves as an indication of the importance of these environments with the Grid computing community The use of PSEs, and an analysis of their use, are necessary to enable a better understanding of how current Grid computing systems are being utilized by computational scientists and other domain specialists Research effort in PSEs has matured over recent years, with an emerging interest in Grid Portal technologies (Chapter 6) Although work in PSEs predates Grid computing developments, research in PSEs provides an important bridge between application sciences and Grid computing infrastructure A key challenge remains the ability to hide details about the underlying computational (compute and data) infrastructure from end users, thereby allowing, as is often stated, the end users to concentrate on their science rather than details about configuring parallel machines or computational clusters Often a portal acts as a single point of interaction for an application scientist, and may range in complexity from providing application-specific visualization of results, to a more complex graphical interface that also allows the current state of computational resources to be determined Mechanisms to standardize on portal technologies is a useful step to allow portals to be shared across different application domains (or by scientists undertaking different research within the same domain) Perhaps the aim of software engineering techniques is also similar from a computer science perspective Essentially, to provide abstractions for software development and deployment that are best suited to a particular use The abstraction (whether a process model (Chapter 1) or an event model (Chapter 2)) should allow for a logical representation of key requirements of Grid computing use, thereby identifying how existing capabilities (in Grid middleware, for instance) may be made use of (to support such an abstraction), or identify limitations with current capability that needs to be addressed in future systems Abstractions may also provide the basis for comparing Grid computing systems with other systems (such as parallel systems or mobile systems), identifying their commonalities and differences Such a comparison is particularly useful to allow new research areas to be defined that combine features in Grid computing with these other systems 332 333 We hope this book provides useful reading for future Grid software engineers, interested in the software process, the development of specialist tools, or for the deployment of applications over Grid computing infrastructure Index A Abstract State Machines (ASM) distributed, refinement, 4, 13–15, 14f system analysis, 15 Abstractions for grid software development, 81–82 Access control mechanism, 11–13 ACE wrappers, 247 ACME, 41 active object, 207, 226 Activities, 192 Adaptive Communication Environment (ACE) library, 246 ADL, 38, 40–41 Agora components search engine, 200 Algorithm design, 100 Algorithmic patterns, skeletons, 99–100 data-parallel, 102–103 Fast Fourier Transform(FFT) case study, 104–106 implementation, 106–110 Alliance Portal project, 136; see also Grid portal development with portlets Alliance portal, 228 Application development process, stages of, 196 Application with remote methods, desired features of, 111 ease of programming, 111 flexibility, 111 low overhead, 111 apply(triple) skeleton, 113–114 Architecture and language portability, 186 Architecture description language (ADL), 215 Artificial Intelligence (AI), 48 ASSIST Implementation, 246 modular design of ASSIST compiler, 246 ASSIST Programming Model, 237–238, 251 ASSISTconf and the grid, 248 Astronomy data–grid design, 21–24 Astronomy data–grids AstroGrid, 19, 23–25, 32, 37–38, 40–42 EGSO, 19–21, 23–25, 27, 32–34, 37–38, 41–42 Asynchronous Steering of Grid Applications, 295 Atomic job, 158–159, 168 Augmented Transition Networks (ATNs), 51 Automatic Test Code Generation, 119 basic blocks, 120 loops, 120 Automatic Test Code Generation, see Java Bytecode Automatic wrapping, 191 Avaki Data Grid, 77 B Babel, 180 parser, 180 server- and client-side support, 180 SIDL, 182-183, 189 wrapping, 188 Barnes–Hut algorithm, 237, 243 Barnes–Hut N–Body algorithm, 243 BeanBuilder, 193 BeanInfo method, 189 Binary associative operator, 103 BinOp operator, 108, 109, 121 335 336 Index Binutils, 190 Biomedical Informatics Research Network, 24 BondGrid, 60, 63, 67, 69 agents, 60 coordination service, 63 event service, 66–67 monitoring and control centre, 69 ontologies, 61 simulation service, 67–68 BPEL4WS(Business Process Execution Language for Web Services), 194, 228 Bytecode instructions, see Automatic Test Code Generation Bytecode, 117, 119–121, 123, 188 C C3D application, 215–217 CAD geometry, 311 CCA, 233 CCA component, from Babel interface, 181 CCAffeine framework, 179 implementation, data flow for, 182 performance, 181–182 CCAT/XCAT, 179 CCM, 233 central entity, 100 CLAM, see Coordination Language Abstract Machine Class loading, 109 Coarse-grain web service, 228 Collective (collective and dynamic resource control and allocation) level, 231 Commercial grid applications gridMATHEMATICA (Wolfram Research, Inc.), 77 Oracle Application server 10g (Oracle Corporation), 77 Commercial grid middleware; see also Grid software process Avaki Data Grid (Avaki), 77–78 TurboWorx Enterprise (TurboWorx, Inc.), 78 Xgrid (Apple Computer, Inc.), 77 XLR8 (GridIron Software), 77 Common Component Architecture (CCA), 178–183 Common Component Architecture Toolkit (CCAT), 130 Common Language Run-time (CLR), 186 Common Type System (CTS), 186 Communicating Sequential Processes model, 238 Communication costs, 113 completion, 101 composition, 101 prediction of, 121 Component based grid applications, design approaches application assembling/composition, 201 application sketching, 201 Component discovery, 201 Component publication, 186 and management, 189 Component-oriented frameworks CCA, see Common Component Architecture Java Beans, 183 ComponentRank, 201 Components in a grid economy, 191-192 Computational grid, 6, 45–46, 56, 77, 101, 319 Computational steering in IRIS explorer for EHL problems, 287 Computing environments, Concurrency verification tools, 25 Condor, 15, 93, 126, 142, 163, 193, 320 content, 213 meta-scheduler, see DAGMan Contracts, 199 Controller module, 107 Conventional distributed environments, 5, 5f Conventional distributed system, rules for, 7–9 Coordination engine, 64 Coordination Language Abstract Machine (CLAM), 246–248 coordination service, 66 CORBA Component Model, 184 CORBA, 53, 78, 80, 82, 140, 159–160, 163, 165, 180, 185, 191, 200–201, 206, 232–234, 243, 250–252, 305 Index Core Grid Middleware, 319–321, 325, 329 Correlation coefficient, 50 Cost model, 235–236, 242 Customer Relationship Management (CRM), 232, 244 Customization, 178 Customizer, 189 D DAGMan, 163, 193, 195 Data Mining a priori algorithm, 237 Data Mining C4.5 algorithm, 238 Data–flow loop, 237, 240 Dataflow pipeline, 287 Data–grid, 19–21, 23–25, 27, 31, 33–43, 45, 75, 286 requirements, 19–21 Data–grids in FSP, design stages AstroGrid Detailed Design, 37–38 EGSO Vision, 33–34 EGSO Architecture, 34–36 EGSO Interface Design, 36–37 Data–parallel skeletons map, 237, 241 Decaf, 179 Debugging, 29, 31, 190, 221; see also Evaluation of grid design Decision tree induction algorithm, 245 Declarative security attributes, 224 authentication, 224 confidentiality, 224 integrity, 224 Design patterns, 184 Design-time, 184 customizer, 184 dh skeleton, 113, 115–116, 121 Directed Acyclic Graphs (DAGs) of tasks, 158, 163, 192 Distributed computing infrastructure, 126 Distributed data structures, 81 Distributed Exceptions, 81–82 Distributed objects, 81 Distributed Shared Memory (DSM), 243 Domain Name Services (DNS), 50 DR (Data Repository), 245 DR data, 245–246 DR module, 245 Drag-and-drop any running active object, 221 337 desktop grid, 221 pervasive grid, 221 Dynamic code/data movement, 235 Dynamic parallel algorithms, 238 Dynamic security policy, 224 Dynamic workflow graph refinement, 158 Dynamically adaptive applications, 235, 251 Dynamically negotiated policies, 224 Dynamicity, 237 E eCluster, 148–149 Economy, 47, 190–192 EDSO workflows, 304–306, 308–310 EGSO architecture, 34 interface design, 36 vision, 33–34 EGSO, see European Grid of Solar Observations Elastohydrodynamic lubrication (EHL), 287 E-learning grid, 314, 321 Emitter module, 243 Enterprise application integration (EAI), 82 Environmental Risk Analysis and Management System (ERAMAS), 158, 169 E-Science, concept of, 157, 295 European Grid of Solar Observations (EGSO), data-grid requirements, 19, 41–42 data and metadata, 20 data processing, 20 interoperability, 21 monitoring and management, 20 requirements, 20, 22f requirements analysis, 21 security, 20–21 eUtility, 148–149 Evaluation of grid design, methods for, 25–32 Event Modelling Process, see Grid design, event modelling process Event models, 25 Event subscription table, 66; see also BondGrid event service eWorkflow, 148–149 Execution Plan Generator (EPG) module, 266 Experimental grid system, 100–102, 101f 338 Index Explicit fault management, 169 Extracting information from compiled code, 189 External data representation (XDR), 248 External objects, 242 integration of Distributed Shared Memory libraries, 243 shared variables, 243 F Factors influencing grid-based applications, 114–115 Farm module, 243 Fast Fourier Transform (FFT), 102, 113 Fault management, 169; see also Grid Job Execution and Monitoring FFTW, 248 Filters, 178; see also Grid programming, component-based Finite State Process (FSP), 19, 25–28, 30f, 33, 36–40, 43 First generation grid portal toolkits, 129 First generation grid portals, 127–131; see also Generation of Grid portals characteristics of, 128 portal implementations of, 129 portal services of, 128–129 toolkits, 129–131 Flocking, 15–16 Fractal model, 213–214 Fraunhofer Resource Grid (FhRG), 158–159 Functional information, 199 Future-based RMI, 113; see also Standard RMI optimizations demonstration of improvements achievable by, 113–114 G GDataDL, 160 GDB, 190 Generic skeleton, Parallel Module (parmod), 240 Geodise toolboxes, 311 GInterfaceDL, 160 GJobDL, 160, 163, 166 Global Grid Forum (GGF), 96, 129 Globaluser, 11–14; see also Access control mechanism Globus-based Grid, 179 Globus Toolkit, 231 Globus, 126–127, 142, 160, 210, 231, 249–250, 253, 268, 271–272, 274–276, 292–294, 296, 299, 308, 320, 323, 326 GPDK, 127, 129–130 Graph Enabled Console Component (GECCO), 278 Greedy algorithms, 270 GResourceDL, 160 Grid Abstract Machine (GAM), 231, 251 Grid Application Definition Language (GADL), 160 GResourceDL, 160–161 GInterfaceDL, 160 GDataDL, 160 GJobDL, 160 Grid applications, 42, 57, 76–78, 82–83, 87–88, 90, 93–94, 96, 100, 113, 115, 123, 130, 146, 160, 176, 195, 201–202, 205–206, 211, 224–227, 230, 231 f , 232, 234, 238, 242, 250, 252–253, 257–260, 262–263, 267, 269, 273–274, 281–282, 284, 291, 293, 295–296, 315, 319, 323–327 Grid architecture AstroGrid, 23–24 Biomedical Informatics Research Network (BIRN), 24 European Grid of Solar Observations (EGSO), 23 European Data Grid (EDG), 24 Grid Physics Network (GriPhyN), 24; see also Virtual Data Toolkit (VDT) Grid aware application, 81 Grid component model, 228 Grid components, 48, 176–177, 193, 198, 206, 212, 228 Grid Computing, 5, 46–47, 52, 56, 58, 61, 75–78, 80–82, 88, 95–96, 99, 103, 123, 160, 162, 186, 205–206, 214, 227, 257, 281, 284, 286, 302–304, Index 306–307, 314–315, 319–321, 329, 332–333 Grid connectivity, 221 Grid design patterns authorization service pattern, 83–85 broker service pattern, 82 grid executable catalog pattern, 85–88 grid store pattern, 88–90 grid credential repository pattern, 93–95 replica location service pattern, 90–92 Grid design, event modelling process, 25–26 concurrent users and tasks, 28–30 hypothetical demonstration, 32 intention of modelling a service, 27 refinement with a semaphore, 30–32 Grid design, ways of applying event models in, 40 Grid Economic Services Architecture (GESA), 152 Grid environment, 2, 10, 15, 46–47, 50, 52, 55, 57–58, 69, 77, 81–83, 85, 87, 94–95, 100–101, 105, 110, 123, 147, 195, 263, 281, 286, Grid experimental system, 100 Grid Information Service, 259 Grid Job Builder, 160 Grid Job Definition Language (GJobDL), 158–159 Grid Job Execution and Monitoring, 167–169 Grid Job Handler Web Service, 159, 163 Grid Job Orchestration, 162–166 Grid job, 158–160, 162–163, 165–169, 171, 172, 174, 261, 285, 292–293, 295–297 Grid learning object, 314–315, 324–325, 329 Grid middleware, 77, 126–127, 131, 136, 142, 151, 249, 258, 262, 266, 268, 315, 320–321, 325, 327, 329, 332 Grid node, 66, 69, 77, 234, 236, 249, 252–253, 259, 261, 266, 269–270, 274–275, 281 Grid Physics Network, 24 Grid platform, 235 Grid portal development with portlets, 136–137 Grid portal workflow, 152 339 Grid portals, 93, 135–139, 141, 148–152, 228, 257 ASC Grid Portal, 126 Grappa, 126 Gateway, 126 JiPANG, 126 Mississippi Computational Web Portal, 126 NPACI Hotpage, 126 The DSG Portal, 126 XCAT Science Portal, 126 Grid portals, generations of, 127 first generation, 127–131 second generation, 131–137 third generation, 137–150 Grid programmers, 206 Grid programming, 176 Grid programming model, 236 Grid programming, component-based, 178 Grid programs, 236 Grid project, issues of, 95–96 Grid project, risks involved, 95–96 Grid Resource Allocation Manager (GRAM), 259, 268–269, 271 Grid Service Handle (GSH), 147 Grid service pattern, 82–86 authorization service pattern, 83–85 grid credential repository pattern, 92–96 grid executable catalog pattern, 85–88 grid store pattern, 88–90 replica location service pattern, 90–92 Grid Service Reference (GSR), 147 Grid services, 76, 82, 127 Grid Software Process, 77–81 Grid Software Process, 77–81 gridMATHEMATICA, 77 Oracle Application server 10g, 77 Grid system developers, 130 Grid systems, 39 Grid workflow models, 193 business community, 194 Grid workflows, 192–193 Grid, rules for, 9–13 GridAgent, 69 Grid-aware application, 230–233, 234, 236 Grid-based applications, abstractions, 81 340 Index Grid-enabled Simulation Using IRIS Explorer, 294 Grid-enabled Workflow, 292–293 GridFTP protocol, 268 GridIron Software, 77 GRIDLE, 176, 194–195, 198–199 application development cycle, 195–198 search techniques, 198–200 GRIDLE, modules of functional information, 199 non functional information, 199 query answering, 199 GRIDLE, search techniques main modules, 198 GridPacket, 69 GridPort, 127, 129–130 GridRPC, 78, 80, 130 Grids, resource sharing, 16 GridSphere, 135 Group communication, 209–210, 214–215 gViz project, 287, 295, 297–298 H Handler process, 13 Heterogeneity of nodes, 230 Heterogeneity, 101, 178, 231, 248 Heterogenous software components, required services, 178 Hierarchical approach to grid security, 224–225 active object security, 225, 227 declarative domain security, 225, 227 virtual node security, 224, 227 Hierarchical organization, 225 High-level workflow plan, 177 High-performance computers (HPC), 126 High-performance programs as graphs, 238 HPF for data–parallel computations, 237 I IBM WebSphere Portal Server, 134 IC2D (Interactive Control and Debugging of Distribution), 221–223, 228 Inheritance and specalization, 179 Implicit fault management, 169 Integrated Skeleton Technology (ASSIST), 232, 234, 236, 240, 243–245, 248–254 Intelligent computation grid, core services of, coordination services, 50–52 other services, 53–59 planning services, 52–53 resource management, 46–50 Intelligent grid environment, 47–50 Intelligent Grids asynchronous communication, 53 coordination, 46–47 environments, 47–50, 49f exception handling, 46 resource management, 46 Intelligent Grids, applications to computational biology, 69–71 Intelligent Grids, BondGrid case study BondGrid Agents, 60 BondGrid Ontologies, 61–63 BondGrid Coordination Service, 63–66 BondGrid Event Service, 66–67 BondGrid Simulation Service, 67–69 BondGrid Monitoring and Control Center, 69 Intelligent Grids, core- and end-user services asynchronous communication and event services, 53 coordination services, 50–51 grid simulation and simulation services, 54–55 ontologies and ontology services, 55–57 planning and planning services, 52–53 Replica Location Service (RLS), 24 sequential user task service, 27–28 security and authentication services, 57–59 Interaction, 225–226 ActiveObjectCreation (AOC)225 ActiveObjectMigration (AOM), 226 CodeLoading (CL), 225 JVMCreation, 225 Listing (L), 226 NodeCreation (NC), 225 Request (Q), Reply (P), 226 Interactive applications, 237 Index Interactive Tools, 221 interactive dynamic assembly and deployment of components, 222 monitoring the infrastructure and the mapping of activities, 221 Interactivity, 237 Interface Definition Language (IDL), 130, 178, 180, 190 Internal Object Representation (IOR), 180 Internode parallelism, 234, 235 Interoperability, 21, 81, 130, 140–141, 147, 231–232, 250 Interrelationships of programming model features, 236 invocation, 101 IP-address, 113; see also Standard RMI optimizations Irregularity, 237 J Java Agent DEvelopment Framework (JADE), 60 Java API in grid programming, 103–104 Java Beans API, 183, 189, 258, 266 Java Beans, 233 Java Bytecode, 116–120 Java Bytecodes, runtime estimation of, 117–120 Java Beans, features of customization, 183 event-driven programming model, 183 introspection, 183 Java Beans, momoments in application development design time, 184 run time, 184 Java classes, 183 Java Community Process (JCP), 133 Java pseudocode, 115 Java Remote Method Invocation (RMI) mechanism, 100, 104, 106, 109–114, 123 Jetspeed, 134, 151 optimization, 110–113 Java Servlet, see Portlets Java Specification Requests (JSRs), 133 Job orchestration tool, 162 341 K KaRMI, 111 Knowledge Directory Service (KDS), 259, 264, 276 KDS metadata, 259 Knowledge Discovery in Databases (KDD), 244 Knowledge Grid Execution Plan Management Service (EPMS), 267 Knowledge grid, 258 KR (Knowledge Repository), 245 KR module, 245 L Labelled Transition System Analysis (LTSA), 19, 25, 27–30, 32, 34–35, 37, 39 Lazy RMI, see Standard RMI optimizations Learning management system (LMS), 315, 321, 324–325, 329 Legacy code, 236 Legacy system, 33, 304 Library functions, 100 Lithium, 237 Local Replica Catalogues, 92 Localized RMI, see Standard RMI optimizations Localuser, see Access control mechanism Lookup service, 100 LTSA, 25–26; see also Labelled Transition System Analysis M MacOSX platforms, 248 Manta/Ibis, 111 Matlab functions, 310–311 Message Passing Interface (MPI), 1, 46–47, 53, 77, 80, 163, 179, 191, 217–218, 227–228, 232, 237, 239, 241, 244, 248, 290, 293 Metacomponents, 195 Metacomputing, 75 Metadata Catalog Servicel (MCS), 24 Metadata management module, 245 Microsoft NET, 185 Microsoft SharePoint Server Middleware tools, 231 connectivity (microkernel), 231 342 Index Middleware tools (Continued) resource (resource management services), 231 Mocha, 189 Model preprocessor, 267 Model-Driven Architecture (MDA), 21, 40–41 Modeling scheme in distributed computing, 6–7 Modular compiler model, 232 Module granularity, 234 MPI Integrator, 182 MPICH, 1, N Ninf Portal, 127, 129, 130; see also Grid portal toolkits Nondeterministic model, 238 Non functional information, 199 NWS, 115, 121 O Object-oriented systems, 81 Odyssey Search Engine (OSE), filtering agents (FAs), 200 interface agent (IA), 200 retrieval agents (RAs), 200 OGSA, 147–151 Ontology repository, 143 Ontology, 23, 41, 46, 48–49, 55–57, 59, 61, 138–139, 143, 150, 152, 310–311, 324 Open Grid Service Infrastructure (OGSI), 184 Open Grid Services Architecture (OGSA), 76, 82, 126, 320 OPNET Modeler, 69 Optimization, 99–100, 102, 302, 307 of Java RMI, 110–113 Oracle Application server, 77 Organization for the Advancement of Structured Information Standards (OASIS), 133, 134 P P2P systems BOINC, 147 JXTA, 147 XtremWeb, 147 P3 L, 237 SkIE, 237, 238, 241 PageRank, iterative algorithm, 177, 199 PAMIHR package, 248 PARDIS, 184 Parallel 3-D reconstruction program, 71 Parallel and distributed conceptual programming model, 206–212 Parallel Application WorkSpace (PAWS), 276 Parallel Knowledge Discovery in Databases (KDD) system, 244 Parallel languages Lithium, 237 Parallel Module (parmod), 240, 246 Parallel PSE applications, 289 Parallel Shared Memory Computation within SCIRun, 290 PAWS, 278 Peer-to-Peer (P2P) computing, 145 Peer-to-Peer (P2P), 145–147, 193, 314 peer-to-peer components (P2P), 193 Performance metrics, 236 Performance of numeric applications, 186–187 Petri Net Markup Language (PNML), 166 Petri net, 158, 163, 165–166, 168–169, 171, 173–174 PKI infrastructure, 226 Place-holder component, 196 Plumtree Corporate Portal, 134 Portal Analysis Tool (PAT), 144 Portal Composition Tool (PCT), 144 Portal Execution Environment (PEE), 144 PortalLab, 127, 138, 141–144, 147–148, 150–151 Portlab, software architecture of, 141–150 Portlet invocation interface (PII), 132 Portlet Ontology Repository (POR), 143 Portlet oriented portal toolkits Apache Jetspeed, 134 GridSphere, 135 IBM WebSphere Portal Server, 134 Microsoft SharePoint Server, 133 Oracle Portal Development Kit, 135 Plumtree Corporate Portal, 134 Sun ONE Portal Server, 134 Index Viador E-Portal, 134 Portlet oriented portal toolkits, comparison of, 134–135 Portlet-market Model, 152 Portlets in PortalLab Grid Portlets, 141 normal portlets, 141 Portlets, 127, 131–138, 141–145, 147–153 Portlets, major concepts of, 131–132 ProActive Components, 214, 228 ProActive library, 227 ProActive, 207–209, 212, 214, 221–222, 227–228 Problem-Solving Environments (PSEs), 284–289, 292–295, 297, 299, 302, 304, 306, 309, 311–313 Programmable interface, 82 Programming environment in Grid application development, 231, 235 Programming formalism, 235 Problem solving environment (PSE) local respository, 196 search engine, 196 Process description, 192 Proteus, 200 PVFS Parallel File System, 245 PVM, 1, Python-G, 195 Q Qulitative comparison between CCA and NET, 185–187 Quantitative comparison of Java vs SIDL-based component, 187–188 Query answering, 199 R Refactor the code, 79 Refinement, 4, 13–14, 30, 168; see also Abstract State Machines Remote methods, 111, 140 Remote reference, methods of, 112 getValue, 112–113 setValue, 112 Remote referencing mechanism, classes of, RemoteReference, 112–113 343 RemoteValue, 112 Remotely, see getValue RemoteReference, 112 getValue, 112 setValue, 112 Replica Index, 92 Replica Location Service (RLS), 24 Replica Service, 91 Resource abstraction, 14, 14f; see also Abstract State Machines (ASM), refinement Resource allocation, 192 Resource mapping, 160 Re-use of legacy code, 185 Risks related to grid project, see Grid project, risks involved RMI references, 111 RSL script generator, 268 Rules for a Conventional Distributed System distributed multiagent ASM model, 7–9 Rules for a Grid access control mechanism (user abstraction), 11–13 initial state, 9–10 resource abstraction, 10–11 semantical definition for Grid, 13 S SAIB Project, 232, 244–245 Customer Relationship Management (CRM), 244 SAIB, 232, 244–245 ScaLAPACK, 248 scan Skeletons, 113–114 SCIRun, 179, 291 Search engines, 177 Scripting annotation, 236 Second generation grid portals, see Generation of Grid portals Security tag, 226 Self function, Semantic grid portals, 127 Semantic Grid services, 138 CoAKTinG, 138 Discovery Net, 138 Geodise, 138 myGrid, 138 344 Index Semantic Grid, 127, 137–139, 142, 144, 151 Semantic Grid, layered structures, 138–139 Semantics of virtualization in grids, 1, 16 Semantics, 1–3, 9, 11, 16, 38, 53, 56, 64, 105, 126–127, 143, 147–148, 163, 179, 190, 198, 207, 237–238, 240 Semaphore, 31 Sequential modules, 237 Ph1, 237 service aggregator/decomposer pattern, 82 service adapter pattern, 82 service execution pattern, 82 service migration pattern, 83 Service grid, 45 Service Level Agreement (SLA), 137 Service objects, 107 Service-oriented architecture (SOA), 81, 140, 127 Set of controllers, 213 SETI@home effort, 15 Shared memory Grid software architecture, 291 Shared memory, 77, 80, 100, 107–110, 115, 179, 243–244, 246, 285, 288, 290–293 Simple Object Access Protocol (SOAP), 76, 317 Single Program Multiple Data (SPMD), 47, 179 Singular Value Decomposition, 119 Skeleton, 99–107, 109, 114–115, 122–123, 235, 237; see also Algorithmic patterns “classical” skeletons, 236–238, 240 Skeletons, collection of, 102–103 Skeletons, implementation of, distributed memory, 108–110 shared-memory, 107–108 Skeletons, performance prediction functions, 115 dh skeleton, 115–116 SkIE, 237, 242 SOAP, 228 Software component design, 178 Software component model, 258 SPMD (Single Program, Multiple Data), 179 Standardization, 186 Standard RMI mechanism, 111 Standard RMI optimizations future-based RMI lazy RMI, 112 localized RMI, 112 Storage Resource Broker (SRB), 24 Structured parallel programming approach, 236 Structured parallelism, 236 Substitutabilaty, 178 Sun Grid Engine, 16 Sun ONE Portal Server, 134 SunFire 6800 processor, see Future-based RMI T Target machines, 100 Task code, 246 Task Mapping, 160 Task Metadata Repository (TMR), 264–267 TeleScience project, 321 Third generation grid portals, see Generation of Grid portals Three-tiered architecture, 128 Timing models, 117 Tridiagonal matrix, 122 Tridiagonal System Solver, case study, 121–122 TurboWorx Enterprise, 78 Turing machine, Type control, 186 U UddiPR, 142–145, 210 UltraSPARC–IIi 360MHz processor, see Future-based RMI UMS modules, 245 Unicore, 126 UNICORE, 193 Unified Modelling Language (UML), 21, 56 Universal Description Discovery and Integration Protocol (UDDI), 140, 317 Index Unix filters and the pipe composition model, 178 12 US-III+ 900MHz processor, see Future-based RMI User abstraction, 14, 14f; see also Abstract State Machines (ASM), refinement User Agent (UA), 145 user machines, 100 User Modeler Server (UMS), 244 V VEGA software modules, 264 VEGA-Visual Environment for Grid Applications, 258–266, 268–269, 271, 273, 275, 278, 281–282 Viador E-Portal, 134 Virtual concurrent machine, 5–6 Virtual Data Toolkit (VDT), 24 Virtual Network Computing (VNC), 285 Virtual nodes, 211–212, 214, 217–227 Virtual observatory, see Data–grid requirements Virtual Organizations (VOs), 75, 83–84, 126, 259 Virtual pool, Virtual processors, 241–242 Virtualization in grids, 1–2 Visual manipulation, 186 Visual Portal Composition Environment (VPCE), 144, see also Software architecture of Portlab 345 W Web application server, 131 Web Browser, 128–129, 132 Web Services Description Language (WSDL), 76, 317 Web services, 140 Workflow description model, 192 Work Flow models, 238 Workflow models for grid, 192–193 Workflow models in business community, 193–194 Workflow language, 228 WSFL, 228 Workflow model, 158 Wrap wrapper, 142, 181, 187, 190, 247, 288 wrapping, 112, 157, 177–179, 188, 190–191, 248 Wrapper codes, 288 WSFL (Web Service Flow Language), 194 X XCAT Science Portal, 127, 129–130, 206 XDR, 248 Xgrid, 77 XLR8, 77 XP practices, 80 Z Zero configuration technology, 77 .. .Grid Computing: Software Environments and Tools Jos´ C Cunha and Omer F Rana (Eds) e Grid Computing: Software Environments and Tools With 121 Figures Jos´ C Cunha... applications and PSEs Programming and development models, tools and environments Middleware, services and resource management Heterogeneous resources and infrastructure However, researchers in Grid computing... compose software components for Grid environments – Software engineering support for managing Grid applications – Software engineering lifecycle to support application development for Grid Environments

Ngày đăng: 17/02/2014, 20:20

Từ khóa liên quan

Mục lục

  • cover-image-large.jpg

  • front-matter.pdf

  • fulltext.pdf

  • fulltext_001.pdf

  • fulltext_002.pdf

  • fulltext_003.pdf

  • fulltext_004.pdf

  • fulltext_005.pdf

  • fulltext_006.pdf

  • fulltext_007.pdf

  • fulltext_008.pdf

  • fulltext_009.pdf

  • fulltext_010.pdf

  • fulltext_011.pdf

  • fulltext_012.pdf

  • fulltext_013.pdf

  • back-matter.pdf

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan