Архітектура розподіленого програмного застосунку для генерування ландшафтів планетоїдів

dc.citation.epage8
dc.citation.issue1
dc.citation.journalTitleУкраїнський журнал інформаційних технологій
dc.citation.spage1
dc.citation.volume5
dc.contributor.affiliationНаціональний університет "Львівська політехніка"
dc.contributor.affiliationМюнхенський технічний університет
dc.contributor.affiliationLviv Polytechnic National University
dc.contributor.affiliationTechnical University of Munich
dc.contributor.authorЛевус, Є. В.
dc.contributor.authorПустельник, П. Я.
dc.contributor.authorМоравський, Р. О.
dc.contributor.authorМорозов, М. Ю.
dc.contributor.authorLevus, Ye. V.
dc.contributor.authorPustelnyk, P. Ya.
dc.contributor.authorMoravskyi, R. O.
dc.contributor.authorMorozov, M. Yu.
dc.coverage.placenameЛьвів
dc.coverage.placenameLviv
dc.date.accessioned2024-04-01T07:54:28Z
dc.date.available2024-04-01T07:54:28Z
dc.date.created2023-02-28
dc.date.issued2023-02-28
dc.description.abstractЗростання популярності генерування ландшафтів планетоїдів у відеоіграх, фільмах, інструментах симуляції посилює вимоги до якості, унікальності, масштабованості результатів візуалізації, які, водночас, зумовлюють підвищення вимог до обчислювальних ресурсів апаратних засобів. Запропоновано рішення щодо архітектури програмного застосунку для генерування ландшафтів планетоїдів, яке базується на поєднанні розподіленої обчислювальної системи і застосуванні паралелізму на підставі алгоритму Morsel-Driven Query Execution для подолання обмежень апаратного забезпечення. Розроблено обчислювальну модель генерування ландшафтів планетоїдів, яка містить компоненти: основний сервер, який підтримує gRPC з’єднання; сервери-працівники, які паралельно виконують завдання процедур генерування ландшафтів планетоїдів; геопросторова база даних, яка містить векторні дані згенерованих планетоїдів; бінарне сховище тривимірних моделей, які накладаються на згенерований ландшафт планетоїдів; tileset-сховище для зберігання растрових даних, необхідних для генерування; користувачі. Застосовано програмні агенти для уніфікації набору алгоритмів як єдиної сутності, що дає змогу вирішити проблему розширюваності програмного засобу. Для надсилання та опрацювання запитів у логічні канали, створені для послідовності агентів, використано розподілену систему обміну повідомленнями – брокер. Він базується на підході балансування навантаження для доставки запитів на генерування ландшафту до фонових процесів. Проведено обчислювальні експерименти для аналізу швидкодії затосунку при різних кількостях фонових процесів (1, 2; 4; 8; 16) та розмірах сегменту 512, 2048 пікселів. Отримано найменшу середню тривалість генерування одного сегменту при його розмірі 512 пікселів та кількості сегментів 64. Зменшено витрати процесорного часу від 2 до 5 разів, порівняно із застосунком, який використовує підхід збереження запитів у базі даних, за рахунок комплексного архітектурного рішення. Проведено порівняння роботи розробленого програмного засобу із застосунком MapGen. Ефективність рішення особливо помітна при великих обсягах даних, що визначається кількістю сегментів та їх розміром у пікселах.
dc.description.abstractThe procedural generation of planetoids finds its place in the field of visualization of virtual worlds in video games, movies, and simulation tools. Due to the growing popularity of the application, the requirements for the quality, uniqueness, and scalability of visualization results are increasing, which, in turn, leads to higher requirements for hardware computing resources. This paper proposes a solution for the architecture of a software system for generating planetoid landscapes, based on a combination of a distributed computing system and the use of parallelism based on the Morsel-Driven Query Execution algorithm to overcome hardware limitations. The computing model includes the following components: a main server that supports gRPC connections; worker servers that perform the task of generating planetoid landscapes in parallel; a geospatial database containing vector data of generated planetoids (rivers and reservoirs; geographic regions – biomes, forests, and other road segments) binary storage of three-dimensional models that are superimposed on the generated planetoid landscape; tileset-storage for storing raster data required for a generation; users who use the software system for generating planetoid landscapes to realize their own goals. The use of software agents in the built system allows unifying a set of algorithms as a single entity used for a particular stage of landscape generation and solving the problem of software system extensibility. A distributed messaging system, a broker, is used to send and process requests using a topic per software agent sequence position. The broker utilizes load balancing to deliver landscape generation requests to background workers. To analyze the system’s performance, experiments were conducted with different numbers of background workers (1, 2: 4, 8; 16) and segment sizes of 512, and 2048 pixels. The lowest average time for generating one segment was obtained when the segment size was 512 pixels and the number of segments was 64. The average segment generation time for the above experiments ranged from 0.33 to 9.32 seconds. The integrated architectural solution allowed to reduce the CPU time by 2 to 5 times compared to a system that uses the approach of storing queries in the database. The solution’s efficiency is especially noticeable with large amounts of data, which is determined by the number of segments and their size in pixels.
dc.format.extent1-8
dc.format.pages8
dc.identifier.citationАрхітектура розподіленого програмного застосунку для генерування ландшафтів планетоїдів / Є. В. Левус, П. Я. Пустельник, Р. О. Моравський, М. Ю. Морозов // Український журнал інформаційних технологій. — Львів : Видавництво Львівської політехніки, 2023. — Том 5. — № 1. — С. 1–8.
dc.identifier.citationenArchitecture of a distributed software system for procedural planetoid terrain generation / Ye. V. Levus, P. Ya. Pustelnyk, R. O. Moravskyi, M. Yu. Morozov // Ukrainian Journal of Information Technology. — Lviv : Lviv Politechnic Publishing House, 2023. — Vol 5. — No 1. — P. 1–8.
dc.identifier.doidoi.org/10.23939/ujit2023.01.001
dc.identifier.issn2707-1898
dc.identifier.urihttps://ena.lpnu.ua/handle/ntb/61560
dc.language.isouk
dc.publisherВидавництво Львівської політехніки
dc.publisherLviv Politechnic Publishing House
dc.relation.ispartofУкраїнський журнал інформаційних технологій, 1 (5), 2023
dc.relation.ispartofUkrainian Journal of Information Technology, 1 (5), 2023
dc.relation.references[1] Cassol, V. J., Marson, F. P., Vendramini, M., Paravisi, M., Bicho, A. L., Jung, C. R., & Musse, S. R. (2011). Simulation of autonomous agents using terrain reasoning. In Proc. the Twelfth IASTED International Conference on Computer Graphics and Imaging (CGIM 2011), Innsbruck, Austria. IASTED/ACTA Press. http://dx.doi.org/10.2316/P.2011.722-017
dc.relation.references[2] Hyttinen, T., Mäkinen, E., & Poranen, T. (2017). Terrain synthesis using noise by examples. In Proceedings of the 21st International Academic Mindtrek Conference. (pp. 17–25). https://doi.org/10.1145/3131085.3131099
dc.relation.references[3] Kamal, K. R., & Uddin, Y. S. (2007). Parametrically controlled terrain generation. In Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia. (pp. 17–23). https://doi.org/10.1145/1321261.1321264
dc.relation.references[4] Henham, W., Holloway, D., & Panton, L. (2016). Broadband acoustic scattering with modern aesthetics from random 3D terrain surfaces generated using the Fourier Synthesis algorithm. Acoustics 2016: The Second Australasian Acoustical Societies Conference. (pp. 203–212).
dc.relation.references[5] Spick, R. J., Cowling, P., & Walker, J. A. (2019). Procedural generation using spatial GANs for region-specific learning of elevation data. 2019 IEEE Conference on Games (CoG), (pp. 1–8). IEEE. https://doi.org/10.1109/CIG.2019.8848120
dc.relation.references[6] Castle, C. J., & Crooks, A. T. (2006). Principles and concepts of agent-based modelling for developing geospatial simulations.
dc.relation.references[7] Hofmann, P., Andrejchenko, V., Lettmayer, P., Schmitzberger, M., Gruber, M., Ozan, I., & Blaschke, T. (2016). Agent based image analysis (ABIA)-preliminary research results from an implemented framework. https://doi.org/10.3990/2.455
dc.relation.references[8] Jahanbani, M., Vahidnia, M. H., & Aspanani, M. (2022). Geographical agent-based modeling and satellite image processing with application to facilitate the exploration of minerals in Behshahr. Iran. Arabian Journal of Geosciences, 15(9), 901. https://doi.org/10.1007/s12517-022-10165-8
dc.relation.references[9] Ali, S. M., Doolan, M., Wernick, P., & Wakelam, E. (2018). Developing an agent-based simulation model of software evolution. Information and Software Technology, 96, 126–140. https://doi.org/10.1016/j.infsof.2017.11.013
dc.relation.references[10] Aderum, O., & Åkerlund, J. (2016). Controllable Procedural Ga­me Map Generation using Software Agents and Mixed Initiative.
dc.relation.references[11] Roohitavaf, M., Ren, K., Zhang, G., & Ben-Romdhane, S. (2019). LogPlayer: Fault-tolerant Exactly-once Delivery using gRPC Asynchronous Streaming. https://doi.org/10.48550/arXiv.1911.11286
dc.relation.references[12] Krämer, M., & Senner, I. (2015). A modular software architecture for processing of big geospatial data in the cloud. Computers & Graphics, 49, 69–81. https://doi.org/10.1016/j.cag.2015.02.005
dc.relation.references[13] Leis, V., Boncz, P., Kemper, A., & Neumann, T. (2014). Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age. Proceedings of the 2014 ACM SIGMOD international conference on Management of data, (pp. 743–754). https://doi.org/10.1145/2588555.2610507
dc.relation.references[14] Jacobsen, R. H., Jeppesen, J. H., Laursen, K. F., Skovsgaard, J., Jensen, H. N., & Toftegaard, T. S. (2017). A scalable cloud computing infrastructure for geospatial data analytics for change detection. 2017 Euromicro Conference on Digital System Design (DSD), (pp. 403–410). IEEE. https://doi.org/10.1109/DSD.2017.49
dc.relation.references[15] Jamzuri, E. R., Mandala, H., Analia, R., & Susanto, S. (2022). Cloud-Based Architecture for YOLOv3 Object Detector using gRPC and Protobuf. Jurnal Teknik Elektro, 14(1), 18–23. https://doi.org/10.15294/jte.v14i1.36537
dc.relation.references[16] Minailenko R., Sobinov O., Konoplitska-Slobodenyuk K., Burav­chenko K. (2021). Architectural Features of Distributed Computing Systems. Central Ukrainian Scientific Bulletin. Technical Sciences, 35(4), 16–23. https://doi.org/10.32515/2664-262X.2021
dc.relation.references[17] Sharvari, T., & Sowmya Nag, K. (2019). A study on Modern Messaging Systems – Kafka. RabbitMQ and NATS Streaming. https://doi.org/10.48550/arXiv.1912.03715
dc.relation.references[18] Wu, H., Shang, Z., & Wolter, K. (2019, August). Performance prediction for the Apache Kafka messaging system. 2019 IEEE 21st International Conference on High Performance Com­puting and Communications; IEEE 17th International Con­fe­ence on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), (pp. 154–161). IEEE. https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00036
dc.relation.references[19] Levus, Y., Westermann, R., Morozov, M., Moravskyi, R., & Pus­telnyk, P. (2022). Using Software Agents in a Distri­buted Computing System for Procedural Planetoid Terrain Gene­ration. 2022 IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT). (pp. 446–449). IEEE. https://doi.org/10.1109/CSIT56902.2022.10000868
dc.relation.references[20] Doran, J., & Parberry, I. (2010). Controlled procedural terrain generation using software agents. IEEE Transactions on Computational Intelligence and AI in Games, 2(2), 111–119. https://doi.org/10.1109/TCIAIG.2010.2049020
dc.relation.references[21] Lim, F. Y., Tan, Y. W., & Bhojan, A. (2022). Visually improved erosion algorithm for the procedural generation of tile-based terrain. arXiv preprint arXiv:2210.14496. https://doi.org/10.5220/0010799700003124
dc.relation.references[22] Gasch, C., Chover, M., Remolar, I., & Rebollo, C. (2020). Proce­dural modelling of terrains with constraints. Multimedia Tools and Applications, 79, 31125–31146. https://doi.org/10.1007/s11042-020-09476-3
dc.relation.references[23] Mete, M. O., & Yomralioglu, T. (2021). Implementation of ser­ver­less cloud GIS platform for land valuation. International Journal of Digital Earth, 14(7), 836–850. https://doi.org/10.1080/17538947.2021.1889056
dc.relation.references[24] Fanini, B., Pescarin, S., & Palombini, A. (2019). A cloud-based archi­tecture for processing and dissemination of 3D landscapes online. Digital Applications in Archaeology and Cultural Heritage, 14, e00100. https://doi.org/10.1016/j.daach.2019.e00100
dc.relation.referencesen[1] Cassol, V. J., Marson, F. P., Vendramini, M., Paravisi, M., Bicho, A. L., Jung, C. R., & Musse, S. R. (2011). Simulation of autonomous agents using terrain reasoning. In Proc. the Twelfth IASTED International Conference on Computer Graphics and Imaging (CGIM 2011), Innsbruck, Austria. IASTED/ACTA Press. http://dx.doi.org/10.2316/P.2011.722-017
dc.relation.referencesen[2] Hyttinen, T., Mäkinen, E., & Poranen, T. (2017). Terrain synthesis using noise by examples. In Proceedings of the 21st International Academic Mindtrek Conference. (pp. 17–25). https://doi.org/10.1145/3131085.3131099
dc.relation.referencesen[3] Kamal, K. R., & Uddin, Y. S. (2007). Parametrically controlled terrain generation. In Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia. (pp. 17–23). https://doi.org/10.1145/1321261.1321264
dc.relation.referencesen[4] Henham, W., Holloway, D., & Panton, L. (2016). Broadband acoustic scattering with modern aesthetics from random 3D terrain surfaces generated using the Fourier Synthesis algorithm. Acoustics 2016: The Second Australasian Acoustical Societies Conference. (pp. 203–212).
dc.relation.referencesen[5] Spick, R. J., Cowling, P., & Walker, J. A. (2019). Procedural generation using spatial GANs for region-specific learning of elevation data. 2019 IEEE Conference on Games (CoG), (pp. 1–8). IEEE. https://doi.org/10.1109/CIG.2019.8848120
dc.relation.referencesen[6] Castle, C. J., & Crooks, A. T. (2006). Principles and concepts of agent-based modelling for developing geospatial simulations.
dc.relation.referencesen[7] Hofmann, P., Andrejchenko, V., Lettmayer, P., Schmitzberger, M., Gruber, M., Ozan, I., & Blaschke, T. (2016). Agent based image analysis (ABIA)-preliminary research results from an implemented framework. https://doi.org/10.3990/2.455
dc.relation.referencesen[8] Jahanbani, M., Vahidnia, M. H., & Aspanani, M. (2022). Geographical agent-based modeling and satellite image processing with application to facilitate the exploration of minerals in Behshahr. Iran. Arabian Journal of Geosciences, 15(9), 901. https://doi.org/10.1007/s12517-022-10165-8
dc.relation.referencesen[9] Ali, S. M., Doolan, M., Wernick, P., & Wakelam, E. (2018). Developing an agent-based simulation model of software evolution. Information and Software Technology, 96, 126–140. https://doi.org/10.1016/j.infsof.2017.11.013
dc.relation.referencesen[10] Aderum, O., & Åkerlund, J. (2016). Controllable Procedural Ga­me Map Generation using Software Agents and Mixed Initiative.
dc.relation.referencesen[11] Roohitavaf, M., Ren, K., Zhang, G., & Ben-Romdhane, S. (2019). LogPlayer: Fault-tolerant Exactly-once Delivery using gRPC Asynchronous Streaming. https://doi.org/10.48550/arXiv.1911.11286
dc.relation.referencesen[12] Krämer, M., & Senner, I. (2015). A modular software architecture for processing of big geospatial data in the cloud. Computers & Graphics, 49, 69–81. https://doi.org/10.1016/j.cag.2015.02.005
dc.relation.referencesen[13] Leis, V., Boncz, P., Kemper, A., & Neumann, T. (2014). Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age. Proceedings of the 2014 ACM SIGMOD international conference on Management of data, (pp. 743–754). https://doi.org/10.1145/2588555.2610507
dc.relation.referencesen[14] Jacobsen, R. H., Jeppesen, J. H., Laursen, K. F., Skovsgaard, J., Jensen, H. N., & Toftegaard, T. S. (2017). A scalable cloud computing infrastructure for geospatial data analytics for change detection. 2017 Euromicro Conference on Digital System Design (DSD), (pp. 403–410). IEEE. https://doi.org/10.1109/DSD.2017.49
dc.relation.referencesen[15] Jamzuri, E. R., Mandala, H., Analia, R., & Susanto, S. (2022). Cloud-Based Architecture for YOLOv3 Object Detector using gRPC and Protobuf. Jurnal Teknik Elektro, 14(1), 18–23. https://doi.org/10.15294/jte.v14i1.36537
dc.relation.referencesen[16] Minailenko R., Sobinov O., Konoplitska-Slobodenyuk K., Burav­chenko K. (2021). Architectural Features of Distributed Computing Systems. Central Ukrainian Scientific Bulletin. Technical Sciences, 35(4), 16–23. https://doi.org/10.32515/2664-262X.2021
dc.relation.referencesen[17] Sharvari, T., & Sowmya Nag, K. (2019). A study on Modern Messaging Systems – Kafka. RabbitMQ and NATS Streaming. https://doi.org/10.48550/arXiv.1912.03715
dc.relation.referencesen[18] Wu, H., Shang, Z., & Wolter, K. (2019, August). Performance prediction for the Apache Kafka messaging system. 2019 IEEE 21st International Conference on High Performance Com­puting and Communications; IEEE 17th International Con­fe­ence on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), (pp. 154–161). IEEE. https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00036
dc.relation.referencesen[19] Levus, Y., Westermann, R., Morozov, M., Moravskyi, R., & Pus­telnyk, P. (2022). Using Software Agents in a Distri­buted Computing System for Procedural Planetoid Terrain Gene­ration. 2022 IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT). (pp. 446–449). IEEE. https://doi.org/10.1109/CSIT56902.2022.10000868
dc.relation.referencesen[20] Doran, J., & Parberry, I. (2010). Controlled procedural terrain generation using software agents. IEEE Transactions on Computational Intelligence and AI in Games, 2(2), 111–119. https://doi.org/10.1109/TCIAIG.2010.2049020
dc.relation.referencesen[21] Lim, F. Y., Tan, Y. W., & Bhojan, A. (2022). Visually improved erosion algorithm for the procedural generation of tile-based terrain. arXiv preprint arXiv:2210.14496. https://doi.org/10.5220/0010799700003124
dc.relation.referencesen[22] Gasch, C., Chover, M., Remolar, I., & Rebollo, C. (2020). Proce­dural modelling of terrains with constraints. Multimedia Tools and Applications, 79, 31125–31146. https://doi.org/10.1007/s11042-020-09476-3
dc.relation.referencesen[23] Mete, M. O., & Yomralioglu, T. (2021). Implementation of ser­ver­less cloud GIS platform for land valuation. International Journal of Digital Earth, 14(7), 836–850. https://doi.org/10.1080/17538947.2021.1889056
dc.relation.referencesen[24] Fanini, B., Pescarin, S., & Palombini, A. (2019). A cloud-based archi­tecture for processing and dissemination of 3D landscapes online. Digital Applications in Archaeology and Cultural Heritage, 14, e00100. https://doi.org/10.1016/j.daach.2019.e00100
dc.relation.urihttp://dx.doi.org/10.2316/P.2011.722-017
dc.relation.urihttps://doi.org/10.1145/3131085.3131099
dc.relation.urihttps://doi.org/10.1145/1321261.1321264
dc.relation.urihttps://doi.org/10.1109/CIG.2019.8848120
dc.relation.urihttps://doi.org/10.3990/2.455
dc.relation.urihttps://doi.org/10.1007/s12517-022-10165-8
dc.relation.urihttps://doi.org/10.1016/j.infsof.2017.11.013
dc.relation.urihttps://doi.org/10.48550/arXiv.1911.11286
dc.relation.urihttps://doi.org/10.1016/j.cag.2015.02.005
dc.relation.urihttps://doi.org/10.1145/2588555.2610507
dc.relation.urihttps://doi.org/10.1109/DSD.2017.49
dc.relation.urihttps://doi.org/10.15294/jte.v14i1.36537
dc.relation.urihttps://doi.org/10.32515/2664-262X.2021
dc.relation.urihttps://doi.org/10.48550/arXiv.1912.03715
dc.relation.urihttps://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00036
dc.relation.urihttps://doi.org/10.1109/CSIT56902.2022.10000868
dc.relation.urihttps://doi.org/10.1109/TCIAIG.2010.2049020
dc.relation.urihttps://doi.org/10.5220/0010799700003124
dc.relation.urihttps://doi.org/10.1007/s11042-020-09476-3
dc.relation.urihttps://doi.org/10.1080/17538947.2021.1889056
dc.relation.urihttps://doi.org/10.1016/j.daach.2019.e00100
dc.rights.holder© Національний університет “Львівська політехніка”, 2023
dc.subjectпрограмні агенти
dc.subjectобмін повідомленнями
dc.subjectтехнологія gRPC
dc.subjectброкер
dc.subjectшвидкодія застосунку
dc.subjectобчислювальна модель
dc.subjectsoftware agents
dc.subjectmessaging
dc.subjectgRPC technology
dc.subjectbroker
dc.subjectsystem performance
dc.subjectcomputational model
dc.titleАрхітектура розподіленого програмного застосунку для генерування ландшафтів планетоїдів
dc.title.alternativeArchitecture of a distributed software system for procedural planetoid terrain generation
dc.typeArticle

Files

Original bundle

Now showing 1 - 2 of 2
Thumbnail Image
Name:
2023v5n1_Levus_Ye_V-Architecture_of_a_distributed_1-8.pdf
Size:
1.27 MB
Format:
Adobe Portable Document Format
Thumbnail Image
Name:
2023v5n1_Levus_Ye_V-Architecture_of_a_distributed_1-8__COVER.png
Size:
1.61 MB
Format:
Portable Network Graphics

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.89 KB
Format:
Plain Text
Description: