Анализ эффективности потоково-локальной сборки мусора в распределённых системах хранения и обработки данных
https://doi.org/10.55648/1998-6920-2022-16-1-77-88
Аннотация
В данной работе рассматривается потоково-локальная сборка мусора – техника автоматического управления памятью, которая использует свойство объекта быть доступным только одному потоку исполнения. Возможность выделять и переиспользовать динамическую память независимо в каждом потоке, т.е. без дорогостоящих операций синхронизации, улучшает производительность и масштабируемость прикладных программ. В работе анализируется применимость данной техники к распределённым системам хранения и обработки данных, используемым в промышленности. Результаты свидетельствуют о том, что потоковолокальное управление памятью позволяет в полной мере задействовать ресурсы вычислительной системы и является многообещающим подходом к сборке мусора в высоконагруженных средах исполнения.
Об авторах
А. Ю. ФилатовРоссия
Филатов Александр Юрьевич, ассистент кафедры программирования ММФ НГУ; ведущий инженер Новосибирского исследовательского центра Huawei
Новосибирск
В. В. Михеев
Россия
Михеев Виталий Витальевич, старший преподаватель кафедры программирования ММФ НГУ; старший эксперт Новосибирского исследовательского центра Huawei
Новосибирск
Список литературы
1. Doligez D., Leroy X. A concurrent, generational garbage collector for a multithreaded implementation of ml // Proc. 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1993. P. 113–123.
2. Domani T., Goldshtein G., Kolodner E., Lewis E., Petrank E, Sheinwald D. Thread-local heaps for java. // In SIGPLAN Not, 2002. P. 76–87.
3. Apache Hadoop® official website [Электронный ресурс] // Apache Hadoop: [сайт]. URL: https://hadoop.apache.org/ (дата обращения: 01.01.2022).
4. Apache Spark official website [Электронный ресурс] // Apache Spark: [сайт]. URL: https://spark.apache.org/ (дата обращения: 01.01.2022).
5. Filatov A., Mikheev V. Evaluation of thread-local garbage collection // Proc. 2020 Ivannikov Memorial Workshop (IVMEM), 2020. P. 15–21.
6. Purdom P., Stigler S., Cheam T. Statistical investigation of three storage allocation algorithms // BIT Numerical Mathematics. 1971. P. 187–195.
7. Sleator D., Tarjan R. Self-adjusting binary search trees // J. ACM. 1985. P. 682–686.
8. Agesen O. Gc points in a threaded environment // Technical report, SMLI TR-98-70. 1998.
9. Dean J., Ghemawat S. Mapreduce: Simplified data processing on large clusters // Commun. ACM, 2008. P. 107–113.
10. Zaharia M., Chowdhury M., Franklin M., Shenker S., Stoica I. Spark: Cluster computing with working sets // Proc. 2nd USENIX Conference on Hot Topics in Cloud Computing, 2010. P. 10.
11. White T. Hadoop: The Definitive Guide // O’Reilly Media, Inc., 4th ed., 2015.
12. HiBench source repository [Электронный ресурс] // GitHub: [сайт]. URL: https://github.com/Intel-bigdata/HiBench (дата обращения: 01.01.2022).
13. MacQueen J. Some methods for classification and analysis of multivariate observations // Berkeley Symposium on Mathematical Statistics and Probability, 1967. P. 281–297.
14. Jones S., Launchbury J., Peyton Jones S. Unboxed values as first class citizens // Proc. ACM Conference on Functional Programming and Computer Architecture, 1991. P. 636–666.
15. O’Malley O. TeraByte Sort on Apache Hadoop [Электронный ресурс] // TeraByte Sort: [сайт]. URL: http://sortbenchmark.org/YahooHadoop.pdf (дата обращения: 01.01.2022).
16. Berger E., McKinley K., Blumofe R., Wilson P. Hoard: A scalable memory allocator for multithreaded applications // SIGARCH Comput. Archit. News. 2000. P. 117–128.
17. Vee V.-Y., Hsu W.-J. A scalable and efficient storage allocator on shared memory multiprocessors // Proc. 1999 International Symposium on Parallel Architectures, Algorithms and Networks, 1999. P. 230.
18. Kirsch C., Payer H., Röck H. Hierarchical plabs, clabs, tlabs in hotspot // Proc. International Conference on Systems (ICONS), 2012.
19. Anderson A. Optimizations in a private nursery-based garbage collector // Proc. 2010 International Symposium on Memory Management, 2010. P. 21–30.
20. Mole M., Jones R., Kalibera T. A study of sharing definitions in thread-local heaps // ICOOOLPS, 2012.
21. Mole M. A study of thread-local garbage collection for multi-core systems // PhD thesis, University of Kent, 2015.
Рецензия
Для цитирования:
Филатов А.Ю., Михеев В.В. Анализ эффективности потоково-локальной сборки мусора в распределённых системах хранения и обработки данных. Вестник СибГУТИ. 2022;(1):77-88. https://doi.org/10.55648/1998-6920-2022-16-1-77-88
For citation:
Filatov A.Yu., Mikheev V.V. Application of Thread-Local Garbage Collection to Distributed Systems for Large-Scale Data Processing. The Herald of the Siberian State University of Telecommunications and Information Science. 2022;(1):77-88. (In Russ.) https://doi.org/10.55648/1998-6920-2022-16-1-77-88