Regular versus Irregular Problems and Algorithms

Viewing a parallel execution as a set of tasks that execute on a set of processors, a main problem is to find a schedule of the tasks that provides an efficient execution. This usually leads to divide algorithms into two classes: static and dynamic algorithms, depending on whether the schedule depends on the indata or not. To improve this rough classification we study, on some key applications of the Stratageme project [21, 22], the different ways schedules can be obtained and the associated overheads. This leads us to propose a classification based on regularity criteria i.e. measures of how much an algorithm is regular (or irregular). For a given algorithm, this expresses more the quality of the schedules that can be found (irregular versus regular) as opposed to the way the schedules are obtained (dynamic versus static).

[1]  Eli Upfal,et al.  The token distribution problem , 1989, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[2]  Marc Snir Scalable Parallel Computers and Scalable Parallel Codes: From Theory to Practice , 1992, Heinz Nixdorf Symposium.

[3]  Stephen A. Cook,et al.  A Taxonomy of Problems with Fast Parallel Algorithms , 1985, Inf. Control..

[4]  Larry Rudolph,et al.  A Complexity Theory of Efficient Parallel Algorithms , 1990, Theor. Comput. Sci..

[5]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[6]  D. Evelyne Thèse de doctorat d'Etat , 1988 .

[7]  Sartaj Sahni,et al.  Anomalies in Parallel Branch-and-Bound Algorithms , 1984 .

[8]  Gilles Villard,et al.  Parallel Computations with Algebraic Numbers - A Case Study: Jordan Normal Form of Matrices , 1994, PARLE.

[9]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[10]  Richard E. Korf,et al.  Depth-First Heuristic Search on a SIMD Machine , 1993, Artif. Intell..

[11]  N. Jacobson,et al.  Basic Algebra I , 1976 .

[12]  Gilles Villard,et al.  Fast Parallel Computation of the Jordan Normal Form of Matrices , 1996, Parallel Process. Lett..

[13]  K Nemoto,et al.  An adaptive subdivision by sliding boundary surfaces for fast ray tracing , 1986 .

[14]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[15]  George Cybenko,et al.  Dynamic Load Balancing for Distributed Memory Multiprocessors , 1989, J. Parallel Distributed Comput..

[16]  Guy Bernard,et al.  Placement et migration de processus dans les systèmes répartis faiblement couplés , 1991 .

[17]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[18]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[19]  Kansei Iwata,et al.  Accelerated Ray Tracing , 1985 .

[20]  Gilles Villard,et al.  Cost Prediction for Load Balancing: Application to Algebraic Computations , 1992, CONPAR.

[21]  Allan Gottlieb,et al.  Complexity Results for Permuting Data and Other Computations on Parallel Processors , 1984, JACM.

[22]  Srinivas Aluru,et al.  Subtle Issues of SIMD Tree Search , 1993, International Conference on Parallel Computing.

[23]  Dominique Duval,et al.  About a New Method for Computing in Algebraic Number Fields , 1985, European Conference on Computer Algebra.

[24]  Joachim von zur Gathen,et al.  Parallel Arithmetic Computations: A Survey , 1986, MFCS.

[25]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[26]  Tao Yang,et al.  A Comparison of Clustering Heuristics for Scheduling Directed Acycle Graphs on Multiprocessors , 1992, J. Parallel Distributed Comput..

[27]  M. Smith,et al.  Parallel-Prefix Remapping for Efficient Data-Parallel Implementation of Unbalanced Simulations , 1993, PARCO.

[28]  Takayuki Tanaka,et al.  ARTS: Accelerated Ray-Tracing System , 1986, IEEE Computer Graphics and Applications.

[29]  Larry Rudolph,et al.  Parallel Prefix on Fully Connected Direct Connection Machines , 1986, ICPP.

[30]  Domenico Ferrari,et al.  An Empirical Investigation of Load Indices for Load Balancing Applications , 1987, Performance.

[31]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[32]  Frank Dehne,et al.  A Note on the Load Balancing Problem for Coarse Grained Hypercube Dictionary Machines , 1990, CONPAR.

[33]  Richard Cole,et al.  Approximate Parallel Scheduling. Part I: The Basic Technique with Applications to Optimal Parallel List Ranking in Logarithmic Time , 1988, SIAM J. Comput..

[34]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[35]  Michel Cosnard,et al.  A comparison of parallel machine models from the point of view of scalability , 1994, Proceedings of the First International Conference on Massively Parallel Computing Systems (MPCS) The Challenges of General-Purpose and Special-Purpose Computing.

[36]  Gilles Villard,et al.  A New Load-Prediction Scheme Based on Algorithmic Cost Functions , 1994, CONPAR.

[37]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[38]  Isaac D. Scherson,et al.  An analysis of diffusive load-balancing , 1994, SPAA '94.

[39]  F. Gantmakher,et al.  Théorie des matrices , 1990 .

[40]  Afonso Ferreira,et al.  MIMD Dictionary Machines: From Theory to Practice , 1992, CONPAR.

[41]  Gilles Villard,et al.  Computer algebra on MIMD machine , 1988, SIGS.

[42]  Michel Gastaldo Contribution à l'algorithmique parallèle des structures de données et des structures discrètes : machine dictionnaire et algorithmes pour les graphes , 1993 .

[43]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[44]  José L. Balcázar,et al.  Structural Complexity II , 2012, EATCS.

[45]  S. Zhou,et al.  A Trace-Driven Simulation Study of Dynamic Load Balancing , 1987, IEEE Trans. Software Eng..

[46]  Michael G. Norman,et al.  Models of machines and computation for mapping in multicomputers , 1993, CSUR.

[47]  Yves Robert,et al.  Elastic Load-Balancing for Image Processing Algorithms , 1991, ACPC.

[48]  Hesham El-Rewini,et al.  Introduction to Parallel Computing , 1992 .

[49]  Phillip B. Gibbons A more practical PRAM model , 1989, SPAA '89.

[50]  Björn Lisper Detecting static algorithms by partial evaluation , 1991 .

[51]  Cyril Fonlupt Distribution dynamique de données sur machine SIMD , 1994 .

[52]  Abhiram G. Ranade,et al.  A Framework for Analyzing Locality and Portability Issues in Parallel Computing , 1992, Heinz Nixdorf Symposium.

[53]  John N. Tsitsiklis,et al.  Parallel and distributed computation , 1989 .

[54]  Alok Aggarwal,et al.  Communication Complexity of PRAMs , 1990, Theor. Comput. Sci..

[55]  Tao Yang,et al.  Scheduling Of Structured and Unstructured computation , 1994, Interconnection Networks and Mapping and Scheduling Parallel Computations.

[56]  Keith O. Geddes,et al.  Algorithms for computer algebra , 1992 .

[57]  Salah Dowaji,et al.  Concurrent data structures and load balancing strategies for parallel branch-and-bound/A* algorithms , 1994, Parallel Algorithms.