Засіб аналізу продуктивності програм для процесорних архітектур

dc.contributor.advisorБоярінова, Юлія Євгенівна
dc.contributor.authorТупало, Костянтин Сергійович
dc.date.accessioned2024-02-09T05:50:27Z
dc.date.available2024-02-09T05:50:27Z
dc.date.issued2024
dc.description.abstractАктуальність теми. Актуальність дослідження даної тематики полягає в тому, що сучасні обчислювальні системи стають все більш складними, громіздкими та різноманітними. Тому для дослідження ресурсів, які використовуються в програмах високого рівня (тобто профайлінг), застосовуються спеціалізовані програми, що називаються профайлерами. Профайлінг процесорної архітектури є важливим інструментом для виявлення проблем у роботі процесора, оптимізації програмного коду та підвищення ефективності математичних обчислень. Також, завдяки профайлінгу програміст може знайти ті частини коду на які припадає найбільша частка часу виконання програми. Під час профайлінгу програм вимірюють кількість викликів функцій та час їх виконання. Тому дослідження даної тематики несе велику користь для того щоб розробляти швидкісні та оптимізовані програми. Об’єктом дослідження є процеси профайлінгу та оптимізації програм. Предметом дослідження є способи і засоби профайлінгу і оптимізації програм. Мета роботи. Дослідження способів профайлінгу програм і розробка профайлера процесорної архітектури, який дозволяє виявляти і усувати проблеми у роботі програм, підвищувати їх швидкодію та оптимізувати використання ресурсів процесора. Наукова новизна. Запропоновано вдосконалення профайлера процесорної архітектури, що відрізняється від наявних тим, що він є багатозадачним, демонструє задіяні та вільні ресурси, візуалізує розміщення кодів у пам'яті, виводить найвитратніші фрагменти програмного коду та попереджає про недопустимі фрагменти програми, що дає змогу досягти ефективної оптимізації програми. Практична цінність. Розроблено профайлер, який демонструє візуалізацію процесів у програмі і показує найвитратніші фрагменти програмного коду. Також є можливість призупинити виконання програми і в режимі реального часу побачити задіяні ресурси процесора. Це дозволяє оцінити завантаженість всієї системи в той момент часу коли програма здійснює свою найбільшу продуктивність. Апробація результатів дисертації. Результати та висновки засобів для профайлінгу програм були представлені та обговорювалися на науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2023 (Київ, 28-30 листопада 2023 р.) та VI Міжнародна наукова конференція «Науковий простір: актуальні питання, досягнення та інновації» (15.12.2023; м. Київ, Україна). Тези розміщені в Додаток А. Структура та обсяг роботи. Магістерська дисертація складається з вступу, п'ятьох розділів, висновків та додатків. Повний обсяг дисертації – 117 сторінок, у тому числі 88 сторінок основного тексту, 66 рисунків. У вступі подано узагальнену характеристику роботи, оцінена проблематика сучасних високонавантажених програм і засобів для їх оптимізацій. У першому розділі розглянуто вже існуючі засоби та способи профайлінгу і оптимізації програм, а також проведено порівняльний аналіз, який дає змогу визначити і оцінити переваги та недоліки існуючих засобів профайлінгу і оптимізації високонавантажених програм. У другому розділі розглянуто аналіз продуктивності процесора, та опис запропонованого засобу апаратнозалежного профайлінгу програм. В третьому розділі описано реалізацію програмного продукту. В четвертому розділі проведено тестування розробленого засобу профайлінгу програми з метою обґрунтування його ефективності з визначеними критеріями. У висновках представлені результати проведеної роботи.
dc.description.abstractotherActuality of theme. The relevance of the study of this topic is that modern computing systems are becoming increasingly complex, cumbersome and diverse. Therefore, to study the resources used in high-level programs, additional special-purpose programs are used. First of all, these programs are called profilers. Processor architecture profiling is becoming an important tool for detecting problems in the processor, optimising program code, and improving the efficiency of mathematical calculations. Profiling also helps programmers to find the parts of the code that account for the largest share of the programme execution. When profiling programs, the number of function calls and their execution time are measured. Therefore, the study of this topic is of great benefit in order to develop fast and optimised programs. The object of the study is the processes of profiling and optimizing applications. The subject of the study is the methods of profiling and optimizing applications. Purpose: to study the methods of profiling programs and develop a processor architecture profiler that allows detecting and eliminating problems in the operation of programs, increasing their performance and optimizing the use of processor resources. The scientific novelty of the work an improvement of the processor architecture profiling is proposed, which differs from the existing ones in that it is multitasking, demonstrates the used and free resources, visualizes the placement of codes in memory, displays the most costly codes and warns about invalid codes of the program. The practical value a profiler has been developed that demonstrates the visualization of processes in a programme and shows the most costly codes. It is also possible to pause the program execution and see the processor resources involved in real time. This allows you to estimate the workload of the entire system at the time when the program is at its most productive. Work approbation. The results and conclusions of the software profiling tools were presented and discussed at the scientific conference of undergraduate and postgraduate students "Applied Mathematics and Computer Science" PMC-2023 (Kyiv, 27-30 November 2023) and the VI International Scientific Conference "Scientific Space: Topical Issues, Achievements and Innovations" (15.12.2023; Kyiv, Ukraine). Structure and scope of the work The master's thesis consists of an introduction, four chapters, conclusions and appendices. The total volume of the thesis is 117 pages, including 88 pages of the main text, 66 figures. The introduction provides a generalized description of the work, assesses the problems of modern high-load programs and tools for their optimisation. The first section discusses the existing tools and methods of profiling and optimizing programs, as well as a comparative analysis that allows to identify and evaluate the advantages and disadvantages of existing tools for profiling and optimizing highly loaded programs. In the second section, we analyze processor performance and describe the proposed hardware-dependent application profiling tool. The third section describes the implementation of the software product. In the fourth section tests the developed application profiling tool in order to substantiate its effectiveness against the defined criteria. The conclusion presents the results of the work carried out.
dc.format.extent117 с.
dc.identifier.citationТупало, К. С. Засіб аналізу продуктивності програм для процесорних архітектур : магістерська дис. : 123 Комп'ютерна інженерія / Тупало Костянтин Сергійович. – Київ, 2024. – 117 с.
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/64410
dc.language.isouk
dc.publisherКПІ ім. Ігоря Сікорського
dc.publisher.placeКиїв
dc.subject.udc004.2 : 004.94 : 004.45
dc.titleЗасіб аналізу продуктивності програм для процесорних архітектур
dc.typeMaster Thesis

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Tupalo_magistr.pdf
Розмір:
5.42 MB
Формат:
Adobe Portable Document Format
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
8.98 KB
Формат:
Item-specific license agreed upon to submission
Опис: