Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3575693.3576173acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article
Open access

Achieving Sub-second Pairwise Query over Evolving Graphs

Published: 30 January 2023 Publication History

Abstract

Many real-time OLAP systems have been proposed to query evolving data with sub-second latency. Although this feature is highly attractive, it is very hard to be achieved on analytic graph queries that can only be answered after accessing every connected vertex. Fortunately, researchers recently observed that answering pairwise queries is enough for many real-world scenarios. These pairwise queries avoid the exhaustive nature and hence may only need to access a small portion of the graph. Obviously, the crux of achieving low latency is to what extent the system can eliminate unnecessary computations. This pruning process, according to our investigation, is usually achieved by estimating certain upper bounds of the query result in existing systems.
However, our evaluation results demonstrate that these existing upper-bound-only pruning techniques can only prune about half of the vertex activations, which is still far away from achieving the sub-second latency goal on large graphs. In contrast, we found that it is possible to substantially accelerate the processing if we are able to not only estimate the upper bounds, but also foresee a tighter lower bound for certain pairs of vertices in the graph. Our experiments show that only less than 1% of the vertices are activated via using this novel lower bound based pruning technique. Based on this observation, we build SGraph, a system that is able to answer dynamic pairwise queries over evolving graphs with sub-second latency. It can ingest millions of updates per second and simultaneously answer pairwise queries with a latency that is several orders of magnitude smaller than state-of-the-art systems.

References

[1]
[n.d.]. Google Dense Hashmap. https://github.com/sparsehash/sparsehash
[2]
[n.d.]. LDBC-SNB. https://ldbcouncil.org/benchmarks/snb/
[3]
[n.d.]. Neo4j. https://neo4j.com/
[4]
[n.d.]. TuGraph. https://www.tugraph.com/
[5]
Stephen Alstrup, Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup. 1997. Minimizing diameters of dynamic trees. In Automata, Languages and Programming. Springer Berlin Heidelberg, Berlin, Heidelberg. 270–280. isbn:978-3-540-69194-5 https://doi.org/10.1007/3-540-63165-8_184
[6]
Michael O. Ball, Charles J. Colbourn, and J. Scott Provan. 1995. Chapter 11 Network reliability. In Network Models (Handbooks in Operations Research and Management Science, Vol. 7). Elsevier, 673–762. issn:0927-0507 https://doi.org/10.1016/S0927-0507(05)80128-8
[7]
Oded Berman and Gabriel Y Handler. 1987. Optimal minimax path of a single service unit on a network to nonservice destinations. Transportation Science, 21, 2 (1987), 115–122. https://doi.org/10.1287/trsc.21.2.115
[8]
Maciej Besta, Marc Fischer, Vasiliki Kalavri, Michael Kapralov, and Torsten Hoefler. 2021. Practice of Streaming Processing of Dynamic Graphs: Concepts, Models, and Systems. IEEE Transactions on Parallel and Distributed Systems, 1–1. https://doi.org/10.1109/TPDS.2021.3131677
[9]
Ramaprasad Bhar and Shigeyuki Hamori. 2004. Hidden Markov models: applications to financial economics. 40, Springer Science & Business Media. https://doi.org/10.1007/b109046
[10]
Paolo Boldi, Andrea Marino, Massimo Santini, and Sebastiano Vigna. 2018. BUbiNG: Massive Crawling for the Masses. ACM Trans. Web, 12, 2 (2018), Article 12, jun, 26 pages. issn:1559-1131 https://doi.org/10.1145/3160017
[11]
Paolo Boldi, Marco Rosa, Massimo Santini, and Sebastiano Vigna. 2011. Layered Label Propagation: A Multiresolution Coordinate-Free Ordering for Compressing Social Networks. In Proceedings of the 20th International Conference on World Wide Web (WWW ’11). Association for Computing Machinery, New York, NY, USA. 587–596. isbn:9781450306324 https://doi.org/10.1145/1963405.1963488
[12]
Paolo Boldi, Massimo Santini, and Sebastiano Vigna. 2008. A Large Time-Aware Web Graph. SIGIR Forum, 42, 2 (2008), nov, 33–38. issn:0163-5840 https://doi.org/10.1145/1480506.1480511
[13]
P. Boldi and S. Vigna. 2004. The Webgraph Framework I: Compression Techniques. In Proceedings of the 13th International Conference on World Wide Web (WWW ’04). Association for Computing Machinery, New York, NY, USA. 595–602. isbn:158113844X https://doi.org/10.1145/988672.988752
[14]
Horst Bunke and Terry Michael Caelli. 2001. Hidden Markov models: applications in computer vision. 45, World Scientific.
[15]
Edith Cohen, Eran Halperin, Haim Kaplan, and Uri Zwick. 2003. Reachability and Distance Queries via 2-Hop Labels. SIAM J. Comput., 32, 5 (2003), 1338–1355. https://doi.org/10.1137/S0097539702403098
[16]
Laxman Dhulipala, Changwan Hong, and Julian Shun. 2020. ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity Algorithms. arXiv:2008.03909. arxiv:2008.03909
[17]
Harish Doraiswamy, Huy T. Vo, Cláudio T. Silva, and Juliana Freire. 2016. A GPU-based index to support interactive spatio-temporal queries over historical data. In 2016 IEEE 32nd International Conference on Data Engineering (ICDE). 1086–1097. https://doi.org/10.1109/ICDE.2016.7498315
[18]
Guanyu Feng, Zixuan Ma, Daixuan Li, Shengqi Chen, Xiaowei Zhu, Wentao Han, and Wenguang Chen. 2021. RisGraph: A Real-Time Streaming System for Evolving Graphs to Support Sub-Millisecond Per-Update Analysis at Millions Ops/s. In Proceedings of the 2021 International Conference on Management of Data (SIGMOD ’21). Association for Computing Machinery, New York, NY, USA. 513–527. isbn:9781450383431 https://doi.org/10.1145/3448016.3457263
[19]
Greg N. Frederickson. 1983. Data Structures for On-Line Updating of Minimum Spanning Trees. In Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (STOC ’83). Association for Computing Machinery, New York, NY, USA. 252–257. isbn:0897910990 https://doi.org/10.1145/800061.808754
[20]
Joseph E. Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, and Carlos Guestrin. 2012. PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI’12). USENIX Association, USA. 17–30. isbn:9781931971966
[21]
Sudipto Guha and Andrew McGregor. 2012. Graph Synopses, Sketches, and Streams: A Survey. Proc. VLDB Endow., 5, 12 (2012), Aug., 2030–2031. issn:2150-8097 https://doi.org/10.14778/2367502.2367570
[22]
Q. Guo, F. Zhuang, C. Qin, H. Zhu, X. Xie, H. Xiong, and Q. He. 5555. A Survey on Knowledge Graph-Based Recommender Systems. IEEE Transactions on Knowledge and Data Engineering, oct, 1–1. issn:1558-2191 https://doi.org/10.1109/TKDE.2020.3028705
[23]
Monika R. Henzinger and Valerie King. 1999. Randomized Fully Dynamic Graph Algorithms with Polylogarithmic Time per Operation. J. ACM, 46, 4 (1999), jul, 502–516. issn:0004-5411 https://doi.org/10.1145/320211.320215
[24]
Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup. 2001. Poly-Logarithmic Deterministic Fully-Dynamic Algorithms for Connectivity, Minimum Spanning Tree, 2-Edge, and Biconnectivity. J. ACM, 48, 4 (2001), jul, 723–760. issn:0004-5411 https://doi.org/10.1145/502090.502095
[25]
Xiaolin Jiang, Chengshuo Xu, and Rajiv Gupta. 2021. VRGQ: Evaluating a Stream of Iterative Graph Queries via Value Reuse. SIGOPS Oper. Syst. Rev., 55, 1 (2021), jun, 11–20. issn:0163-5980 https://doi.org/10.1145/3469379.3469382
[26]
Xiaolin Jiang, Chengshuo Xu, Xizhe Yin, Zhijia Zhao, and Rajiv Gupta. 2021. Tripoline: Generalized Incremental Graph Processing via Graph Triangle Inequality. In Proceedings of the Sixteenth European Conference on Computer Systems (EuroSys ’21). Association for Computing Machinery, New York, NY, USA. 17–32. isbn:9781450383349 https://doi.org/10.1145/3447786.3456226
[27]
Ruoming Jin, Ning Ruan, Bo You, and Haixun Wang. 2013. Hub-Accelerator: Fast and Exact Shortest Path Computation in Large Social Networks. arXiv:1305.0507. arxiv:1305.0507
[28]
Kevin Joseph and Hui Jiang. 2019. Content Based News Recommendation via Shortest Entity Distance over Knowledge Graphs. In Companion Proceedings of The 2019 World Wide Web Conference (WWW ’19). Association for Computing Machinery, New York, NY, USA. 690–699. isbn:9781450366755 https://doi.org/10.1145/3308560.3317703
[29]
Niranjan Kamat, Prasanth Jayachandran, Karthik Tunga, and Arnab Nandi. 2014. Distributed and interactive cube exploration. In 2014 IEEE 30th International Conference on Data Engineering. 472–483. https://doi.org/10.1109/ICDE.2014.6816674
[30]
Mohsen Koohi Esfahani, Peter Kilpatrick, and Hans Vandierendonck. 2021. Thrifty Label Propagation: Fast Connected Components for Skewed-Degree Graphs. In 2021 IEEE International Conference on Cluster Computing (CLUSTER). 226–237. https://doi.org/10.1109/Cluster48925.2021.00042
[31]
Pradeep Kumar and H. Howie Huang. 2020. GraphOne: A Data Store for Real-Time Analytics on Evolving Graphs. ACM Trans. Storage, 15, 4 (2020), Article 29, jan, 40 pages. issn:1553-3077 https://doi.org/10.1145/3364180
[32]
Haewoon Kwak, Changhyun Lee, Hosung Park, and Sue Moon. 2010. What is Twitter, a Social Network or a News Media? In Proceedings of the 19th International Conference on World Wide Web (WWW ’10). Association for Computing Machinery, New York, NY, USA. 591–600. isbn:9781605587998 https://doi.org/10.1145/1772690.1772751
[33]
Meng-Chieh Lee, Yue Zhao, Aluna Wang, Pierre Jinghong Liang, Leman Akoglu, Vincent S. Tseng, and Christos Faloutsos. 2020. AutoAudit: Mining Accounting and Time-Evolving Graphs. In 2020 IEEE International Conference on Big Data (Big Data). 950–956. https://doi.org/10.1109/BigData50022.2020.9378346
[34]
Jüri Lember, Dario Gasbarra, Alexey Koloydenko, and Kristi Kuljus. 2019. Estimation of Viterbi path in Bayesian hidden Markov models. Metron, 77, 2 (2019), 137–169. https://doi.org/10.1007/s40300-019-00152-7
[35]
Jun Ma, Danqing Zhang, Yun Wang, Yan Zhang, and Alexey Pozdnoukhov. 2018. GraphRAD: a graph-based risky account detection system. In Proceedings of ACM SIGKDD conference, London, UK. 9.
[36]
Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. 2010. Pregel: A System for Large-Scale Graph Processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data (SIGMOD ’10). Association for Computing Machinery, New York, NY, USA. 135–146. isbn:9781450300322 https://doi.org/10.1145/1807167.1807184
[37]
Mugilan Mariappan and Keval Vora. 2019. GraphBolt: Dependency-Driven Synchronous Processing of Streaming Graphs. In Proceedings of the Fourteenth EuroSys Conference 2019 (EuroSys ’19). Association for Computing Machinery, New York, NY, USA. Article 25, 16 pages. isbn:9781450362818 https://doi.org/10.1145/3302424.3303974
[38]
Andrew McGregor. 2014. Graph Stream Algorithms: A Survey. SIGMOD Rec., 43, 1 (2014), May, 9–20. issn:0163-5808 https://doi.org/10.1145/2627692.2627694
[39]
Frank McSherry, Derek Gordon Murray, Rebecca Isaacs, and Michael Isard. 2013. Differential Dataflow. In Sixth Biennial Conference on Innovative Data Systems Research, CIDR 2013, Asilomar, CA, USA, January 6-9, 2013, Online Proceedings. www.cidrdb.org.
[40]
J. Picone. 1990. Continuous speech recognition using hidden Markov models. IEEE ASSP Magazine, 7, 3 (1990), 26–41. https://doi.org/10.1109/53.54527
[41]
Maurice Pollack. 1960. Letter to the Editor—The Maximum Capacity Through a Network. Operations Research, 8, 5 (1960), 733–736. https://doi.org/10.1287/opre.8.5.733
[42]
Liam Roditty and Uri Zwick. 2008. Improved Dynamic Reachability Algorithms for Directed Graphs. SIAM J. Comput., 37, 5 (2008), 1455–1471. https://doi.org/10.1137/060650271
[43]
Amitabha Roy, Ivo Mihailovic, and Willy Zwaenepoel. 2013. X-Stream: Edge-Centric Graph Processing Using Streaming Partitions. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (SOSP ’13). Association for Computing Machinery, New York, NY, USA. 472–488. isbn:9781450323888 https://doi.org/10.1145/2517349.2522740
[44]
Satu Elisa Schaeffer. 2007. Graph clustering. Computer Science Review, 1, 1 (2007), 27–64. issn:1574-0137 https://doi.org/10.1016/j.cosrev.2007.05.001
[45]
N. Shacham. 1992. Multicast routing of hierarchical data. In [Conference Record] SUPERCOMM/ICC ’92 Discovering a New World of Communications. 1217–1221 vol.3. https://doi.org/10.1109/ICC.1992.268047
[46]
Xiaogang Shi, Bin Cui, Yingxia Shao, and Yunhai Tong. 2016. Tornado: A System For Real-Time Iterative Analysis Over Evolving Data. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD ’16). Association for Computing Machinery, New York, NY, USA. 417–430. isbn:9781450335317 https://doi.org/10.1145/2882903.2882950
[47]
Julian Shun and Guy E. Blelloch. 2013. Ligra: A Lightweight Graph Processing Framework for Shared Memory. In Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’13). Association for Computing Machinery, New York, NY, USA. 135–146. isbn:9781450319225 https://doi.org/10.1145/2442516.2442530
[48]
Yogesh Simmhan, Alok Kumbhare, Charith Wickramaarachchi, Soonil Nagarkar, Santosh Ravi, Cauligi Raghavendra, and Viktor Prasanna. 2014. Goffish: A sub-graph centric framework for large-scale graph analytics. In European Conference on Parallel Processing. 451–462. https://doi.org/10.1007/978-3-319-09873-9_38
[49]
Daniel D. Sleator and Robert Endre Tarjan. 1981. A Data Structure for Dynamic Trees. In Proceedings of the Thirteenth Annual ACM Symposium on Theory of Computing (STOC ’81). Association for Computing Machinery, New York, NY, USA. 114–122. isbn:9781450373920 https://doi.org/10.1145/800076.802464
[50]
George M. Slota, Sivasankaran Rajamanickam, and Kamesh Madduri. 2014. BFS and Coloring-Based Parallel Algorithms for Strongly Connected Components and Related Problems. In 2014 IEEE 28th International Parallel and Distributed Processing Symposium. 550–559. https://doi.org/10.1109/IPDPS.2014.64
[51]
Xiaobing Sun, Wenjie Feng, Shenghua Liu, Yuyang Xie, Siddharth Bhatia, Bryan Hooi, Wenhan Wang, and Xueqi Cheng. 2022. MonLAD: Money Laundering Agents Detection in Transaction Streams. In Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining (WSDM ’22). Association for Computing Machinery, New York, NY, USA. 976–986. isbn:9781450391320 https://doi.org/10.1145/3488560.3498418
[52]
Robert Tarjan. 1972. Depth-First Search and Linear Graph Algorithms. SIAM J. Comput., 1, 2 (1972), 146–160. https://doi.org/10.1137/0201010
[53]
Mikkel Thorup. 2000. Near-Optimal Fully-Dynamic Graph Connectivity. In Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing (STOC ’00). Association for Computing Machinery, New York, NY, USA. 343–350. isbn:1581131844 https://doi.org/10.1145/335305.335345
[54]
Yuanyuan Tian, Andrey Balmin, Severin Andreas Corsten, Shirish Tatikonda, and John McPherson. 2013. From "Think like a Vertex" to "Think like a Graph". Proc. VLDB Endow., 7, 3 (2013), nov, 193–204. issn:2150-8097 https://doi.org/10.14778/2732232.2732238
[55]
A. Viterbi. 1967. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Transactions on Information Theory, 13, 2 (1967), 260–269. https://doi.org/10.1109/TIT.1967.1054010
[56]
Keval Vora, Rajiv Gupta, and Guoqing Xu. 2017. KickStarter: Fast and Accurate Computations on Streaming Graphs via Trimmed Approximations. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’17). Association for Computing Machinery, New York, NY, USA. 237–251. isbn:9781450344654 https://doi.org/10.1145/3037697.3037748
[57]
Henan Wang, Guoliang Li, Huiqi Hu, Shuo Chen, Bingwen Shen, Hao Wu, Wen-Syan Li, and Kian-Lee Tan. 2014. R3: A Real-Time Route Recommendation System. Proc. VLDB Endow., 7, 13 (2014), aug, 1549–1552. issn:2150-8097 https://doi.org/10.14778/2733004.2733027
[58]
David P Williamson. 2019. Network flow algorithms. Cambridge University Press.
[59]
Chengshuo Xu, Keval Vora, and Rajiv Gupta. 2019. PnP: Pruning and Prediction for Point-To-Point Iterative Graph Analytics. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’19). Association for Computing Machinery, New York, NY, USA. 587–600. isbn:9781450362405 https://doi.org/10.1145/3297858.3304012
[60]
Da Yan, James Cheng, Yi Lu, and Wilfred Ng. 2014. Blogel: A Block-Centric Framework for Distributed Computation on Real-World Graphs. Proc. VLDB Endow., 7, 14 (2014), oct, 1981–1992. issn:2150-8097 https://doi.org/10.14778/2733085.2733103
[61]
Fangjin Yang, Eric Tschetter, Xavier Léauté, Nelson Ray, Gian Merlino, and Deep Ganguli. 2014. Druid: A Real-Time Analytical Data Store. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data (SIGMOD ’14). Association for Computing Machinery, New York, NY, USA. 157–168. isbn:9781450323765 https://doi.org/10.1145/2588555.2595631
[62]
Jaewon Yang and Jure Leskovec. 2012. Defining and Evaluating Network Communities Based on Ground-Truth. In Proceedings of the ACM SIGKDD Workshop on Mining Data Semantics (MDS ’12). Association for Computing Machinery, New York, NY, USA. Article 3, 8 pages. isbn:9781450315463 https://doi.org/10.1145/2350190.2350193
[63]
Byung-Jun Yoon. 2009. Hidden Markov Models and their Applications in Biological Sequence Analysis. Current genomics, 10, 6 (2009), September, 402—415. issn:1389-2029 https://doi.org/10.2174/138920209789177575
[64]
Chaoqun Zhan, Maomeng Su, Chuangxian Wei, Xiaoqiang Peng, Liang Lin, Sheng Wang, Zhe Chen, Feifei Li, Yue Pan, Fang Zheng, and Chengliang Chai. 2019. AnalyticDB: Real-Time OLAP Database System at Alibaba Cloud. Proc. VLDB Endow., 12, 12 (2019), aug, 2059–2070. issn:2150-8097 https://doi.org/10.14778/3352063.3352124
[65]
Qizhen Zhang, Da Yan, and James Cheng. 2016. Quegel: A General-Purpose System for Querying Big Graphs. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD ’16). Association for Computing Machinery, New York, NY, USA. 2189–2192. isbn:9781450335317 https://doi.org/10.1145/2882903.2899398
[66]
Andy Diwen Zhu, Wenqing Lin, Sibo Wang, and Xiaokui Xiao. 2014. Reachability Queries on Large Dynamic Graphs: A Total Order Approach. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data (SIGMOD ’14). Association for Computing Machinery, New York, NY, USA. 1323–1334. isbn:9781450323765 https://doi.org/10.1145/2588555.2612181
[67]
Xiaowei Zhu, Wenguang Chen, Weimin Zheng, and Xiaosong Ma. 2016. Gemini: A Computation-Centric Distributed Graph Processing System. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI’16). USENIX Association, USA. 301–316. isbn:9781931971331
[68]
Xiaowei Zhu, Wentao Han, and Wenguang Chen. 2015. GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. In Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC ’15). USENIX Association, USA. 375–386. isbn:9781931971225

Cited By

View all
  • (2024)Improving Graph Compression for Efficient Resource-Constrained Graph AnalyticsProceedings of the VLDB Endowment10.14778/3665844.366585217:9(2212-2226)Online publication date: 1-May-2024
  • (2024)TeGraph+: Scalable Temporal Graph Processing Enabling Flexible Edge ModificationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.339391435:8(1469-1487)Online publication date: Aug-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASPLOS 2023: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2
January 2023
947 pages
ISBN:9781450399166
DOI:10.1145/3575693
This work is licensed under a Creative Commons Attribution 4.0 International License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 January 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. graph processing
  2. pairwise query
  3. triangle inequality

Qualifiers

  • Research-article

Funding Sources

  • National Key Research & Development Program of China
  • Natural Science Foundation of China
  • Young Elite Scientists Sponsorship Program by CAST
  • Tsinghua University Initiative Scientific Research Program
  • Tsinghua University - Meituan Joint Institute for Digital Life
  • Beijing HaiZhi XingTu Technology Co., Ltd.

Conference

ASPLOS '23

Acceptance Rates

Overall Acceptance Rate 535 of 2,713 submissions, 20%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)438
  • Downloads (Last 6 weeks)39
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Improving Graph Compression for Efficient Resource-Constrained Graph AnalyticsProceedings of the VLDB Endowment10.14778/3665844.366585217:9(2212-2226)Online publication date: 1-May-2024
  • (2024)TeGraph+: Scalable Temporal Graph Processing Enabling Flexible Edge ModificationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.339391435:8(1469-1487)Online publication date: Aug-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media