Languages, Compilers and Run-time Environments for Distributed Memory Machines (eBook)
320 Seiten
Elsevier Science (Verlag)
978-1-4832-9538-1 (ISBN)
Papers presented within this volume cover a wide range of topics related to programming distributed memory machines. Distributed memory architectures, although having the potential to supply the very high levels of performance required to support future computing needs, present awkward programming problems. The major issue is to design methods which enable compilers to generate efficient distributed memory programs from relatively machine independent program specifications. This book is the compilation of papers describing a wide range of research efforts aimed at easing the task of programming distributed memory machines.
Front Cover 1
Languages, Compilers and Run-Time Environments for Distributed Memory Machines 4
Copyright Page 5
Table of Contents 8
PREFACE 6
Chapter 1. SUPERB: Experiences and Future Research 10
Abstract 10
1 Introduction 10
2 Program Splitting 12
3 Data Partitioning 12
4 Interprocedural Partitioning Analysis 13
5 Automatic Insertion of Masking and Communication 14
6 Optimization 15
7 System Structure 17
8 Current and Future Research 19
9 Conclusion 22
References 23
Chapter 2. Scientific Programming Languages for Distributed Memory Multiprocessors : Paradigms and Research Issues 26
Abstract 26
1. Introduction 26
2. An Emerging Paradigm for Distributed Parallel Languages 27
3. An Example of the Paradigm : The DINO Language 29
4. Research Issues Regarding Virtual Parallel Computers 33
5. Research Issues Regarding Distributed Data Structures 34
6. Research Issues Regarding Models of Parallel Computation 35
7. Additional Research Issues Regarding Communication Features 42
8. Research Issues Regarding Support for Complex Parallel Programs 43
9. References 43
Chapter 3. VIENNA FORTRAN - A FORTRAN LANGUAGE EXTENSION FOR DISTRIBUTED MEMORY MULTIPROCESSORS* 48
Abstract 48
1 Introduction 48
2 The Basic Features of Vienna Fortran 49
3 Examples 59
4 Related Work 67
5 Conclusions 69
Acknowledgments 69
References 69
Chapter 4. Compiler Parallelization of SIMPLE for a Distributed Memory Machine 72
Abstract 72
1 Introduction 72
2 What is SIMPLE? 74
3 Machine Model 75
4 Data Distribution 77
5 Code Generation 77
6 Results and Analysis 83
7 Summary 86
Acknowledgements 87
References 87
Chapter 5. Applications of the "Phase Abstractions" for Portable and Scalable Parallel Programming 88
Abstract 88
1 Introduction 88
2 Preliminaries 89
3 Jacobi Iteration Example 92
4 Specification of the Processes, Level X 92
5 Global Data Declaration 96
6 Phase Definitions, Y Level 97
7 Main Program Body, Æ Level 103
8 Commentary on the Program and Abstractions 105
9 Conclusions 109
10 Acknowledgments 109
References 110
Chapter 6. Nicke - C Extensions for Programming on Distributed-Memory Machines 112
Abstract 112
1 Introduction 112
2 Basic Constructs 115
3 Shared Variables 118
4 Impiementation 121
5 Conclusion 125
References 126
Chapter 7. A Static Performance Estimator in the Fortran D Programming System 128
Abstract 128
1. INTRODUCTION 128
2. DISTRIBUTED MEMORY PROGRAMMING MODEL 133
3. CHOOSING THE DATA DECOMPOSITION SCHEME 134
4. AN EXAMPLE 136
5. THE TRAINING SET METHOD OF PERFORMANCE ESTIMATION 138
6. THE PERFORMANCE ESTIMATION ALGORITHM 142
7. A PROTOTYPE IMPLEMENTATION 142
8. CONCLUSION AND FUTURE WORK 144
References 146
Chapter 8. Compiler Support for Machine-Independent Parallel Programming in Fortran D 148
Abstract 148
1 Introduction 148
2 Fortran D 152
3 Basic Compilation Strategy 156
4 Compilation of Whole Programs 164
5 Validation 173
6 Relationship to Other Research 174
7 Conclusions and Future Work 179
8 Acknowledgements 180
References 180
Chapter 9. PANDORE: A System to Manage Data Distribution 186
Abstract 186
1. INTRODUCTION 186
2. OVERVIEW OF THE PANDORE SYSTEM 187
3. THE PANDORE LANGUAGE 187
4. FURTHER WORK 192
References 193
Chapter 10. DISTRIBUTED MEMORY COMPILER METHODS FOR IRREGULAR PROBLEMS - DATA COPY REUSE AND RUNTIME PARTITIONING1 194
Abstract 194
1 Introduction 194
2 Overview 196
3 The PARTI Primitives 199
4 PARTI Compiler 213
5 Experimental Results 218
6 Conclusions 221
Acknowledgements 224
References 224
Chapter 11. Scheduling EPL Programs for Parallel Processing 230
1 Introduction 230
2 Basic Scheduling in EPL 232
3 Case Study: Horizontal Partitioning for the CM 234
4 Alignment Problem 236
5 Optimum Direction of Computation 240
6 Conclusion 244
References 245
Chapter 12. Parallelizing Programs for Distributed-Memory Machines using the Crystal System 246
Abstract 246
1 Introduction 246
2 Summary of Our Position 247
3 The Crystal Model and its Language and Metalanguage Features 248
4 The Crystal Compiler 252
5 Performance Results 254
6 Crystalizing FORTRAN 258
References 258
A Appendix 261
Chapter 13. Iteration Space Tiling for Distributed Memory Machines 264
Abstract 264
1 Introduction 264
2 Background 265
3 Issues in tiling of iteration spaces 267
4 Extreme vectors and deadlock free tiling 268
5 Computing the extreme vectors 269
6 Choosing deadlock-free tiles 270
7 Tile Space Graph (TSG) 273
8 Optimizing tile size 275
9 Discussion 277
References 277
Chapter 14. Systolic Loops 280
Abstract 280
1. SUMMARY 280
2. TARGET PROCESSOR ARCHITECTURE 281
3. EFFICIENT PARALLEL LOOPS 282
4. UNIFORM RECURRENCE EQUATIONS AND SYSTOLIC ARRAYS 285
5. SYSTOLIC ARRAYS, WAVEFRONTS AND LOOP SKEWING 287
6. SYSTOLIC LOOP PROCESSING 289
7. OTHER WORK 291
References 291
Chapter 15. An Optimizing C* Compiler for a Hypercube Multicomputer 294
Abstract 294
1 Introduction 294
2 The C* Programming Language 295
3 Design of the C* Compiler 298
4 The Optimizer 300
5 Supporting Program Analysis 302
6 Evaluating the Optimizer 303
7 Summary 306
References 306
Chapter 16. The Paragon Programming Paradigm and Distributed Memory Multicomputers 308
Abstract 308
1 Introduction 308
2 Programming in Paragon 310
3 Paragon Primitive Implementation 317
4 Conclusion 323
References 323
| Erscheint lt. Verlag | 28.6.2014 |
|---|---|
| Sprache | englisch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
| Mathematik / Informatik ► Informatik ► Software Entwicklung | |
| Informatik ► Theorie / Studium ► Künstliche Intelligenz / Robotik | |
| ISBN-10 | 1-4832-9538-9 / 1483295389 |
| ISBN-13 | 978-1-4832-9538-1 / 9781483295381 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
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 eine
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 eine
Geräteliste und zusätzliche Hinweise
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