Abstract
Merge trees are fundamental data structures in computational topology. They track connected components in sublevel sets of scalar functions and can be used to compute 0-dimensional persistence diagrams, to construct contour trees on simply connected domains, and to quickly query the relationship between connected components in different sublevel sets. We introduce a representation of merge trees that tracks the nesting of their branches. We present algorithms to construct and manipulate the trees in this representation directly. We show that our algorithms are not only fast, outperforming Kruskal’s algorithm, but they are easy to parallelize in shared memory using double-word compare-and-swap operations. We present experiments that illustrate the scaling of our algorithms as functions of the data size and of the number of threads.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Given a sequence of n values, take a star graph with n leaves and assign the input values to the leaves; assign −∞ to the central vertex. The merge tree of this function is a path, with vertices assigned the input values in sorted order.
- 2.
We stopped at two data points because by the third, the jobs exhausted the 4-h wallclock request.
- 3.
On x86-64 architecture, where we conducted all our experiments, DWCAS is performed by instruction CMPXCHG16B. It is automatically emitted by the C++ compilers, when provided with appropriate flags.
- 4.
This is important because in C++, once a variable is declared std::atomic, all operations on it are protected by atomic primitives and incur the corresponding overheads.
References
Carr, H., Snoeyink, J., Axen, U.: Computing contour trees in all dimensions. Comput. Geom. Theory Appl. 24(2), 75–94 (2003)
Edelsbrunner, H., Harer, J.: Computational Topology. An Introduction. American Mathematical Society, Providence, Rhode Island (2010)
Cormen, T., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction To Algorithms. MIT Press, Cambridge (2009)
Carr, H., Weber, G.H., Sewell, C., Ahrens, J.: Parallel peak pruning for scalable SMP contour tree computation. In: Proceedings of the IEEE Symposium on Large Data Analysis and Visualization (LDAV) (2016)
Nešetřil, J., Milková, E., Nešetřilová, H.: Otakar Borůvka on minimum spanning tree problem: translation of both the 1926 papers, comments, history. Discret. Math. 233, 3–36 (2001)
Bremer, P.-T., Weber, G.H., Tierny, J., Pascucci, V., Day, M.S., Bell, J.B.: Interactive exploration and analysis of large scale simulations using topology-based data segmentation. IEEE Trans. Vis. Comput. Graph. 17(9), 1307–1325 (2011)
Pascucci, V., Cole-McLaughlin, K.: Parallel computation of the topology of level sets. Algorithmica 38(1), 249–268 (2003)
Morozov, D., Weber, G.H.: Distributed merge trees. In: Proceedings of the Annual Symposium on Principles and Practice of Parallel Programming (PPOPP), pp. 93–102 (2013)
Chazelle, B.: A minimum spanning tree algorithm with inverse-ackermann type complexity. J. Assoc. Comput. Mach. 47, 1028–1047 (2000)
Pascucci, V., Cole-McLaughlin, K., Scorzelli, G.: The Toporrery: Computation and Presentation of Multi-Resolution Topology, pp. 19–40. Springer, Berlin (2009)
Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12, 463–492 (1990)
Acknowledgements
This work was supported by the Director, Office of Science, Office of Advanced Scientific Computing Research, of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231, through the grant “Scalable Data-Computing Convergence and Scientic Knowledge Discovery,” and by the use of resources of the National Energy Research Scientific Computing Center (NERSC).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Additional information
Disclaimer: This document was prepared as an account of work sponsored by the United States Government. While this document is believed to contain correct information, neither the United States Government nor any agency thereof, nor the Regents of the University of California, nor any of their employees, makes any warranty, express or implied, or assumes any legal responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by its trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or the Regents of the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof or the Regents of the University of California.
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Smirnov, D., Morozov, D. (2020). Triplet Merge Trees. In: Carr, H., Fujishiro, I., Sadlo, F., Takahashi, S. (eds) Topological Methods in Data Analysis and Visualization V. TopoInVis 2017. Mathematics and Visualization. Springer, Cham. https://doi.org/10.1007/978-3-030-43036-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-43036-8_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-43035-1
Online ISBN: 978-3-030-43036-8
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)