Skip to main content

Regular versus irregular problems and algorithms

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 980))

Abstract

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 Stratagème 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).

These studies reveal some paradigms of parallel programming for irregular algorithms. Thus, in a second part we study a parallel programming model that takes into account these paradigms to free the user from task scheduling. An implementation, PAC++, is presented.

The work presented here was in part supported by the Stratagème project of the french Ministère de l'Enseignement Supérieur et de la Recherche.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggarwal, A.K. Chandra, and M. Snir. Communication complexity of PRAM's. Theoretical Computer Science, 71:3–28, 1990.

    Article  Google Scholar 

  2. A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: principles, techniques and tools. Addison-Wesley, 1986.

    Google Scholar 

  3. S. Aluru and J. Gustafson. Subtle issues of SIMD tree search. In Parallel Computing: Trends and Applications, Proceedings of PARCO'93, Grenoble France, pages 49–56. Elsevier Science, 1994.

    Google Scholar 

  4. J.L. Balcázar, J. Díaz, and J. Gabarró. Structural Complexity II. Springer-Verlag, 1990.

    Google Scholar 

  5. Benaïchouche, M. Résolution parallèle de l'Affectation Quadratique (QAP) et de la Couverture Minimale d'un Graphe (VCP) par la méthode Branch & Bound. In Proc. of FRANCORO, Rencontres Francophones de Recherche Opérationnelle, 1995.

    Google Scholar 

  6. G. Bernard, D. Steve, and M. Simatic. Placement et migration de processus dans les systèmes reépartis faiblement couplés. Technique et Science Informatiques, 10(5):375–392, 1991.

    Google Scholar 

  7. D.P. Bertsekas and J.N. Tsitsildis. Parallel and distributed computation: numerical methods. Prentice-Hall International, 1989.

    Google Scholar 

  8. Powley. C., C. Ferguson, and R. Korf. Depth-first heuristic search on a SIMD machine. Artificial Intelligence, 60, 1993.

    Google Scholar 

  9. T.L. Casavant and J.G. Khul. A taxonomy of scheduling in general-purpose distributed computing systems. IEEE Transactions on Software Engineering, (14):141–154, 1988.

    Google Scholar 

  10. M. Christaller. Athapsacan-0a sur PVM.3. Technical Report APACHE 11, IMAG Grenoble France, 1994.

    Google Scholar 

  11. R. Cole and U. Vishkin. Approximate parallel scheduling part I: the basic technique with applications to optimal parallel list ranking in logarithmic time. SIAM J. Comput., 17(1), 1988.

    Google Scholar 

  12. S.A. Cook. A taxonomy of problems with fast parallel algorithms. Inf. Control, 64:2–22, 1985.

    Article  Google Scholar 

  13. M. Cosnard. A comparison of parallel machine models from the point of view of scalabilgy. In proceedings of the 1rst Int. Conf. on Massively Parallel Computing Systems, Ischia, Italy, pages 258–267. IEEE Computer Society Press, May 1993.

    Google Scholar 

  14. G. Cybenko. Dynamic load-balancing for distributed memory multiprocessors. Journal of Parallel and Distributed Computing, 7(2), 1989.

    Google Scholar 

  15. F. Dehne and M. Gastaldo. A note on the load-balancing problem for coarse grained hypercube dictionary machines. Parallel Computing, 16, 1990.

    Google Scholar 

  16. J. Della Dora, C. Dicrescenzo, and D. Duval. About a new method for computing in algebraic number fields. In Proc. EUROCAL'85, LNCS 204, Springer Verlag, pages 289–290, 1985.

    Google Scholar 

  17. S. Dowaji and C. Roucairol. Influence of priority of tasks on load-balancing strategies for distributed branch-and-bound algorithms. In Proc. of IPPS'95, Workshop on Solving Irregular Problems on Distributed Memory Machines, Santa Barbara, USA, 1994.

    Google Scholar 

  18. T. Duboux, A. Ferreira, and M. Gastaldo. MIMD dictionary machine: from theory to practice. In CONPAR 92, Lyon, France, LNCS 634, September 1992.

    Google Scholar 

  19. D. Duval. Diverses questions relatives au calcul formel avec des nombres algébriques. Thèse de Doctorat d'Etat, Université de Grenoble, France, 1987.

    Google Scholar 

  20. H. El-Rewini and T.G. Lewis. Introduction to Parallel Computing. Springer-Verlag, 1990.

    Google Scholar 

  21. G. Authié et al. Algorithmes parallèles, analyse et conception I. Hermès, 1994.

    Google Scholar 

  22. G. Authié et al. Algorithmes parallèles, analyse et conception II. To appear, 1995.

    Google Scholar 

  23. Cung V.D. et al. Concurrent data structures and load-balancing strategies for parallel branch & bound/A* algorithms. In Third Annual Implementation Chalenge Workshop, DIMACS, New-Brunswick, USA, 1991.

    Google Scholar 

  24. D. Ferrari and S. Zhou. An empirical investigation of load indices for load-balancing applications. In Proc. Performance'87, 12th IFIP WG7.3 International Symposium on Computer Performance, Brussels Belgium. Elsevier Science Publishers, 1987.

    Google Scholar 

  25. C. Fonlupt. Distribution dynamique de données sur machines SIMD. PhD thesis, Université de Lille 1, France, 1994.

    Google Scholar 

  26. S. Fortune and J. Wyllie. Parallelism in random access machines. In Proceedings of the 10th ACM Symposium on Theory of Computing, pages 114–118, 1978.

    Google Scholar 

  27. A. Fujimoto, T. Tanaka, and K. Iwata. Accelerated ray tracing system. IEEE Comp. Graph. and App., Apr. 1986.

    Google Scholar 

  28. F.R. Gantmacher. Théorie des matrices. Dunod, Paris, France, 1966.

    Google Scholar 

  29. M. Gastaldo. Contribution a l'algorithmique parallèle des structures de données et des structures discrètes: machine dictionnaire et algorithmes pour les graphes. PhD thesis, ENS Lyon et UCB Lyon I, France, Dec. 1993.

    Google Scholar 

  30. J. von zur Gathen. Parallel arithmetic computations: a survey. In Proc. 12th Int. Symp. Math. Found. Comput. Sci., pages 93–112. LNCS 233, Springer Verlag, 1986.

    Google Scholar 

  31. T. Gautier. PAC++: presentation and experiments. In International Symposium on Symbolic and Algebraic Computation, Montreal, Canada — Poster session, July 1995.

    Google Scholar 

  32. T. Gautier, F. Guinand, J.L. Roch, and A. Vermeerbergen. Régulation de charge et adaptation de grain: Athapascan. Preprint IMAG Grenoble France, (Journées de Recherche sur le Placement Dynamique et la Régulation de Charge, GDR PRS, Mai 1995).

    Google Scholar 

  33. T. Gautier and J.L. Roch. PAC++ system and parallel algebraic numbers computation. In PASCO'94, Hagenberg/Linz Austria, Sept. 1994.

    Google Scholar 

  34. T. Gautier, J.L. Roch, and G. Villard. PAC++ v2.0: user and developer guide. Technical Report APACHE 14, IMAG Grenoble France, 1994.

    Google Scholar 

  35. K.O. Geddes, R. Czapor, and G. Labahn. Algorithms for computer algebra. Kluwer Academic Press, 1992.

    Google Scholar 

  36. A. Gerasoulis, J. Jiao, and T. Yang. Scheduling of structured and unstructured computation. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, to appear, 1995.

    Google Scholar 

  37. A. Gerasoulis and T. Yang. A comparison of clustering heuristics for scheduling DAG's on multiprocessors. J. Par. Distr. Comp., Dec. 1992.

    Google Scholar 

  38. A. Gibbons and W. Rytter. Efficient parallel algrithms. Cambridge University Press, 1988.

    Google Scholar 

  39. P.B. Gibbons. A more practical PRAM model. In Proceedings of the 1989 ACM Symposium on Parallel Algorithms and Architectures, 1989.

    Google Scholar 

  40. A. Gottlieb and C.P. Kruskal. Complexity results for permuting data and other computations on parallel processors. J. ACM, 31:193–209, 1984.

    Article  Google Scholar 

  41. N. Jacobson. Basic Algebra I. W.H. Freeman and Company, 1974.

    Google Scholar 

  42. J. Jájá. An introduction to parallel Algorithms. Addison-Wesley, 1992.

    Google Scholar 

  43. R.M. Karp and V. Ramachandran. Parallel algorithms for shared-memory machines. In J. van Leuwen, editor, Handbook of Theoretical Computer Science Vol. A, pages 869–941. North-Holland, 1990.

    Google Scholar 

  44. C.P. Kruskal, T. Madej, and L. Rudolph. Parallel prefix on fully connected direct connection machine. In Proc. Int. Conf. on Parallel Processing, Illinois USA, 1986.

    Google Scholar 

  45. C.P. Kruskal, L. Rudolph, and M. Snir. A complexity theory of efficient parallel algorithms. Theoretical Computer Science, (71):95–132, 1990.

    Article  Google Scholar 

  46. T.H. Lai and S. Sahni. Anomialies in parallel branch-and-bound algorithms. Communications of the ACM, 27(6):594–602, 1984.

    Article  Google Scholar 

  47. B. Lisper. Detecting static algorithms by partial evaluation. In Proc. ACM Sigplan Symposium on Partial Evaluation and Semi-Based Program Manipulation, 1991.

    Google Scholar 

  48. B. Mans and C. Roucairol. Parallel branch & bound for discrete optimization problems. In Workshop on Parallel Processing of Discret Optimization Problems, Mineapolis, 1991.

    Google Scholar 

  49. S. Miguet and Y. Robert. Elastic load-balancing for image processing algorithms. In Parallel Computation H.P. Zima, editor, 1rst International ACPC Conference, Salzburg, Austria, 1991.

    Google Scholar 

  50. C. Moler, 1993. Communication about Mathlab test example gallery(3).

    Google Scholar 

  51. K. Nemoto and T. Omachi. An adaptative subdivision by sliding boundary surfaces for fast ray tracing. Graphics Interface, 1986.

    Google Scholar 

  52. M. Norman and P. Thanish. Models of machines and computation for mapping in multicomputers. ACM Computing Surveys, sep. 1993.

    Google Scholar 

  53. D. Peleg and E. Upfal. The token distribution problem. In Proc. of the 27th Annual IEEE Symposium on Foundations of Computer Science, pages 418–427, 1986.

    Google Scholar 

  54. J.M. Pierson. A dynamic parallel implementation of a physically based particles models. In G. Hégron and O. Fahlander, editors, Fifth Eurographics Workshop on Animation and Simulation, Oslo Norway, 1994.

    Google Scholar 

  55. B. Plateau and al. Présentation d'APACHE. Technical Report APACHE 1, IMAG Grenoble France, 1993.

    Google Scholar 

  56. A. Ranade. A framework for analyzing locality and portability issues in parallel computing. In Parallel Architectures and their Efficient Use, LNCS 678, pages 185–194, 1993.

    Google Scholar 

  57. V.N. Rao and V. Kumar. Superlinear speed-up in ordered depth-first search. In Proc. 6th Distributed Memory Computing Conference, 1991.

    Google Scholar 

  58. J.L. Roch, F. Siebert, P. Sénéchaud, and G. Villard. Computer Algebra on a MIMD machine. ISSAC'88, LNCS 358 and in SIGSAM Bulletin, ACM, 23/11, p. 16–32, 1989.

    Google Scholar 

  59. J.L. Roch, A. Vermeerbergen, and G. Villard. Cost prediction for load-balancing: application to algebraic computations. In CONPAR 92, Lyon, France, LNCS 634, September 1992.

    Google Scholar 

  60. J.L. Roch, A. Vermeerbergen, and G. Villard. A new load-prediction scheme based on algorithmic cost functions. In CONPAR 94, Linz Austria, LNCS 854, Sep. 1994.

    Google Scholar 

  61. J.L. Roch and G. Villard. Fast parallel computation of the Jordan normal form of matrices. Parallel Processing Letters. To appear.

    Google Scholar 

  62. J.L. Roch and G. Villard. Parallel computations with algebraic numbers, a case study: Jordan normal form of matrices. In Parallel Architectures and Languages Europe 94, Athens Greece, LNCS 817, July 1994.

    Google Scholar 

  63. V. Sarkar. Partitioning and Scheduling Parallel Programs for Multiprocessors. Pitman, 1989.

    Google Scholar 

  64. M. Smith and E. Renshaw. Parallel-prefix remapping for efficient data-parallel implementation of unbalanced simulations. In Parallel Computing: Trends and Applications, Proceedings of PARCO'93, Grenoble France, pages 215–222. Elsevier Science, 1994.

    Google Scholar 

  65. M. Snir. Scalable parallel computers and scalable parallel codes: from theory to practice. In Parallel Architectures and their Efficient Use, LNCS 678, pages 176–184, 1993.

    Google Scholar 

  66. R. Subramanian and I.D. Scherson. An analysis of diffusive load-balancing, 1995. Preprint-University of California, Irvine, USA.

    Google Scholar 

  67. L. Valiant. A bridging model for parallel computation. Communication ACM, 33:103–111, 1990.

    Article  Google Scholar 

  68. L. Valiant. General purpose parallel architectures. In J. van Leuwen, editor, Handbook of Theoretical Computer Science Vol. A, pages 944–971. North-Holland, 1990.

    Google Scholar 

  69. A. Vermeerbergen. Les poly-algorithmes et la prévision de coûts pour une expression portable et extensible du parallélisme. In L. Bougé, editor, Actes de RenPar'6, ENS Lyon, France, pages 51–54, 1994.

    Google Scholar 

  70. G. Villard. Parallel general solution of rational linear systems using p-adic expansions. In IFIP WG 10.3 Working Conference on Parallel Processing, Pisa Italy, 1988.

    Google Scholar 

  71. M.-Y. Wu and D. D. Gajski. Hypertool: a programming aid for message-passing systems. IEEE Trans. Soft. Eng., 1(3):330–343, 1990.

    Google Scholar 

  72. S. Zhou. A trace-driven simulation study of dynamic load-balancing. IEEE Trans. on Software Engineering, 14(9), 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Afonso Ferreira José Rolim

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gautier, T., Roch, J.L., Villard, G. (1995). Regular versus irregular problems and algorithms. In: Ferreira, A., Rolim, J. (eds) Parallel Algorithms for Irregularly Structured Problems. IRREGULAR 1995. Lecture Notes in Computer Science, vol 980. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60321-2_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-60321-2_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60321-4

  • Online ISBN: 978-3-540-44915-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics