Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Parallel Data Distribution Management on Shared-memory Multiprocessors

Published: 05 February 2020 Publication History
  • Get Citation Alerts
  • Abstract

    The problem of identifying intersections between two sets of d-dimensional axis-parallel rectangles appears frequently in the context of agent-based simulation studies. For this reason, the High Level Architecture (HLA) specification—a standard framework for interoperability among simulators—includes a Data Distribution Management (DDM) service whose responsibility is to report all intersections between a set of subscription and update regions. The algorithms at the core of the DDM service are CPU-intensive, and could greatly benefit from the large computing power of modern multi-core processors. In this article, we propose two parallel solutions to the DDM problem that can operate effectively on shared-memory multiprocessors. The first solution is based on a data structure (the interval tree) that allows concurrent computation of intersections between subscription and update regions. The second solution is based on a novel parallel extension of the Sort Based Matching algorithm, whose sequential version is considered among the most efficient solutions to the DDM problem. Extensive experimental evaluation of the proposed algorithms confirm their effectiveness on taking advantage of multiple execution units in a shared-memory architecture.

    References

    [1]
    IEEE. 2010. IEEE Standard for Modeling and Simulation (M8S) High Level Architecture (HLA)--Federate Interface Specification. IEEE Std 1516.1-2010 (Rev. of IEEE Std 1516.1-2000).
    [2]
    IEEE. 2010. IEEE Standard for Modeling and Simulation (M8S) High Level Architecture (HLA)--Framework and Rules. IEEE Std 1516-2010 (Rev. of IEEE Std 1516-2000).
    [3]
    IEEE. 2010. IEEE Standard for Modeling and Simulation (M8S) High Level Architecture (HLA)--Object Model Template (OMT) Specification. IEEE Std 1516.2-2010 (Rev. of IEEE Std 1516.2-2000).
    [4]
    Parallel and Distributed Simulation (PADS) Research Group. 2018. Parallel And Distributed Simulation (PADS) research group. Retrieved from: http://pads.cs.unibo.it.
    [5]
    Boost.org. 2019. Boost C++ libraries. Retrieved from: https://www.boost.org/.
    [6]
    Mark James Abraham, Teemu Murtola, Roland Schulz, Szilárd Páll, Jeremy C. Smith, Berk Hess, and Erik Lindahl. 2015. GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputers. SoftwareX 1-2 (2015), 19--25.
    [7]
    G. Adelson-Velskii and E. M. Landis. 1962. An algorithm for the organization of information. Dokl. Akad. Nauk USSR 146, 2 (1962), 263--266.
    [8]
    George Almási, Charles Archer, José G. Castaños, John A. Gunnels, C. Christopher Erway, Philip Heidelberger, Xavier Martorell, José E. Moreira, Kurt W. Pinnow, Joe Ratterman, Burkhard D. Steinmacher-Burow, William Gropp, and Brian R. Toonen. 2005. Design and implementation of message-passing services for the Blue Gene/L supercomputer. IBM J. Res. Dev. 49, 2--3 (2005), 393--406.
    [9]
    S. Ashkiani, M. Farach-Colton, and J. D. Owens. 2018. A dynamic hash table for the GPU. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS’18). 419--429.
    [10]
    Muhammad A. Awad, Saman Ashkiani, Rob Johnson, Martín Farach-Colton, and John D. Owens. 2019. Engineering a high-performance GPU B-tree. In Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming (PPoPP’19). ACM, New York, NY, 145--157.
    [11]
    Rudolf Bayer. 1972. Symmetric binary B-Trees: Data structure and maintenance algorithms. Acta Inf. 1, 4 (1972), 290--306.
    [12]
    Nathan Bell and Jared Hoberock. 2012. Chapter 26—Thrust: A productivity-oriented library for CUDA. In GPU Computing Gems Jade Edition, Wen mei W. Hwu (Ed.). Morgan Kaufmann, Boston, MA, 359--371.
    [13]
    Jon Louis Bentley and Derick Wood. 1980. An optimal worst case algorithm for reporting intersections of rectangles. IEEE Trans. Comput. C-29, 7 (July 1980), 571--577.
    [14]
    Guy E. Blelloch. 1989. Scans as primitive parallel operations. IEEE Trans. Comput. 38, 11 (Nov. 1989), 1526--1538.
    [15]
    A. Boukerche, N. J. McGraw, C. Dzermajko, and Kaiyuan Lu. 2005. Grid-filtered region-based data distribution management in large-scale distributed simulation systems. In Proceedings of the 38th Simulation Symposium. 259--266.
    [16]
    François Broquedis, François Diakhaté, Samuel Thibault, Olivier Aumage, Raymond Namyst, and Pierre-André Wacrenier. 2008. Scheduling dynamic OpenMP applications over multicore architectures. In Proceedings of the 4th International Workshop on OpenMP in a New Era of Parallelism (IWOMP’08), Rudolf Eigenmann and Bronis R. de Supinski (Eds.). Springer Berlin, 170--180.
    [17]
    C++ 2015. Programming Languages—Technical Specification for C++ Extensions for Parallelism. ISO/IEC TS 19570:2015. https://www.iso.org/standard/70588.html.
    [18]
    Nurhan Cetin, Kai Nagel, Bryan Raney, and Andreas Voellmy. 2002. Large-scale multi-agent transportation simulations. Comput. Phys. Commun. 147, 1 (2002), 559--564.
    [19]
    R. Cole. 1988. Parallel merge sort. SIAM J. Comput. 17, 4 (1988), 770--785.
    [20]
    Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. 2009. Introduction to Algorithms (3rd ed.). The MIT Press. I--XIX, 1--1292 pages.
    [21]
    Leonardo Dagum and Ramesh Menon. 1998. OpenMP: An industry-standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5 (Jan. 1998), 46--55. Issue 1.
    [22]
    Gabriele D’Angelo and Moreno Marzolla. 2014. New trends in parallel and distributed simulation: From many-cores to cloud computing. Sim. Mod. Pract. Theor. 49 (2014), 320--335.
    [23]
    Frank Devai and Laszlo Neumann. 2010. A rectangle-intersection algorithm with limited resource requirements. In Proceedings of the 10th IEEE International Conference on Computer and Information Technology (CIT’10). IEEE Computer Society, Washington, DC, 2335--2340.
    [24]
    Herbert Edelsbrunner. 1983. A new approach to rectangle intersections—Part II. Int. J. Comput. Math. 13, 3--4 (1983), 221--229.
    [25]
    Omer Eroglu, H. Ali Mantar, and Fatih Erdogan Sevilgen. 2008. Quadtree-based approach to data distribution management for distributed simulations. In Proceedings of the Spring Simulation Multiconference (SpringSim’08). Society for Computer Simulation International, 667--674. Retrieved from: http://dl.acm.org/citation.cfm?id=1400549.1400656.
    [26]
    R. A. Finkel and J. L. Bentley. 1974. Quad trees—A data structure for retrieval on composite keys. Acta Inf. 4, 1 (01 Mar. 1974), 1--9.
    [27]
    Leo J. Guibas and Robert Sedgewick. 1978. A dichromatic framework for balanced trees. In Proceedings of the 19th Symposium on Foundations of Computer Science. 8--21.
    [28]
    Antonin Guttman. 1984. R-trees: A dynamic index structure for spatial searching. SIGMOD Rec. 14, 2 (June 1984), 47--57.
    [29]
    W. Daniel Hillis and Guy L. Steele, Jr. 1986. Data parallel algorithms. Commun. ACM 29, 12 (Dec. 1986), 1170--1183.
    [30]
    Christian Jacob, Julius Litorco, and Leo Lee. 2004. Immunity through swarms: Agent-based simulations of the human immune system. In Artificial Immune Systems, Giuseppe Nicosia, Vincenzo Cutello, Peter J. Bentley, and Jon Timmis (Eds.). Springer Berlin, 400--412.
    [31]
    Yu Jun, C. Raczy, and G. Tan. 2002. Evaluation of a sort-based matching algorithm for DDM. In Proceedings of the 16th Workshop on Parallel and Distributed Simulation. 62--69.
    [32]
    Changho Sung, Junghyun Ahn, and Tag Gon Kim. 2012. A binary partition-based matching algorithm for data distribution management in a high-level architecture-based distributed simulation. Simul.: Trans. Soc. Mod. Simul. Int. 88, 11 (Nov. 2012), 1350--1367.
    [33]
    Franziska Klügl and Guido Rindsfüser. 2007. Large-scale agent-based pedestrian simulation. In Proceedings of the 5th German Conference on Multiagent System Technologies (MATES’07), Paolo Petta, Jörg P. Müller, Matthias Klusch, and Michael Georgeff (Eds.). Springer Berlin, 145--156.
    [34]
    Averill M. Law. 2009. How to build valid and credible simulation models. In Proceedings of the Winter Simulation Conference (WSC’09), M. D. Rossetti, R. R. Hill, B. Johansson, A. Dunkin, and R. G. Ingalls (Eds.). Winter Simulation Conference, 24--33.
    [35]
    Tianlin Li, Wenjie Tang, Yiping Yao, and Feng Zhu. 2018. A binary search enhanced sort-based interest matching algorithm. In Proceedings of the ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS’18). ACM, 125--128.
    [36]
    Elvis S. Liu and Georgios K. Theodoropoulos. 2009. An approach for parallel interest matching in distributed virtual environments. In Proceedings of the 13th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT’09). IEEE Computer Society, 57--65.
    [37]
    Elvis S. Liu and Georgios K. Theodoropoulos. 2013. An analysis of parallel interest matching algorithms in distributed virtual environments. In Proceedings of the Winter Simulations Conference (WSC’13). 2889--2901.
    [38]
    Elvis S. Liu and Georgios K. Theodoropoulos. 2014. Interest management for distributed virtual environments: A survey. ACM Comput. Surveys 46, 4, Article 51 (Apr. 2014), 42 pages.
    [39]
    Yanbing Liu, Hongbo Sun, Wenhui Fan, and Tianyuan Xiao. 2015. A parallel matching algorithm based on order relation for HLA data distribution management. Int. J. Mod., Simul., Sci. Comput. 06, 02 (2015), 1540002.
    [40]
    Deborah T. Marr, Frank Binns, David L. Hill, Glenn Hinton, David A. Koufaty, Alan J. Miller, and Michael Upton. 2002. Hyper-threading technology architecture and microarchitecture. Intel Technol. J. 6, 1 (Feb. 2002).
    [41]
    Moreno Marzolla, Gabriele D’Angelo, and Marco Mandrioli. 2013. A parallel data distribution management algorithm. In Proceedings of the IEEE/ACM 17th International Symposium on Distributed Simulation and Real Time Applications (DS-RT’13). 145--152.
    [42]
    Timothy Mattson, Beverly Sanders, and Berna Massingill. 2004. Patterns for Parallel Programming (1st ed.). Addison-Wesley Professional.
    [43]
    Edward M. McCreight. 1985. Priority search trees. SIAM J. Comput. 14, 2 (1985), 257--276.
    [44]
    Bruce Naylor, John Amanatides, and William Thibault. 1990. Merging BSP trees yields polyhedral set operations. SIGGRAPH Comput. Graph. 24, 4 (Sept. 1990), 115--124.
    [45]
    Ke Pan, Stephen John Turner, Wentong Cai, and Zengxiang Li. 2011. A dynamic sort-based DDM matching algorithm for HLA applications. ACM Trans. Model. Comput. Simul. 21, 3, Article 17 (Feb. 2011), 17 pages.
    [46]
    Mikel D. Petty and Amar Mukherjee. 1997. Experimental comparison of -rectangle intersection algorithms applied to HLA data distribution. In Proceedings of the Distributed Simulation Symposium. 13--26.
    [47]
    C. Raczy, G. Tan, and J. Yu. 2005. A sort-based DDM matching algorithm for HLA. ACM Trans. Model. Comput. Simul. 15, 1 (Jan. 2005), 14--38.
    [48]
    D. Rao, X. Hu, and L. Wu. 2013. Performance analysis of parallel data distribution management in large-scale battlefield simulation. In Proceedings of the 3rd International Conference on Computer Science and Network Technology. 134--138.
    [49]
    J. B. Rosenberg. 1985. Geographical data structures compared: A study of data structures supporting region queries. IEEE Trans. Comput.-Aided Des. Integ. Circ. Syst. 4, 1 (1985), 53--67.
    [50]
    H. W. Six and D. Wood. 1980. The rectangle intersection problem revisited. BIT Numer. Math. 20, 4 (1 Dec. 1980), 426--433.
    [51]
    H. W. Six and D. Wood. 1982. Counting and reporting intersections of d-ranges. IEEE Trans. Comput. 31, 3 (Mar. 1982), 181--187.
    [52]
    E. Solomonik and L. V. Kalé. 2010. Highly scalable parallel sorting. In Proceedings of the IEEE International Symposium on Parallel Distributed Processing (IPDPS’10). 1--12.
    [53]
    Bjarne Stroustrup. 2013. The C++ Programming Language, 4th Edition. Addison-Wesley.
    [54]
    Gary Tan, Rassul Ayani, YuSong Zhang, and Farshad Moradi. 2000. Grid-based data management in distributed simulation. In Proceedings of the 33rd Simulation Symposium. 7--13.
    [55]
    Gary Tan, YuSong Zhang, and Rassul Ayani. 2000. A hybrid approach to data distribution management. In Proceedings of the 4th IEEE International Workshop on Distributed Simulation and Real-Time Applications (DS-RT’00). IEEE Computer Society,Washington, DC.
    [56]
    Philippas Tsigas and Yi Zhang. 2003. A simple, fast parallel implementation of quicksort and its performance evaluation on SUN enterprise 10000. In Proceedings of the 11th Euromicro Workshop on Parallel, Distributed and Network-Based Processing (PDP’03). IEEE Computer Society, 372.
    [57]
    S. Uppoor and M. Fiore. 2011. Large-scale urban vehicular mobility for networking research. In Proceedings of the IEEE Vehicular Networking Conference (VNC’11). 62--69.
    [58]
    Daniel J. Van Hook, Steven J. Rak, and James O. Calvin. 1996. Approaches to RTI implementation of HLA data distribution management services. In Proceedings of the 15th Workshop on Standards for the Interoperability of Distributed Simulations. 535--544.
    [59]
    M. Wheat and D. J. Evans. 1992. An efficient parallel sorting algorithm for shared memory multiprocessors. Parallel Comput. 18, 1 (1992), 91--102.
    [60]
    Wm. A. Wulf and Sally A. McKee. 1995. Hitting the memory wall: Implications of the obvious. SIGARCH Comput. Archit. News 23, 1 (Mar. 1995), 20--24.

    Cited By

    View all
    • (2024)Hierarchical sort-based parallel algorithm for dynamic interest matchingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2024.104867188:COnline publication date: 1-Jun-2024
    • (2024)Parallel intersection counting on shared-memory multiprocessors and GPUsFuture Generation Computer Systems10.1016/j.future.2024.05.039159(423-431)Online publication date: Oct-2024
    • (2023)Design of tractor virtual test system based on high-level architecture technologyPLOS ONE10.1371/journal.pone.029322918:10(e0293229)Online publication date: 23-Oct-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Modeling and Computer Simulation
    ACM Transactions on Modeling and Computer Simulation  Volume 30, Issue 1
    January 2020
    165 pages
    ISSN:1049-3301
    EISSN:1558-1195
    DOI:10.1145/3382041
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 February 2020
    Accepted: 01 October 2019
    Revised: 01 May 2019
    Received: 01 June 2018
    Published in TOMACS Volume 30, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Data distribution management (DDM)
    2. high level architecture (HLA)
    3. parallel algorithms
    4. parallel and distributed simulation (PADS)

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 26 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Hierarchical sort-based parallel algorithm for dynamic interest matchingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2024.104867188:COnline publication date: 1-Jun-2024
    • (2024)Parallel intersection counting on shared-memory multiprocessors and GPUsFuture Generation Computer Systems10.1016/j.future.2024.05.039159(423-431)Online publication date: Oct-2024
    • (2023)Design of tractor virtual test system based on high-level architecture technologyPLOS ONE10.1371/journal.pone.029322918:10(e0293229)Online publication date: 23-Oct-2023
    • (2022)A General Framework for Sorting Large Data Sets Using Independent Subarrays of Approximately Equal LengthIEEE Access10.1109/ACCESS.2022.314598110(11584-11607)Online publication date: 2022
    • (2021)Distributed Approaches to Supply Chain SimulationACM Transactions on Modeling and Computer Simulation10.1145/346617031:4(1-31)Online publication date: 16-Aug-2021
    • (2021)A Parallel Hierarchical Sort-based Interest Matching AlgorithmProceedings of the 2021 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3437959.3459259(107-118)Online publication date: 21-May-2021

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media