E-Book, Englisch, Band Volume 3, 320 Seiten, Web PDF
Saltz / Mehrotra Languages, Compilers and Run-time Environments for Distributed Memory Machines
1. Auflage 2014
ISBN: 978-1-4832-9538-1
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, Band Volume 3, 320 Seiten, Web PDF
Reihe: Advances in Parallel Computing
ISBN: 978-1-4832-9538-1
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
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.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Languages, Compilers and Run-Time Environments for Distributed Memory Machines;4
3;Copyright Page;5
4;Table of Contents;8
5;PREFACE;6
6;Chapter 1. SUPERB: Experiences and Future Research;10
6.1;Abstract;10
6.2;1 Introduction;10
6.3;2 Program Splitting;12
6.4;3 Data Partitioning;12
6.5;4 Interprocedural Partitioning Analysis;13
6.6;5 Automatic Insertion of Masking and Communication;14
6.7;6 Optimization;15
6.8;7 System Structure;17
6.9;8 Current and Future Research;19
6.10;9 Conclusion;22
6.11;References;23
7;Chapter 2. Scientific Programming Languages for Distributed Memory Multiprocessors : Paradigms and Research Issues;26
7.1;Abstract;26
7.2;1. Introduction;26
7.3;2. An Emerging Paradigm for Distributed Parallel Languages;27
7.4;3. An Example of the Paradigm : The DINO Language;29
7.5;4. Research Issues Regarding Virtual Parallel Computers;33
7.6;5. Research Issues Regarding Distributed Data Structures;34
7.7;6. Research Issues Regarding Models of Parallel Computation;35
7.8;7. Additional Research Issues Regarding Communication Features;42
7.9;8. Research Issues Regarding Support for Complex Parallel Programs;43
7.10;9. References;43
8;Chapter 3. VIENNA FORTRAN - A FORTRAN LANGUAGE EXTENSION FOR DISTRIBUTED MEMORY MULTIPROCESSORS*;48
8.1;Abstract;48
8.2;1 Introduction;48
8.3;2 The Basic Features of Vienna Fortran;49
8.4;3 Examples;59
8.5;4 Related Work;67
8.6;5 Conclusions;69
8.7;Acknowledgments;69
8.8;References;69
9;Chapter 4. Compiler Parallelization of SIMPLE for a Distributed Memory Machine;72
9.1;Abstract;72
9.2;1 Introduction;72
9.3;2 What is SIMPLE?;74
9.4;3 Machine Model;75
9.5;4 Data Distribution;77
9.6;5 Code Generation;77
9.7;6 Results and Analysis;83
9.8;7 Summary;86
9.9;Acknowledgements;87
9.10;References;87
10;Chapter 5. Applications of the "Phase Abstractions" for Portable and Scalable Parallel Programming;88
10.1;Abstract;88
10.2;1 Introduction;88
10.3;2 Preliminaries;89
10.4;3 Jacobi Iteration Example;92
10.5;4 Specification of the Processes, Level X;92
10.6;5 Global Data Declaration;96
10.7;6 Phase Definitions, Y Level;97
10.8;7 Main Program Body, Æ Level;103
10.9;8 Commentary on the Program and Abstractions;105
10.10;9 Conclusions;109
10.11;10 Acknowledgments;109
10.12;References;110
11;Chapter 6. Nicke - C Extensions for Programming on Distributed-Memory Machines;112
11.1;Abstract;112
11.2;1 Introduction;112
11.3;2 Basic Constructs;115
11.4;3 Shared Variables;118
11.5;4 Impiementation;121
11.6;5 Conclusion;125
11.7;References;126
12;Chapter 7. A Static Performance Estimator in the Fortran D Programming System;128
12.1;Abstract;128
12.2;1. INTRODUCTION;128
12.3;2. DISTRIBUTED MEMORY PROGRAMMING MODEL;133
12.4;3. CHOOSING THE DATA DECOMPOSITION SCHEME;134
12.5;4. AN EXAMPLE;136
12.6;5. THE TRAINING SET METHOD OF PERFORMANCE ESTIMATION;138
12.7;6. THE PERFORMANCE ESTIMATION ALGORITHM;142
12.8;7. A PROTOTYPE IMPLEMENTATION;142
12.9;8. CONCLUSION AND FUTURE WORK;144
12.10;References;146
13;Chapter 8. Compiler Support for Machine-Independent Parallel Programming in Fortran D;148
13.1;Abstract;148
13.2;1 Introduction;148
13.3;2 Fortran D;152
13.4;3 Basic Compilation Strategy;156
13.5;4 Compilation of Whole Programs;164
13.6;5 Validation;173
13.7;6 Relationship to Other Research;174
13.8;7 Conclusions and Future Work;179
13.9;8 Acknowledgements;180
13.10;References;180
14;Chapter 9. PANDORE: A System to Manage Data Distribution;186
14.1;Abstract;186
14.2;1. INTRODUCTION;186
14.3;2. OVERVIEW OF THE PANDORE SYSTEM;187
14.4;3. THE PANDORE LANGUAGE;187
14.5;4. FURTHER WORK;192
14.6;References;193
15;Chapter 10. DISTRIBUTED MEMORY COMPILER METHODS FOR IRREGULAR PROBLEMS - DATA COPY REUSE AND RUNTIME PARTITIONING1;194
15.1;Abstract;194
15.2;1 Introduction;194
15.3;2 Overview;196
15.4;3 The PARTI Primitives;199
15.5;4 PARTI Compiler;213
15.6;5 Experimental Results;218
15.7;6 Conclusions;221
15.8;Acknowledgements;224
15.9;References;224
16;Chapter 11. Scheduling EPL Programs for Parallel Processing;230
16.1;1 Introduction;230
16.2;2 Basic Scheduling in EPL;232
16.3;3 Case Study: Horizontal Partitioning for the CM;234
16.4;4 Alignment Problem;236
16.5;5 Optimum Direction of Computation;240
16.6;6 Conclusion;244
16.7;References;245
17;Chapter 12. Parallelizing Programs for Distributed-Memory Machines using the Crystal System;246
17.1;Abstract;246
17.2;1 Introduction;246
17.3;2 Summary of Our Position;247
17.4;3 The Crystal Model and its Language and Metalanguage Features;248
17.5;4 The Crystal Compiler;252
17.6;5 Performance Results;254
17.7;6 Crystalizing FORTRAN;258
17.8;References;258
17.9;A Appendix;261
18;Chapter 13. Iteration Space Tiling for Distributed Memory Machines;264
18.1;Abstract;264
18.2;1 Introduction;264
18.3;2 Background;265
18.4;3 Issues in tiling of iteration spaces;267
18.5;4 Extreme vectors and deadlock free tiling;268
18.6;5 Computing the extreme vectors;269
18.7;6 Choosing deadlock-free tiles;270
18.8;7 Tile Space Graph (TSG);273
18.9;8 Optimizing tile size;275
18.10;9 Discussion;277
18.11;References;277
19;Chapter 14. Systolic Loops;280
19.1;Abstract;280
19.2;1. SUMMARY;280
19.3;2. TARGET PROCESSOR ARCHITECTURE;281
19.4;3. EFFICIENT PARALLEL LOOPS;282
19.5;4. UNIFORM RECURRENCE EQUATIONS AND SYSTOLIC ARRAYS;285
19.6;5. SYSTOLIC ARRAYS, WAVEFRONTS AND LOOP SKEWING;287
19.7;6. SYSTOLIC LOOP PROCESSING;289
19.8;7. OTHER WORK;291
19.9;References;291
20;Chapter 15. An Optimizing C* Compiler for a Hypercube Multicomputer;294
20.1;Abstract;294
20.2;1 Introduction;294
20.3;2 The C* Programming Language;295
20.4;3 Design of the C* Compiler;298
20.5;4 The Optimizer;300
20.6;5 Supporting Program Analysis;302
20.7;6 Evaluating the Optimizer;303
20.8;7 Summary;306
20.9;References;306
21;Chapter 16. The Paragon Programming Paradigm and Distributed Memory Multicomputers;308
21.1;Abstract;308
21.2;1 Introduction;308
21.3;2 Programming in Paragon;310
21.4;3 Paragon Primitive Implementation;317
21.5;4 Conclusion;323
21.6;References;323