МАТЕМАТИЧНА МОДЕЛЬ ОПТИМІЗАЦІЇ ПОШУКУ ДУБЛІКАТІВ ОБ'ЄКТІВ ТИПА STRING У ЗНІМКАХ ПАМ'ЯТІ
DOI:
https://doi.org/10.34185/1562-9945-6-155-2024-23Ключові слова:
математична модель; оптимізація; алгоритм; продуктивність; знімок пам’яті; дублювання; строкаАнотація
Мета цієї роботи полягає у виявленні збільшеного використання пам'яті програмними додатками. Сучасний цикл розробки програмного забезпечення зосереджений на функціональності і часто ігнорує аспекти оптимального використання ресурсів. Обмежене фізичне масштабування задає верхній ліміт на пропускну здатність системи оброблювати запити. Наявність незмінних об’єктів з однаковою інформацію є ознакою збільшеної витрати пам’яті. Уникнення дублікатів об’єктів в пам’яті до-зволяє більш раціонально використовувати існуючий ресурс і збільшити обсяги оброб-люваної інформації. Існуючі наукові публікації фокусуються на дослідженні проблем витоків пам’яті, та обмежують увагою саме надмірне використання пам’яті через відсутність уніфікованої моделі пошуку надмірного використання пам’яті. Варто за-значити, що існуючі шаблони програмування містять шаблон «пул об’єктів», але за-лишають висновок про доцільність його впровадження інженерам, не надаючи мате-матичного підґрунтя. Представлено розробку математичної моделі для процесу вияв-лення дублікатів об'єктів з властивістю незмінності типу String в знімку пам’яті. Проаналізовано промислові системи, які вимагають сотні ГБ оперативної пам’яті для роботи та містять мільйони об’єктів в оперативній пам’яті. За таких масштабів даних, існує необхідність оптимізувати саме процес пошуку дублікатів. Методом до-слідження є аналіз знімків пам’яті високонавантажених систем за допомогою програ-много коду, розробленого на технології .NET та бібліотеці ClrMD. Знімок пам’яті ві-дображає стан досліджуваного процесу у момент часу, містить усі об’єкти, потоки та виконувані операції. Бібліотека ClrMD дозволяє програмно досліджувати об’єкти, їх типи, отримувати значення полів, будувати графи зв’язків між об’єктами. За ре-зультатами дослідження було запропоновано оптимізацію яка дозволяє пришвидшити процес пошуку дублікатів у декілька разів. Науковий внесок дослідження полягає в створенні математично обґрунтованого підходу, який сприяє значному зменшенню ви-користання ресурсів пам'яті та оптимізації обчислювальних процесів. Практична ко-ристь моделі підтверджується результатами оптимізації досягнутих завдяки отри-маним рекомендаціям, зниженням витрат на хостинг (що забезпечує більшу економіч-ну ефективність у розгортанні та використанні програмних систем у промислових умовах), а також збільшення обсягів оброблених даних.
Посилання
Gregg, Brendan. 2.7.3 Scaling solutions. Systems Performance, Second Edition. Boston : Addison-Wesley, 2021, с. 929.
Bentley, Jon Louis. Writing efficient programs. Englewood Cliffs, N.J. : Prentice-Hall, 1982. ISBN-13/ 978-0139702440.
3. Microsoft. Windows Virtual Machines Pricing. Cloud Computing Services | Microsoft Azure. [Online] Microsoft . [Cited: 8 February 2024 p.] https://azure.microsoft.com/en-us/pricing/details/virtual-machines/windows/.
Measuring the Cost of Regression Testing in Practice. Labuschagne, Adriaan, Laura Ino-zemtseva, Reid Holmes. New York : Association for Computing Machinery, 2017. 978-1-4503-5105-8.
Kleppmann, Martin. CHAPTER 5: Replication. Designing Data-Intensive Applications. місце видання невідоме : O’Reilly Media, 2017.
Efficiently and precisely locating memory leaks and bloat. Gene Novark, Emery D. Berger, Benjamin G. Zorn. Dublin : Proceedings of the 30th ACM SIGPLAN Conference on Pro-gramming Language Design and Implementation, 2009. 978-1-60558-392-1.
Analyzing Data Structure Growth Over Time to Facilitate Memory Leak Detection. Wen-inger, Markus. Mumbai : Association for Computing Machinery, 2019. 978-1-4503-6239-9.
Hewardt, Mario. Advanced .NET Debugging. Addison-Wesley Professional, 2009. 978-0-321-57889-1.
Hamad Naeem, Shi Dong, Olorunjube James Falana, Farhan Ullah. Development of a deep stacked ensemble with process based volatile memory forensics for platform independent malware detection and classification. Expert Systems with Applications. 2023 p., Т. 223.
Roy Osherove, Vladimir Khorikov. The Art of Unit Testing. Manning, 2024. ISBN 9781617297489.
Ioannis T. Christou, Sofoklis Efremidis. To Pool or Not To Pool? Revisiting an Old Pat-tern. Marousi : Athens Information Technology, 2018. arXiv:1801.03763.
Immutable Objects for a Java-Like Language. C. Haack, E. Poll, J. Schäfer, A. Schubert. Berlin : Springer, 2007. 978-3-540-71316-6.
M. Yu. Mitikov, N.A. Huk Overview of methods for identifying and analyzing perform-ance problems in software: approaches, challenges and prospects // Issues of applied mathe-matics and mathematical modeling [Text]: coll. of science pr. / editor: O.M. Kiselyova (corre-sponding editor) [etc.]. – Dnipro, 2023. – Issue 23. - p. 171 – 178. DOI: 10.15421/322318
MRm-DLDet: a memory-resident malware detection framework based on memory foren-sics and deep neural network. Liu, J., Feng, Y., Liu, X. 21, Cybersecurity, 2023 p., Т. 6. 10.1186/s42400-023-00157-w.
Завантаження
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Системні технології

Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.