Patterns for parallel software design

著者

    • Ortega-Arjona, Jorge Luis

書誌事項

Patterns for parallel software design

Jorge Luis Ortega-Arjona

(Wiley series in software design patterns)

John Wiley, 2010

大学図書館所蔵 件 / 1

この図書・雑誌をさがす

注記

Includes bibliographical references (p. 397-407) and indexes

内容説明・目次

内容説明

Essential reading to understand patterns for parallel programming Software patterns have revolutionized the way we think about how software is designed, built, and documented, and the design of parallel software requires you to consider other particular design aspects and special skills. From clusters to supercomputers, success heavily depends on the design skills of software developers. Patterns for Parallel Software Design presents a pattern-oriented software architecture approach to parallel software design. This approach is not a design method in the classic sense, but a new way of managing and exploiting existing design knowledge for designing parallel programs. Moreover, such approaches enhance not only build-time properties of parallel systems, but also, and particularly, their run-time properties. Features known solutions in concurrent and distributed programming, applied to the development of parallel programs Provides architectural patterns that describe how to divide an algorithm and/or data to find a suitable partition and link it with a programming structure that allows for such a division Presents an architectural point of view and explains the development of parallel software Patterns for Parallel Software Design will give you the skills you need to develop parallel software.

目次

Foreword xiii Preface xvii About the Author xx Acknowledgements xx Contributor Biography xxii Chapter 1 Software Patterns 1 The Concept of a Software Pattern 2 Pattern Description, Organization and Categorization 8 Summary 10 Chapter 2 A Brief Introduction to Parallel Programming 11 Parallel Programming 12 Factors that Influence the Performance of a Parallel Program 12 Advantages and Disadvantages of Parallel Programming 23 Summary 25 Chapter 3 Architectural Patterns for Parallel Programming 27 Parallel Pipes and Filters 28 Parallel Layers 41 Communicating Sequential Elements 54 Manager-Workers 67 Shared Resource 79 Summary 93 Chapter 4 Design Patterns for Communication Components 95 Shared Variable Pipe 96 Multiple Local Call 103 Message Passing Pipe 114 Multiple Remote Call 124 Shared Variable Channel 136 Message Passing Channel 145 Local Rendezvous 156 Remote Rendezvous 165 Summary 173 Chapter 5 Some Idioms for Synchronization Mechanisms 175 Semaphore 177 Critical Region 185 Monitor 192 Message Passing 199 Remote Procedure Call 208 Summary 217 Chapter 6 Two Case Studies 219 Blood Vessel Segmentation 220 Adaptive 3D Grid-Based Eulerian (Gasdynamic) Program 249 Summary 297 Chapter 7 Parallel Software Design 299 A General Parallel Software Design Process 300 A Pattern-Based Parallel Software Design Method 302 Problem Analysis 305 Coordination Design - Architectural Patterns 315 Communication Design - Design Patterns 327 Detailed Design - Idioms 340 Implementation and Evaluation 349 Summary 357 Chapter 8 Parallel Software Architecture 359 A Definition of Parallel Software Architecture 359 Parallel Software Design 361 Summary 366 Chapter 9 Directions in Patterns for Parallel Programming 367 The Situation in Software Design 368 Design Experience and Techniques 369 A Tangible Description for Parallel Software Systems 371 The Need for Measurement in Parallel Software Design 372 Final Remarks 374 Glossary 377 Notations 393 References 397 Index of Patterns 409 Index 411

「Nielsen BookData」 より

関連文献: 1件中  1-1を表示

詳細情報

ページトップへ