Презентация:
«Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки».
Автор: Miloslavsky Alexander.
Файл: «Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки.ppt».
Размер zip-архива: 468 КБ.
№ | Слайд | Текст |
1 |
 |
Организация эффективного менеджера памяти, минимизирующеготемпоральные ошибки Милославский А. И. |
2 |
 |
ТерминыКрах. Аварийное завершение работы программы. Атака. Возможность вмешаться в ход выполнения программы злоумышленником. UB. Undefined behavior. Непредсказуемое поведение программы. Утечки памяти. Очистка. Приведение освобожденной памяти в эффективное для повторного выделения состояние. |
3 |
 |
Виды темпоральных ошибок1. Многократное освобождение блока. Нарушение работы системы выделения памяти. Удаление чужих данных. |
4 |
 |
Виды темпоральных ошибок2. Работа с блоком после освобождения его памяти. Чтение стертых данных. Ошибочное чтение чужих данных. Перезапись чужих данных. |
5 |
 |
Виды темпоральных ошибок3. Удаление неверного блока памяти. 4. Утечки памяти. |
6 |
 |
Постановка задачиТребования: 1. Умеренные накладные расходы. 2. Неограниченное время работы. 3. Минимизация всех негативных последствий темпоральных ошибок. 4. Возможность выполнять временную работу, связанную с большими затратами вычислительной мощности, в «спокойное время» в фоновом режиме. 5. Ранняя очистка. 6. Работа системы с кодом, не приспособленным для этого специально. Пожелания: 7. Малые накладные расходы. 8. Возможность аппаратной поддержки. 9. Полное исключение темпоральных ошибок. |
7 |
 |
Предыдущие работы[1] DinakarDhurjati, Vikram Adve – “Efficiently Detecting All Dangling Pointer Uses in Production Servers” [2] Wei Xu, Daniel C. DuVarney, R. Sekar - “An Efficient and Backwards-Compatible Transformation to Ensure Memory Safety of C Programs” [3] Harish Patil, Charles Fischer - “Low-cost, Concurrent Checking of Pointer and Array accesses in C Programs” [4] Emery D.Berger, Benjamin G.Zorn – “DieHard: Probabilistic Memory Safety for Unsafe Languages” |
8 |
 |
Сбор статистики1. Стартовая нагрузка 2. Объем использованного виртуального пространства в единицу времени 3. Распределение запросов по размеру запрошенного блока памяти 4. Типичное время жизни блока 5. Чередование выделения и освобождения блоков |
9 |
 |
|
10 |
 |
|
11 |
 |
EVE Online |
12 |
 |
EVE Online |
13 |
 |
EVE Online |
14 |
 |
Компилятор из поставки Visual Studio 2003 |
15 |
 |
Компилятор из поставки Visual Studio 2003 |
16 |
 |
Компилятор из поставки Visual Studio 2003 |
17 |
 |
Visual Studio 2003 |
18 |
 |
Visual Studio 2003 |
19 |
 |
Visual Studio 2003 |
20 |
 |
Стартовая нагрузкаПик достигается за несколько секунд Часто выполняется до 50% от общего числа запросов В основном короткоживущие блоки Большое чередование Высокий потенциал фрагментации |
21 |
 |
Объем использованного виртуального пространства в единицу времени2-3Мб в секунду Можно ожидать 30Мб/с Без очистки адресное пространство исчерпается за 100 дней |
22 |
 |
Распределение запросов по размеру запрошенного блока памятиВсегда есть типичные размеры блоков Возможна оптимизация за счет отдельных менеджеров памяти |
23 |
 |
Типичное время жизни блокаВ основном очень малое время жизни С учетом 15000 запросов в секунду, высокий риск возникновения проблем из-за ошибок |
24 |
 |
Чередование выделения и освобождения блоковКороткоживущие блоки сильно чередуются с долгоживущими Высокая степень фрагментации Корреляция с размером блока |
25 |
 |
Среднее число блоковДля EVE Online – около 3 миллионов Повышенная сложность учета блоков |
26 |
 |
DieHardOK Многократное освобождение блока. 99.5% Работа с блоком после освобождения его памяти. 99.5% Удаление неверного блока памяти. X Утечки памяти. |
27 |
 |
Результаты работыНаписана платформа для испытаний менеджера памяти на реальных программах Написана система сбора статистики использования памяти в реальных программах Написана программа для анализа собранной статистики Выполнен анализ собранной статистики Проведены исследования различных способов устройства менеджера памяти Рассмотрено влияние факторов, выявленных в статистике, на исследованные методы Собрана литература по вариантам, оптимизациям и различным аспектам реализации консервативных сборщиков мусора |
28 |
 |
Дальнейшая работаПридумать другие методы реализации менеджера памяти для лучшего выполнения требований и пожеланий Добавить консервативный сборщик мусора (подчасть 1 пункта) Реализовать менеджер памяти в коде Испытать менеджера памяти на реальных программах с использованием готовой платформы Внедрить готовый менеджер памяти в ОС |
«Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки» |
http://900igr.net/prezentacija/ekonomika/organizatsija-effektivnogo-menedzhera-pamjati-minimizirujuschego-temporalnye-oshibki-231741.html