ebook img

Tools and Environments for Parallel and Distributed Systems PDF

307 Pages·1996·19.758 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Tools and Environments for Parallel and Distributed Systems

TOOLS AND ENVIRONMENTS FOR PARALLEL AND DISTRIBUTED SYSTEMS The Kluwer International Series in Software Engineering Series Editor Victor R. Basili University of Maryland College Park, MD 20742 Also in the Series: FORMAL SPECIFICAn ON TECHNIQUES FOR ENGINEERING MODULAR C PROGRAMS by TAN Yang Meng The Kluwer International Series in Software Engineering addresses the following goals: * To coherently and consistently present important research topics and their application(s). * To present evolved concepts in one place as a coherent whole, updating early versions of the ideas and notations. * To provide publications which will be used as the ultimate reference on the topic by experts in the area. With the dynamic growth evident in this field and the need to communicate findings, this series provides a forum for information targeted toward Software Engineers. TOOLS AND ENVIRONMENTS FOR PARALLEL AND DISTRIBUTED SYSTEMS Edited by AmrZaky Naval Postgraduate School Monterey, Califomia, USA Ted Lewis Naval Postgraduate School Monterey, Califomia, USA SPRINGER SCIENCE+BUSINESS MEDIA. LLC ISBN 978-1-4613-6849-6 ISBN 978-1-4615-4123-3 (eBook) DOI 10.1007/978-1-4615-4123-3 Library of Congress Cataloging-in-Publication Data A C.I.P. Catalogue record for this book is available from the Library of Congress. Copyright @ 1996 by Springer Science+Business Media New Y ork Originally published by Kluwer Academic Publishers in 1996 Softcover reprint ofthe hardcover 1st edition 1996 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photo-copying, recording, or othelWise, without the prior written permission of the publisher, Springer Science+Business Media, LLC. Printed on acid-free paper. ero Mom, 'Eiman, 9{egatf, anti Zeyatf .9Lmr ZaRy eroMo{{y eretfLewis TABLE OF CONTENTS PREFACE ix OVERVIEW 1 PART I -DEVELOPMENT TOOLS AND ENVIRONMENTS Introduction 5 1. A Visual Approach to Distributed Programming Keng Ng, Jeff Kramer, Jeff Magee and Naranker Dulay 7 2. ANNAl: An Integrated Parallel Programming Environment for Multicomputers Christian Clemenfon, Akiyoshi Endo, Josef Fritscher, Andreas Maller, Roland Rahl and Brian Wylie 33 3. Bulk Synchronous Parallel Computing -A Paradigm for Transportable Software Thomas Cheatham, Amr Fahmy, Dan Stefanescu and Leslie Valiant 61 4. Performance and Scalability Issues in the Design and Implementation of A Parallel Programming Environment David Feldcamp and Alan Wagner 77 PART 11-PERFORMANCE PREDICTION AND ANALYSIS Introduction 103 5. Performance Prediction of Dynamic Structures with N-MAP Alois Ferscha and James Johnson 105 6. Performance Analysis of Large Scale Parallel Applications Olav Hansen 129 7. Efficiency Evaluation of PVM 2.x, PVM 3.x, P4, EXPRESS and LINDA on A Workstation Cluster Using the NAS Parallel Benchmarks Gabrielle Kotsis and Florian Sukup 149 Vlll m . PART DEBUGGING TOOLS Introduction 173 8. Accomodating Heterogeneity in A Debugger - A Client-Server Approach Robert Hood and Doreen Cheng 175 9. Efficient Detection of Unstable Global Conditions Based on Monotonic Channel Predicates Vijay Garg, Craig Chase, J. Roger Mitchell, Richard Kilgore 195 PART IV . LESS TRADITIONAL APPROACHES Introduction 227 to. A Formal Semantics and An Interactive Environment for SISAL Isabelle Attali, Denis Caromel and Andrew Wendelbom 229 11. Parallel High-Performance Matrix Computations in the MaTRiX++ System Tim Collins and James Browne 257 12. Transparent Object Distribution and Remote Inheritance Thomas Wolff 279 INDEX 305 Preface This collection of papers represents an interesting sample of the cmrent research in progrnm development tools for parallel and distributed processing. The most impor t.'Ult feature about this collection is its versatility. Parallel and distributed software has not reached yet a st.'lge where a single architecture, language or computing paradigm can claim some sort of dominance. Hence, the need exists for propagating all sorts of serious ideas, studies, and designs. The papers in this volume provide handpicked samples of sound ideas, laborious studies, and elaborate designs. The papers of this collection are based on those presented in the "Program Develop ment Tools and Environments for Parallel and Distributed Systems" minitrack of the 28'th Hawaii International Conference on System Sciences (HICSS 28). Space limi t.'ltions and the synergy generated by the discussions that took place in the 'Birds of the Feather' session of the above-mentioned minitrack encouraged us to seek a medium to make a longer updated version of this collection available to the interested researchers and practitioners in the area of software development for parallel and distributed sys tems. We make no claim about the completeness of this collection: several huge vol umes would be needed to account for every tool or environment that is currently being developed. Also, we make no apology about the concentration of the papers in one sub-area or ,Ulother: Our only criterion was qUality. To break this set of papers into groups was not an easy task, yet we undertook it and we hope that it will be helpful to the reader. The features along which one can classify these papers are by no means unique. We strived not to overclassify the papers, and settled on dividing them into four groups according to their function. Since several papers attack more than one issue at a time, we placed these in the group which we felt (in our subjective opinion) would describe their most significant purpose. We added a book overview to tie in the papers together, and preceded every group of papers by a brief summary. We hope that the research embodied in this collection will be informative and thought provoking for the readers. We hope that you will enjoy it as much as we did. Acknowlegments We want to thank the authors who made this collection possible. We also want to thank Dr. Victor Basili, the series editor, for his useful comments which tremendously improved the present.'ltion. Scott Delman of Kluwer Academic Publishers was always patient and helpful. Last but not the least, we thank our student Joao Tavares for his help with preparing the index. Amr Zaky, Ted Lewis Monterey, California TOOLS AND ENVIRONMENTS FOR PARALLEL AND DISTRIBUTED SYSTEMS Overview Developing correct and efficient software is far more complex for parallel and distrib uted 1 (P/D) systems than it is for sequential processors. Some of the reason for this added complexity are: Lack of a universally acceptable P!D programming paradigm: There is not a single class of parallel architectures that is efficient for the majority of applica tions. There is not a single programming language that can be looked at as a de facto standard. A potential software developer will have to choose between using an applicative programming language (e.g. SISAL) promising clean semantics and consequently a shorter development time, or a more traditional imperative language (e.g. HPF) where concurrency can be expressed by annota tions or can be extracted by tools. Assuming the latter choice, the developer will have to decide whether to use a shared-memory or a message-passing program ming model, and the choice tree keeps forking (e.g. data-parallel versus large grained dataflow). The scene may be further complicated by trends that can be deemed useful in designing sequential software and hence deserve a trial at the parallel arena such as object-oriented programming, and the use of application specific software design tool-kits. And while certain solutions might eventually be deemed inefficient, yet the lack of a universal paradigm will still exist. Hence arises the need for tools (for all paradigms proven promising) that can shorten the development cycle and/or can predict the performance of the developed soft ware. Finally, it is worth mentioning that the one computing paradigm with loyal followers- vector processing- owes its hold on a sizable number of devel opers with interests in physical and mathematical sciences to the mathematical heritage of differential equations and linear algebra more than its does owe to parallel programming technology. 2 The criticality of achieving high performance: There are several approaches to defining performance, but informally all of them are concerned with execution speed. The great majority of P/D software developers are interested in having their applications be responsive or fast in some sense or the other3. In fact, the same could be said about sequential software: developers have tried to improve 1. We use the term "distributed systems" to refer to an integrated applica tion decomposed into components rather than a set of independent appl cations that interact together for one perpose or the other. 2. However, no one can deny that vectorizing compilers and mathematical libraries (e.g. LAPACK) contribute to the success story.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.