Skip to main content
Log in

An empirical study of cache-oblivious polygon indecomposability testing

  • Published:
Computing Aims and scope Submit manuscript

Abstract

We implement and undertake an empirical study of the cache-oblivious variant of the polygon indecomposability testing algorithm of Gao and Lauder, based on a depth-first search (DFS) traversal of the computation tree. According to Abu Salem, the cache-oblivious variant exhibits improved spatial and temporal locality over the original one, and its spatial locality is optimal. Our implementation revolves around eight different variants of the DFS-based algorithm, tailored to assess the trade-offs between computation and memory performance as originally proposed by Abu Salem. We analyse performance sensitively to manipulations of the several parameters comprising the input size. We describe how to construct suitably random families of input that solicit such variations, and how to handle redundancies in vector computations at no asymptotic increase in the work and cache complexities. We report extensively on our experimental results. In all eight variants, the DFS-based variant achieves excellent performance in terms of L1 and L2 cache misses as well as total run time, when compared to the original variant of Gao and Lauder. We also benchmark the DFS variant against the powerful computer algebra system MAGMA, in the context of bivariate polynomial irreducibility testing using polygons. For sufficiently high degree polynomials, MAGMA either runs out of memory or fails to terminate after about 4 h of execution. In contrast, the DFS-based version processes such input using a couple of seconds. Particularly, we report on absolute irreducibility testing of bivariate polynomials of total degree reaching 19,000 in about 2 s for the DFS variant, using a single processor.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abu Salem FK (2008) An efficient sparse adaptation of the polytope method over \({\mathbb{F}_p}\) and a record-high binary bivariate factorisation. J Symb Comput 43(5): 311–341

    Article  MATH  MathSciNet  Google Scholar 

  2. Abu Salem FK. Cache-oblivious polygon indecomposability testing. Pre-print. http://www.cs.aub.edu.lb/fa21/Papers/COIrredTheory.pdf

  3. Abu Salem FK, Soudah RN, Extended report on empirical, cache-oblivious polygon indecomposability testing. Technical Report. http://dr.aub.edu.lb/file.php/2/moddata/data/3/24/1509/Paper.pdf

  4. Aggarwal A, Vitter JS (1988) The input/output complexity of sorting and related problems. Commun ACM 31(9): 1116–1127

    Article  MathSciNet  Google Scholar 

  5. Bader M, Zenger C (2006) Cache oblivious matrix multiplication using an element ordering based on the Peano curve. In: Proc. PPAM 2006, pp 1042–1049

  6. Bosma W, Cannon J, Playoust C (1997) The Magma algebra system I. the user language. J Symb Comput 24(3-4): 235–265

    Article  MATH  MathSciNet  Google Scholar 

  7. Duval D (1991) Absolute factorization of polynomials: a geometric approach. SIAM J Comput 20: 1–21

    Article  MATH  MathSciNet  Google Scholar 

  8. Frigo M, Leiserson CE, Prokop H, Ramachandran S (1999) Cache-oblivious algorithms. In: Proceedings of the 40th annual symposium on foundations of computer science, pp 285–297, 1999

  9. Gao S (2001) Absolute irreducibility of polynomials via Newton polytopes. J Algebra 237: 501–520

    Article  MATH  MathSciNet  Google Scholar 

  10. Gao S (2003) Factoring multivariate polynomials via partial differential equations. Math Comput 72: 801–822

    MATH  Google Scholar 

  11. Gao S, Lauder AGB (2001) Decomposition of polytopes and polynomials. Discrete Comput Geom 26: 89–104

    MATH  MathSciNet  Google Scholar 

  12. Hill MD, Smith AJ (1989) Evaluating associativity in CPU caches. IEEE Trans Comput 38(12): 1612–1630

    Article  Google Scholar 

  13. Kaltofen E (1985) Polynomial-time reductions from multivariate to bi- and univariate integral polynomial factorisation. SIAM J Sci Comput 14: 469–489

    MATH  MathSciNet  Google Scholar 

  14. Kharbutli M, Solihin Y, Lee J (2005) Eliminating conflict misses using prime number-based cache indexing. IEEE Trans Comput 54(5): 573–586

    Article  Google Scholar 

  15. Lenstra AK (1985) Factoring multivariate polynomials over finite fields. J Comput Syst Sci 30(2): 235–248

    Article  MATH  MathSciNet  Google Scholar 

  16. Lenstra AK (1987) Factoring multivariate polynomials over algebraic number fields. SIAM J Sci Comput 16(3): 591–598

    MATH  MathSciNet  Google Scholar 

  17. Luo Y, John LK, Eeckhout L (2004) Self-monitored adaptive cache warm-up for microprocessor simulation. In: 16th symposium on computer architecture and high performance computing, 2004. SBAC-PAD 2004, pp 10–17

  18. Murphy RC, Berry J, McLendon W, Hendrickson B, Gregor D, Lumsdaine A (2006) DFS: a simple to write yet difficult to execute benchmark. In: Proceedings of the IEEE international symposium on workload characterizations IISWC06 2006, pp 175–177

  19. Ostrowski AM (1921) Über die bedeutung der theorie der konvexen polyeder für die formale algebra. Jahresberichte Deutsche Math Verein 30: 98–99

    MATH  Google Scholar 

  20. Patel K, Benini L, Marcii E, Poncino M (2006) Reducing conflict misses by application-specific reconfigurable indexing. IEEE Trans Comput-Aid Des Integr Circuits Syst 25(12): 2626–2637

    Article  Google Scholar 

  21. Rivera G, Tseng C-W (1998) Eliminating conflict misses for high performance architectures. In: proceedings of the 12th international conference on supercomputing, pp 353–360

  22. Rivera G, Tseng C-W (1998) Data transformations for eliminating conflict misses. ACM SIGPLAN Notices 33(5): 38–49

    Article  Google Scholar 

  23. Thomas GB, Finney RL, Maurice WD, Giordano FR (2003) Thomas’ Calculus. Addison-Wesley, Reading

    Google Scholar 

  24. Zhang C (2006) Balanced instruction cache: reducing conflict misses of direct-mapped caches through balanced subarray accesses. IEEE Comput Architect Lett 5(1): 2–5

    Article  Google Scholar 

  25. von zur Gathen J, Kaltofen E (1985) Factorization of multivariate polynomials over finite fields. Appl Math Comput 45(171): 251–261

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fatima K. Abu Salem.

Additional information

Communicated by C. C. Douglas.

The first author was supported by LNCSR grant 111135-522312 and AUB-URB grant 111135-988119.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Abu Salem, F.K., Soudah, R.N. An empirical study of cache-oblivious polygon indecomposability testing. Computing 88, 55–78 (2010). https://doi.org/10.1007/s00607-010-0086-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-010-0086-z

Keywords

Mathematics Subject Classification (2000)

Navigation