Parallelizing divide-and-conquer algorithms — Microtasking versus autotasking

  • Renate Knecht
Performance Considerations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 457)


Algorithms based on a divide-and-conquer strategy are well qualified for being implemented in a multitasking environment. The idea of the divide-and-conquer paradigm is to fragment a problem into subproblems of the same kind, to solve the subproblems recursively, and, finally, to combine the solutions of the subproblems into a solution of the original problem. The subdivision in smaller problems which can be solved independently provides the possibility for parallel execution on multiple processors. In this paper the parallel implementation of a divide-and-conquer algorithm to compute the convex hull in the plane is discussed. The algorithm is implemented in FORTRAN on a CRAY Y-MP8/832 using the CRAY multitasking strategies. The concepts of microtasking and autotasking are compared with respect to their qualification for the parallelization of REPEAT loop constructs which constitute the main part of the described divide-and-conquer algorithm.


Multitasking microtasking autotasking CRAY Y-MP divide-and-conquer parallel algorithm convex hull 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A.V. Aho, J.E. Hopcroft, J.D. Ullman, Data Structures and Algorithms (Addison-Wesley, 1987).Google Scholar
  2. [2]
    Autotasking User's Guide (CRAY Research, Inc., SN-2088, 1989).Google Scholar
  3. [3]
    J.L. Bentley, Multidimensional Divide-and-Conquer, Communications of the ACM 23 (1980) 214–229.CrossRefGoogle Scholar
  4. [4]
    CRAY Y-MP, CRAY X-MP EA and CRAY X-MP Multitasking Programmer's Reference Manual (CRAY Research, Inc., SR-0222 F, 1989).Google Scholar
  5. [5]
    U. Detert, Memory Performance of CRAY X-MP and CRAY Y-MP, Proc. of CRAY User Group Meeting (Fall) (1989) 50–54.Google Scholar
  6. [6]
    M. Furtney, Parallel Processing at CRAY Research, Proc. of CRAY User Group Meeting (Fall) (1988) 247–257.Google Scholar
  7. [7]
    E. Horowitz, A. Zorat, Divide-and-Conquer for Parallel Processing, IEEE Transactions on Computers C-32 (1983) 582–585.Google Scholar
  8. [8]
    F. Hossfeld, R. Knecht, W.E. Nagel, Multitasking: Experience with applications on a CRAY X-MP, Parallel Computing 12 (1989) 259–283.CrossRefGoogle Scholar
  9. [9]
    R. Karp, Probabilistic Analysis of Partitioning Algorithms for the Traveling Salesman Problem in the Plane, Mathematics of Operations Research 2 (1977) 209–224.Google Scholar
  10. [10]
    R. Knecht, Implementation of Divide-and-Conquer Algorithms on Multiprocessors, Proc. of WOPPLOT 89, Springer, to appear.Google Scholar
  11. [11]
    W.E. Nagel, Exploiting autotasking on a CRAY Y-MP: An improved software interface to multitasking, Parallel Computing 13 (1990) 225–233.CrossRefGoogle Scholar
  12. [12]
    C.D. Polychronopoulos, Toward Auto-scheduling Compilers, The Journal of Supercomputing 2 (1988) 297–330.CrossRefGoogle Scholar
  13. [13]
    F.P. Preparata, S.J. Hong, Convex Hulls of Finite Sets of Points in Two and Three Dimensions, Communications of the ACM 20 (1977) 87–93.CrossRefGoogle Scholar
  14. [14]
    F.P. Preparata, M.I. Shamos, Computational Geometry — An Introduction (Springer, 1985).Google Scholar
  15. [15]
    H. Reger, Ein Vergleich der Multitasking-Implementierungen auf CRAY X-MP und IBM 3090, Jül-Spez-542, 1989.Google Scholar
  16. [16]
    R. Sedgewick, Algorithms (Addison-Wesley, 1988).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Renate Knecht
    • 1
  1. 1.Zentralinstitut für Angewandte MathematikForschungszentrum Jülich GmbHJülichFed. Rep. Germany

Personalised recommendations