ABSTRACT
To help compute shortest path distances over large graphs efficiently, 2-hop labeling has emerged as a major tool, with Pruned Landmark Labeling (PPL) as a popular algorithm. This paper demonstrates the first scalable parallel implementation of the PPL algorithm that produces the same results as the sequential algorithm. Based on theoretical analysis, we show how computations on each vertex can be performed in parallel while maintaining correctness, resulting in the Vertex-Centrix PLL (VC-PLL) algorithm. We also show a formulation of this algorithm based on linear algebra and argue why the use of a library based on linear algebra operations will not produce an efficient implementation. Next, we introduce a batched VC-PLL (BVC-PLL) algorithm to reduce the computational inefficiency in VC-PLL. We have carried out a parallel implementation of this method for modern clusters, combining shared memory and distributed memory parallelism, that can efficiently execute on graphs with more than a billion edges. We also demonstrate how BVC-PLL algorithm can be extended to handle directed graphs and weighted graphs and how the version for weighted graphs can benefit from SIMD parallelization.
- Ittai Abraham, Daniel Delling, Andrew V. Goldberg, and Renato F. Werneck. 2011. A Hub-Based Labeling Algorithm for Shortest Paths in Road Networks. In Experimental Algorithms, Panos M. Pardalos and Steffen Rebennack (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 230--241.Google ScholarDigital Library
- Takuya Akiba. 2014. Pruned Labeling Algorithms: Fast, Exact, Dynamic, Simple and General Indexing Scheme for Shortest-Path Queries. In Proceedings of the 23rd International Conference on World Wide Web (WWW '14 Companion). Association for Computing Machinery, New York, NY, USA, 1339--1340. Google ScholarDigital Library
- Takuya Akiba, Yoichi Iwata, and Yuichi Yoshida. 2013. Fast Exact Shortest-Path Distance Queries on Large Networks by Pruned Landmark Labeling. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. ACM, 349--360.Google ScholarDigital Library
- Maxim Babenko, Andrew V. Goldberg, Haim Kaplan, Ruslan Savchenko, and Mathias Weller. 2015. On the Complexity of Hub Labeling (Extended Abstract). In Mathematical Foundations of Computer Science 2015. Springer Berlin Heidelberg, 62--74.Google Scholar
- Maciej Besta, Florian Marending, Edgar Solomonik, and Torsten Hoefler. 2017. SlimSell: A Vectorizable Graph Representation for Breadth-First Search. In Parallel and Distributed Processing Symposium (IPDPS), 2017 IEEE International. IEEE, 32--41.Google Scholar
- Maciej Besta, Michal Podstawski, Linus Groner, Edgar Solomonik, and Torsten Hoefler. 2017. To Push or To Pull: On Reducing Communication and Synchronization in Graph Computations. In Proceedings of the 26th International Symposium on High-Performance Parallel and Distributed Computing. ACM, 93--104.Google ScholarDigital Library
- Ulrik Brandes. 2001. A faster algorithm for betweenness centrality. The Journal of Mathematical Sociology 25, 2 (2001), 163--177. arXiv:https://doi.org/10.1080/0022250X.2001.9990249 Google ScholarCross Ref
- Shaosheng Cao, Wei Lu, and Qiongkai Xu. 2015. Grarep: Learning Graph Representations with Global Structural Information. In Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. ACM, 891--900.Google ScholarDigital Library
- Tim Carnes, Chandrashekhar Nagarajan, Stefan M. Wild, and Anke van Zuylen. 2007. Maximizing Influence in a Competitive Social Network: A Follower's Perspective. In Proceedings of the Ninth International Conference on Electronic Commerce (ICEC '07). Association for Computing Machinery, New York, NY, USA, 351--360. Google ScholarDigital Library
- Linchuan Chen, Xin Huo, Bin Ren, Surabhi Jain, and Gagan Agrawal. 2015. Efficient and simplified parallel graph processing over cpu and mic. In 2015 IEEE International Parallel and Distributed Processing Symposium. IEEE, 819--828.Google ScholarDigital Library
- Linchuan Chen, Peng Jiang, and Gagan Agrawal. 2016. Exploiting Recent SIMD Architectural Advances for Irregular Applications. In Proceedings of the 2016 International Symposium on Code Generation and Optimization. ACM, 47--58.Google ScholarDigital Library
- Jiefeng Cheng, Jeffrey Xu Yu, Xuemin Lin, Haixun Wang, and S Yu Philip. 2006. Fast computation of reachability labeling for large graphs. In International Conference on Extending Database Technology. Springer, 961--979.Google ScholarDigital Library
- Jiefeng Cheng, Jeffrey Xu Yu, Xuemin Lin, Haixun Wang, and Philip S Yu. 2008. Fast computing reachability labelings for large graphs with high compression rate. In Proceedings of the 11th international conference on Extending database technology: Advances in database technology. 193--204.Google ScholarDigital Library
- Jiefeng Cheng, Jeffrey Xu Yu, and Philip S. Yu. 2011. Graph Pattern Matching: A Join/Semijoin Approach. IEEE Trans. Knowl. Data Eng. 23, 7 (2011), 1006--1021.Google ScholarDigital Library
- Edith Cohen, Eran Halperin, Haim Kaplan, and Uri Zwick. 2002. Reachability and distance queries via 2-hop labels. In Proceedings of the 13th annual ACM-SIAM Symposium on Discrete algorithms. 937--946.Google Scholar
- Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, and Keshav Pingali. 2018. Gluon: A Communication-Optimizing Substrate for Distributed Heterogeneous Graph Analytics. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, 752--768.Google ScholarDigital Library
- Daniel Delling, Andrew V Goldberg, Thomas Pajor, and Renato F Werneck. 2014. Robust exact distance queries on massive networks. Microsoft Research, USA, Tech. Rep 2 (2014).Google Scholar
- Q. Dong, K. Lakhotia, H. Zeng, R. Karman, V. Prasanna, and G. Seetharaman. 2018. A Fast and Efficient Parallel Algorithm for Pruned Landmark Labeling. In 2018 IEEE High Performance extreme Computing Conference (HPEC). 1--7. Google ScholarCross Ref
- Qing Dong, Kartik Lakhotia, Hanqing Zeng, Rajgopal Karman, Viktor Prasanna, and Guna Seetharaman. 2018. A fast and efficient parallel algorithm for pruned landmark labeling. In 2018 IEEE High Performance extreme Computing Conference (HPEC). IEEE, 1--7.Google Scholar
- Damir Ferizovic. 2015. Parallel Pruned Landmark Labeling for Shortest Path Queries on Unit-Weight Networks. Ph.D. Dissertation. National Research Center.Google Scholar
- Adam Fidel, Nancy M Amato, Lawrence Rauchwerger, et al. 2014. Kla: A new algorithmic paradigm for parallel graph computations. In 2014 23rd International Conference on Parallel Architecture and Compilation Techniques (PACT). IEEE, 27--38.Google Scholar
- Jesun Sahariar Firoz, Marcin Zalewski, Thejaka Kanewala, and Andrew Lumsdaine. 2018. Synchronization-avoiding graph algorithms. In 2018 IEEE 25th International Conference on High Performance Computing (HiPC). IEEE, 52--61.Google ScholarCross Ref
- Anil Gaihre, Zhenlin Wu, Fan Yao, and Hang Liu. 2019. XBFS: eXploring Runtime Optimizations for Breadth-First Search on GPUs. In Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing. ACM, 121--131.Google ScholarDigital Library
- Robert Geisberger, Peter Sanders, Dominik Schultes, and Daniel Delling. 2008. Contraction hierarchies: faster and simpler hierarchical routing in road networks. In Proceedings of the 7th international conference on Experimental algorithms. 319--333.Google ScholarCross Ref
- Alan George, John R Gilbert, and Joseph WH Liu. 2012. Graph theory and sparse matrix computation. Vol. 56. Springer Science & Business Media.Google Scholar
- Abdullah Gharaibeh, Lauro Beltrão Costa, Elizeu Santos-Neto, and Matei Ripeanu. 2012. A Yoke of Oxen and a Thousand Chickens for Heavy Lifting Graph Processing. In Proceedings of the 21st international conference on Parallel architectures and compilation techniques, PACT. ACM, 345--354.Google ScholarDigital Library
- Joseph E Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, and Carlos Guestrin. 2012. PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs.. In OSDI, Vol. 12. 2.Google ScholarDigital Library
- Wei Han, Daniel Mawhirter, Bo Wu, and Matthew Buland. 2017. Graphie: Large-Scale Asynchronous Graph Traversals on Just a GPU. In 2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT),. IEEE, 233--245.Google ScholarCross Ref
- Changwan Hong, Aravind Sukumaran-Rajam, Jinsung Kim, and P Sadayappan. 2017. MultiGraph: Efficient Graph Processing on GPUs. In Parallel Architectures and Compilation Techniques (PACT), 2017 26th International Conference on. IEEE, 27--40.Google ScholarCross Ref
- Sungpack Hong, Tayo Oguntebi, and Kunle Olukotun. 2011. Efficient Parallel Graph Exploration on Multi-core CPU and GPU. In 2011 International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 78--88.Google Scholar
- Zhihao Jia, Yongkee Kwon, Galen Shipman, Pat McCormick, Mattan Erez, and Alex Aiken. 2017. A distributed multi-gpu system for fast graph processing. Proceedings of the VLDB Endowment 11, 3 (2017), 297--310.Google ScholarDigital Library
- Peng Jiang, Linchuan Chen, and Gagan Agrawal. 2016. Reusing Data Reorganization for Efficient SIMD Parallelization of Adaptive Irregular Applications. In Proceedings of the 2016 International Conference on Supercomputing. ACM, 16.Google ScholarDigital Library
- Ruoming Jin, Zhen Peng, Wendell Wu, Feodor Dragan, Gagan Agrawal, and Bin Ren. 2019. Pruned Landmark Labeling Meets Vertex Centric Computation: A Surprisingly Happy Marriage! arXiv preprint arXiv:1906.12018 (2019).Google Scholar
- R. Jin, N. Ruan, Y. Xiang, and V. E. Lee. 2012. A highway-centric labeling approach for answering distance queries on large sparse graphs. In SIGMOD.Google Scholar
- Ruoming Jin, Ning Ruan, Bo You, and Haixun Wang. 2013. Hub-Accelerator: Fast and Exact Shortest Path Computation in Large Social Networks. CoRR abs/1305.0507 (2013).Google Scholar
- Ruoming Jin and Guan Wang. 2013. Simple, fast, and scalable reachability oracle. Proceedings of the VLDB Endowment 6, 14 (2013), 1978--1989.Google ScholarDigital Library
- Jeremy Kepner, Peter Aaltonen, David A. Bader, Aydin Buluç, Franz Franchetti, John R. Gilbert, Dylan Hutchison, Manoj Kumar, Andrew Lumsdaine, Henning Meyerhenke, Scott McMillan, Carl Yang, John D. Owens, Marcin Zalewski, Timothy G. Mattson, and José E. Moreira. 2016. Mathematical foundations of the GraphBLAS. In 2016 IEEE High Performance Extreme Computing Conference, HPEC 2016, Waltham, MA, USA, September 13-15, 2016. 1--9. Google ScholarCross Ref
- Jeremy Kepner and John Gilbert. 2011. Graph Algorithms in the Language of Linear Algebra. Vol. 22. SIAM.Google ScholarDigital Library
- Farzad Khorasani, Keval Vora, Rajiv Gupta, and Laxmi N Bhuyan. 2014. CuSha: Vertex-centric Graph Processing on GPUs. In Proceedings of the 23rd international symposium on High-performance parallel and distributed computing. ACM, 239--252.Google ScholarDigital Library
- Seongyun Ko and Wook-Shin Han. 2018. TurboGraph++: A Scalable and Fast Graph Analytics System. In Proceedings of the 2018 International Conference on Management of Data. ACM, 395--410.Google ScholarDigital Library
- Aapo Kyrola, Guy E Blelloch, and Carlos Guestrin. 2012. Graphchi: Large-Scale Graph Computation on Just a PC. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI). USENIX.Google ScholarDigital Library
- Kartik Lakhotia, Rajgopal Kannan, Qing Dong, and Viktor Prasanna. 2019. Planting Trees for Scalable and Efficient Canonical Hub Labeling. Proc. VLDB Endow. 13, 4 (Dec. 2019), 492--505. Google ScholarDigital Library
- Wentao Li, Miao Qiao, Lu Qin, Ying Zhang, Lijun Chang, and Xuemin Lin. 2019. Scaling Distance Labeling on Small-World Networks. In Proceedings of the 2019 International Conference on Management of Data (SIGMOD '19). Association for Computing Machinery, New York, NY, USA, 1060--1077. Google ScholarDigital Library
- Ye Li, Man Lung Yiu, Ngai Meng Kou, et al. 2017. An experimental study on hub labeling based shortest path algorithms. Proceedings of the VLDB Endowment 11, 4 (2017), 445--457.Google ScholarDigital Library
- Hang Liu and H Howie Huang. 2018. Simd-x: Programming and processing of graph algorithms on gpus. arXiv preprint arXiv:1812.04070 (2018).Google Scholar
- Yucheng Low, Joseph E Gonzalez, Aapo Kyrola, Danny Bickson, Carlos E Guestrin, and Joseph Hellerstein. 2014. Graphlab: A New Framework for Parallel Machine Learning. arXiv preprint arXiv:1408.2041 (2014).Google ScholarDigital Library
- Steffen Maass, Changwoo Min, Sanidhya Kashyap, Woonhak Kang, Mohan Kumar, and Taesoo Kim. 2017. Mosaic: Processing a Trillion-Edge Graph on a Single Machine. In Proceedings of the Twelfth European Conference on Computer Systems. ACM, 527--543.Google ScholarDigital Library
- 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 international conference on Management of data (SIGMOD '10).Google ScholarDigital Library
- Grzegorz Malewicz, Matthew H Austern, Aart JC 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. ACM, 135--146.Google ScholarDigital Library
- Ke Meng, Jiajia Li, Guangming Tan, and Ninghui Sun. 2019. A pattern based algorithmic autotuner for graph processing on GPUs. In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming. 201--213.Google ScholarDigital Library
- Duane Merrill, Michael Garland, and Andrew Grimshaw. 2012. Scalable GPU Graph Traversal. In ACM SIGPLAN Notices, Vol. 47. ACM, 117--128.Google ScholarDigital Library
- Donald Nguyen, Andrew Lenharth, and Keshav Pingali. 2013. A Lightweight Infrastructure for Graph Analytics. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. ACM, 456--471.Google ScholarDigital Library
- Dian Ouyang, Lu Qin, Lijun Chang, Xuemin Lin, Ying Zhang, and Qing Zhu. 2018. When Hierarchy Meets 2-Hop-Labeling: Efficient Shortest Distance Queries on Road Networks. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). 709--724.Google ScholarDigital Library
- Sreepathi Pai and Keshav Pingali. 2016. A Compiler for Throughput Optimization of Graph Algorithms on GPUs. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM, 1--19.Google ScholarDigital Library
- Scott Beamer Krste Asanovic David Patterson. 2012. Direction-Optimizing Breadth-First Search. SC12, November (2012), 10--16.Google ScholarDigital Library
- Zhen Peng, Alexander Powell, Bo Wu, Tekin Bicer, and Bin Ren. 2018. GraphPhi: Efficient Parallel Graph Processing on Emerging Throughput-oriented Architectures. In 2018 International Conference on Parallel Architecture and Compilation (PACT). ACM.Google ScholarDigital Library
- Qiongwen Xu, Xu Zhang, Jin Zhao, Xin Wang, and T. Wolf. 2016. Fast shortest-path queries on large-scale graphs. In 2016 IEEE 24th International Conference on Network Protocols (ICNP). IEEE, 1--10.Google Scholar
- Kun Qiu, Yuanyang Zhu, Jing Yuan, Jin Zhao, Xin Wang, and Tilman Wolf. 2018. ParaPLL: Fast Parallel Shortest-path Distance Query on Large-scale Weighted Graphs. In Proceedings of the 47th International Conference on Parallel Processing. ACM, 2.Google ScholarDigital Library
- Abdul Quamar, Amol Deshpande, and Jimmy Lin. 2016. NScale: Neighborhood-Centric Large-Scale Graph Analytics in the Cloud. The VLDB Journal-The International Journal on Very Large Data Bases 25, 2 (2016), 125--150.Google ScholarDigital Library
- Neil Robertson and Paul D. Seymour. 1986. Graph minors. II. Algorithmic aspects of tree-width. Journal of algorithms 7, 3 (1986), 309--322.Google ScholarCross Ref
- 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. ACM, 472--488.Google ScholarDigital Library
- Jagan Sankaranarayanan, Houman Alborzi, and Hanan Samet. 2006. Distance join queries on spatial networks. In Proceedings of the 14th annual ACM international symposium on Advances in geographic information systems (GIS '06).Google ScholarDigital Library
- J. Sankaranarayanan, H. Samet, and H. Alborzi. 2009. Path oracles for spatial networks. PVLDB 2 (August 2009). Issue 1.Google Scholar
- Ralf Schenkel, Anja Theobald, and Gerhard Weikum. 2004. HOPI: An Efficient Connection Index for Complex XML Document Collections. In Advances in Database Technology - EDBT 2004, Elisa Bertino, Stavros Christodoulakis, Dimitris Plexousakis, Vassilis Christophides, Manolis Koubarakis, Klemens Böhm, and Elena Ferrari (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 237--255.Google Scholar
- Robert Searles, Stephen Herbein, and Sunita Chandrasekaran. 2016. A portable, high-level graph analytics framework targeting distributed, heterogeneous systems. In 2016 Third Workshop on Accelerator Programming Using Directives (WAC-CPD). IEEE, 79--88.Google ScholarCross Ref
- Dipanjan Sengupta, Shuaiwen Leon Song, Kapil Agarwal, and Karsten Schwan. 2015. GraphReduce: Processing Large-scale Graphs on Accelerator-based Systems. In 2015 SC-International Conference for High Performance Computing, Networking, Storage and Analysis, SC. IEEE, 1--12.Google ScholarDigital Library
- P. Shiralkar, A. Flammini, F. Menczer, and G. L. Ciampaglia. 2017. Finding Streams in Knowledge Graphs to Support Fact Checking. In 2017 IEEE International Conference on Data Mining (ICDM). 859--864. Google ScholarCross Ref
- Julian Shun and Guy E Blelloch. 2013. Ligra: A Lightweight Graph Processing Framework for Shared Memory. In ACM Sigplan Notices, Vol. 48. ACM, 135--146.Google ScholarDigital Library
- Milan Stanic, Oscar Palomar, Ivan Ratkovic, Milovan Duric, Osman Unsal, Adrian Cristal, and Mateo Valero. 2014. Evaluation of vectorization potential of graph500 on intel's xeon phi. In 2014 International Conference on High Performance Computing & Simulation (HPCS). IEEE, 47--54.Google ScholarCross Ref
- Jiawen Sun, Hans Vandierendonck, and Dimitrios S. Nikolopoulos. 2017. Graph-Grind: Addressing Load Imbalance of Graph Partitioning. In Proceedings of the International Conference on Supercomputing (ICS '17). Association for Computing Machinery, New York, NY, USA, Article Article 16, 10 pages. Google ScholarDigital Library
- Jiawen Sun, Hans Vandierendonck, and Dimitrios S Nikolopoulos. 2017. Graph-Grind: addressing load imbalance of graph partitioning. In Proceedings of the International Conference on Supercomputing. 1--10.Google ScholarDigital Library
- Narayanan Sundaram, Nadathur Rajagopalan Satish, Md Mostofa Ali Patwary, Subramanya R Dulloor, Satya Gautam Vadlamudi, Dipankar Das, and Pradeep Dubey. 2015. Graphmat: High performance graph analytics made productive. arXiv preprint arXiv:1503.07241 (2015).Google Scholar
- Leslie G Valiant. 1990. A Bridging Model for Parallel Computation. Commun. ACM 33, 8 (1990), 103--111.Google ScholarDigital Library
- Yangzihao Wang, Andrew Davidson, Yuechao Pan, Yuduo Wu, Andy Riffel, and John D Owens. 2016. Gunrock: A High-Performance Graph Processing Library on the GPU. In Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM, 11.Google ScholarDigital Library
- Mathias Weller. 2014. Optimal Hub Labeling is NP-complete. CoRR abs/1407.8373 (2014).Google Scholar
- Da Yan, James Cheng, Yi Lu, and Wilfred Ng. 2014. Blogel: A block-centric framework for distributed computation on real-world graphs. Proceedings of the VLDB Endowment 7, 14 (2014), 1981--1992.Google ScholarDigital Library
- Kaiyuan Zhang, Rong Chen, and Haibo Chen. 2015. NUMA-Aware Graph-Structured Analytics. ACM SIGPLAN Notices 50, 8 (2015), 183--193.Google ScholarDigital Library
- Yunming Zhang, Mengjiao Yang, Riyadh Baghdadi, Shoaib Kamil, Julian Shun, and Saman Amarasinghe. 2018. GraphIt: A High-Performance DSL for Graph Analytics. arXiv preprint arXiv:1805.00923 (2018).Google Scholar
- Jianlong Zhong and Bingsheng He. 2014. Medusa: Simplified Graph Processing on GPUs. IEEE Transactions on Parallel and Distributed Systems 25, 6 (2014), 1543--1552.Google ScholarDigital Library
- Wenyong Zhong, Jianhua Sun, Hao Chen, Jun Xiao, Zhiwen Chen, Chang Cheng, and Xuanhua Shi. 2016. Optimizing graph processing on gpus. IEEE Transactions on Parallel and Distributed Systems 28, 4 (2016), 1149--1162.Google ScholarDigital Library
- Lei Zou, Lei Chen, and M. Tamer Özsu. 2009. Distance-join: pattern match query in a large graph database. Proc. VLDB Endow. 2, 1 (Aug. 2009), 886--897.Google ScholarDigital Library
Index Terms
- Parallelizing pruned landmark labeling: dealing with dependencies in graph algorithms
Recommendations
A multi-level parallelization concept for high-fidelity multi-block solvers
SC '97: Proceedings of the 1997 ACM/IEEE conference on SupercomputingThe integration of high-fidelity Computational Fluid Dynamics (CFD) analysis tools with the industrial design process benefits greatly from the robust implementations that are transportable across a wide range of computer architectures. In the present ...
A new augmentation based algorithm for extracting maximal chordal subgraphs
A graph is chordal if every cycle of length greater than three contains an edge between non-adjacent vertices. Chordal graphs are of interest both theoretically, since they admit polynomial time solutions to a range of NP-hard graph problems, and ...
Portable and Efficient Parallel Computing Using the BSP Model
The Bulk-Synchronous Parallel (BSP) model was proposed by Valiant as a standard interface between parallel software and hardware. In theory, the BSP model has been shown to allow the asymptotically optimal execution of architecture-independent software ...
Comments