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.
References
A. Aggarwal, A.K. Chandra, and M. Snir. Communication complexity of PRAM's. Theoretical Computer Science, 71:3–28, 1990.
A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: principles, techniques and tools. Addison-Wesley, 1986.
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.
J.L. Balcázar, J. Díaz, and J. Gabarró. Structural Complexity II. Springer-Verlag, 1990.
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.
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.
D.P. Bertsekas and J.N. Tsitsildis. Parallel and distributed computation: numerical methods. Prentice-Hall International, 1989.
Powley. C., C. Ferguson, and R. Korf. Depth-first heuristic search on a SIMD machine. Artificial Intelligence, 60, 1993.
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.
M. Christaller. Athapsacan-0a sur PVM.3. Technical Report APACHE 11, IMAG Grenoble France, 1994.
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.
S.A. Cook. A taxonomy of problems with fast parallel algorithms. Inf. Control, 64:2–22, 1985.
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.
G. Cybenko. Dynamic load-balancing for distributed memory multiprocessors. Journal of Parallel and Distributed Computing, 7(2), 1989.
F. Dehne and M. Gastaldo. A note on the load-balancing problem for coarse grained hypercube dictionary machines. Parallel Computing, 16, 1990.
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.
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.
T. Duboux, A. Ferreira, and M. Gastaldo. MIMD dictionary machine: from theory to practice. In CONPAR 92, Lyon, France, LNCS 634, September 1992.
D. Duval. Diverses questions relatives au calcul formel avec des nombres algébriques. Thèse de Doctorat d'Etat, Université de Grenoble, France, 1987.
H. El-Rewini and T.G. Lewis. Introduction to Parallel Computing. Springer-Verlag, 1990.
G. Authié et al. Algorithmes parallèles, analyse et conception I. Hermès, 1994.
G. Authié et al. Algorithmes parallèles, analyse et conception II. To appear, 1995.
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.
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.
C. Fonlupt. Distribution dynamique de données sur machines SIMD. PhD thesis, Université de Lille 1, France, 1994.
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.
A. Fujimoto, T. Tanaka, and K. Iwata. Accelerated ray tracing system. IEEE Comp. Graph. and App., Apr. 1986.
F.R. Gantmacher. Théorie des matrices. Dunod, Paris, France, 1966.
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.
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.
T. Gautier. PAC++: presentation and experiments. In International Symposium on Symbolic and Algebraic Computation, Montreal, Canada — Poster session, July 1995.
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).
T. Gautier and J.L. Roch. PAC++ system and parallel algebraic numbers computation. In PASCO'94, Hagenberg/Linz Austria, Sept. 1994.
T. Gautier, J.L. Roch, and G. Villard. PAC++ v2.0: user and developer guide. Technical Report APACHE 14, IMAG Grenoble France, 1994.
K.O. Geddes, R. Czapor, and G. Labahn. Algorithms for computer algebra. Kluwer Academic Press, 1992.
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.
A. Gerasoulis and T. Yang. A comparison of clustering heuristics for scheduling DAG's on multiprocessors. J. Par. Distr. Comp., Dec. 1992.
A. Gibbons and W. Rytter. Efficient parallel algrithms. Cambridge University Press, 1988.
P.B. Gibbons. A more practical PRAM model. In Proceedings of the 1989 ACM Symposium on Parallel Algorithms and Architectures, 1989.
A. Gottlieb and C.P. Kruskal. Complexity results for permuting data and other computations on parallel processors. J. ACM, 31:193–209, 1984.
N. Jacobson. Basic Algebra I. W.H. Freeman and Company, 1974.
J. Jájá. An introduction to parallel Algorithms. Addison-Wesley, 1992.
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.
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.
C.P. Kruskal, L. Rudolph, and M. Snir. A complexity theory of efficient parallel algorithms. Theoretical Computer Science, (71):95–132, 1990.
T.H. Lai and S. Sahni. Anomialies in parallel branch-and-bound algorithms. Communications of the ACM, 27(6):594–602, 1984.
B. Lisper. Detecting static algorithms by partial evaluation. In Proc. ACM Sigplan Symposium on Partial Evaluation and Semi-Based Program Manipulation, 1991.
B. Mans and C. Roucairol. Parallel branch & bound for discrete optimization problems. In Workshop on Parallel Processing of Discret Optimization Problems, Mineapolis, 1991.
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.
C. Moler, 1993. Communication about Mathlab test example gallery(3).
K. Nemoto and T. Omachi. An adaptative subdivision by sliding boundary surfaces for fast ray tracing. Graphics Interface, 1986.
M. Norman and P. Thanish. Models of machines and computation for mapping in multicomputers. ACM Computing Surveys, sep. 1993.
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.
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.
B. Plateau and al. Présentation d'APACHE. Technical Report APACHE 1, IMAG Grenoble France, 1993.
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.
V.N. Rao and V. Kumar. Superlinear speed-up in ordered depth-first search. In Proc. 6th Distributed Memory Computing Conference, 1991.
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.
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.
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.
J.L. Roch and G. Villard. Fast parallel computation of the Jordan normal form of matrices. Parallel Processing Letters. To appear.
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.
V. Sarkar. Partitioning and Scheduling Parallel Programs for Multiprocessors. Pitman, 1989.
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.
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.
R. Subramanian and I.D. Scherson. An analysis of diffusive load-balancing, 1995. Preprint-University of California, Irvine, USA.
L. Valiant. A bridging model for parallel computation. Communication ACM, 33:103–111, 1990.
L. Valiant. General purpose parallel architectures. In J. van Leuwen, editor, Handbook of Theoretical Computer Science Vol. A, pages 944–971. North-Holland, 1990.
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.
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.
M.-Y. Wu and D. D. Gajski. Hypertool: a programming aid for message-passing systems. IEEE Trans. Soft. Eng., 1(3):330–343, 1990.
S. Zhou. A trace-driven simulation study of dynamic load-balancing. IEEE Trans. on Software Engineering, 14(9), 1988.
Author information
Authors and Affiliations
Editor information
Rights 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