Speculative Parallelization of a Randomized Incremental Convex Hull Algorithm

  • Marcelo Cintra
  • Diego R. Llanos
  • Belén Palop
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3045)


Finding the fastest algorithm to solve a problem is one of the main issues in Computational Geometry. Focusing only on worst case analysis or asymptotic computations leads to the development of complex data structures or hard to implement algorithms. Randomized algorithms appear in this scenario as a very useful tool in order to obtain easier implementations within a good expected time bound. However, parallel implementations of these algorithms are hard to develop and require an in-depth understanding of the language, the compiler and the underlying parallel computer architecture. In this paper we show how we can use speculative parallelization techniques to execute in parallel iterative algorithms such as randomized incremental constructions. In this paper we focus on the convex hull problem, and show that, using our speculative parallelization engine, the sequential algorithm can be automatically executed in parallel, obtaining speedups with as little as four processors, and reaching 5.15x speedup with 28 processors.


Convex Hull Incremental Algorithm Shared Structure Complex Data Structure Incremental Construction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brönnimann, H., Iacono, J., Katajainen, J., Morin, P., Morrison, J., Toussaint, G.T.: In-place planar convex hull algorithms. In: Rajsbaum, S. (ed.) LATIN 2002. LNCS, vol. 2286, pp. 494–507. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    CGAL, Computational Geometry Algorithms Library,
  3. 3.
    Chan, T.M.: Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete Comput. Geom. 16, 361–368 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Cintra, M., Llanos, D.R.: Toward efficient and robust software speculative parallelization on multiprocessors. In: Proc. of the SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), June 2003, pp. 13–24 (2003)Google Scholar
  5. 5.
    Cintra, M., Martínez, J.F., Torrellas, J.: Architectural support for scalable speculative parallelization in shared-memory multiprocessors. In: Proc. of the 27th Intl. Symp. on Computer Architecture (ISCA), June 2000, pp. 256–264 (2000)Google Scholar
  6. 6.
    Clarkson, K.L.: Randomized geometric algorithms. In: Du, D.-Z., Hwang, F. (eds.) Computing in Euclidean Geometry, 2nd edn. Lect. Notes Series on Computing, vol. 4, pp. 149–194. World Scientific, Singapore (1995)Google Scholar
  7. 7.
    Clarkson, K.L., Mehlhorn, K., Seidel, R.: Four results on randomized incremental constructions. Comput. Geom. Theory Appl. 3(4), 185–212 (1993)zbMATHMathSciNetGoogle Scholar
  8. 8.
    Ghouse, M., Goodrich, M.: Fast randomized parallel methods for planar convex hull construction. Comput. Geom. Theory Appl. 7, 219–236 (1997)zbMATHMathSciNetGoogle Scholar
  9. 9.
    Graham, R.L.: An efficient algorithm for determining the convex hull of a finite planar set. Inform. Process. Lett. 1, 132–133 (1972)zbMATHCrossRefGoogle Scholar
  10. 10.
    Hammond, L., Willey, M., Olukotun, K.: Data speculation support for a chip multiprocessor. In: Proc. of the 8th Intl. Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), October 1998, pp. 58–69 (1998)Google Scholar
  11. 11.
    Kirkpatrick, D.G., Seidel, R.: The ultimate planar convex hull algorithm? SIAM J. Comput. 15, 287–299 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Gupta, M., Nim, R.: Techniques for run-time parallelization of loops. Supercomputing (November 1998)Google Scholar
  13. 13.
    Mehlhorn, K., Näher, S.: LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (2000)Google Scholar
  14. 14.
    Mulmuley, K.: Computational Geometry: An Introduction Through Randomized Algorithms. Prentice Hall, Englewood Cliffs (1994)Google Scholar
  15. 15.
    Rauchwerger, L., Padua, D.A.: The LRPD test: Speculative run-time parallelization of loops with privatization and reduction parallelization. IEEE Transactions on Parallel and Distributed Systems 10(2), 160–180 (1999)CrossRefGoogle Scholar
  16. 16.
    Sohi, G., Breach, S., Vijaykumar, T.: Multiscalar processors. In: Proc. of the 22nd Intl. Symp. on Computer Architecture (ISCA), June 1995, pp. 414–425 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Marcelo Cintra
    • 1
  • Diego R. Llanos
    • 2
  • Belén Palop
    • 2
  1. 1.School of InformaticsUniversity of EdinburghEdinburghUK
  2. 2.Departamento de InformáticaUniversidad de ValladolidValladolidSpain

Personalised recommendations