Руководитель
<<  Развитие Независимых Лидеров и построение Royalty Кто такой менеджер  >>
Организация эффективного менеджера памяти, минимизирующего
Организация эффективного менеджера памяти, минимизирующего
Термины
Термины
Виды темпоральных ошибок
Виды темпоральных ошибок
Виды темпоральных ошибок
Виды темпоральных ошибок
Виды темпоральных ошибок
Виды темпоральных ошибок
Постановка задачи
Постановка задачи
Предыдущие работы
Предыдущие работы
Сбор статистики
Сбор статистики
Организация эффективного менеджера памяти, минимизирующего
Организация эффективного менеджера памяти, минимизирующего
Организация эффективного менеджера памяти, минимизирующего
Организация эффективного менеджера памяти, минимизирующего
EVE Online
EVE Online
EVE Online
EVE Online
EVE Online
EVE Online
Компилятор из поставки Visual Studio 2003
Компилятор из поставки Visual Studio 2003
Компилятор из поставки Visual Studio 2003
Компилятор из поставки Visual Studio 2003
Компилятор из поставки Visual Studio 2003
Компилятор из поставки Visual Studio 2003
Visual Studio 2003
Visual Studio 2003
Visual Studio 2003
Visual Studio 2003
Visual Studio 2003
Visual Studio 2003
Стартовая нагрузка
Стартовая нагрузка
Объем использованного виртуального пространства в единицу времени
Объем использованного виртуального пространства в единицу времени
Распределение запросов по размеру запрошенного блока памяти
Распределение запросов по размеру запрошенного блока памяти
Типичное время жизни блока
Типичное время жизни блока
Чередование выделения и освобождения блоков
Чередование выделения и освобождения блоков
Среднее число блоков
Среднее число блоков
DieHard
DieHard
Результаты работы
Результаты работы
Дальнейшая работа
Дальнейшая работа

Презентация: «Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки». Автор: Miloslavsky Alexander. Файл: «Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки.ppt». Размер zip-архива: 468 КБ.

Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки

содержание презентации «Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки.ppt»
СлайдТекст
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

EVE Online

12 EVE Online

EVE Online

13 EVE Online

EVE Online

14 Компилятор из поставки Visual Studio 2003

Компилятор из поставки Visual Studio 2003

15 Компилятор из поставки Visual Studio 2003

Компилятор из поставки Visual Studio 2003

16 Компилятор из поставки Visual Studio 2003

Компилятор из поставки Visual Studio 2003

17 Visual Studio 2003

Visual Studio 2003

18 Visual Studio 2003

Visual Studio 2003

19 Visual Studio 2003

Visual Studio 2003

20 Стартовая нагрузка

Стартовая нагрузка

Пик достигается за несколько секунд Часто выполняется до 50% от общего числа запросов В основном короткоживущие блоки Большое чередование Высокий потенциал фрагментации

21 Объем использованного виртуального пространства в единицу времени

Объем использованного виртуального пространства в единицу времени

2-3Мб в секунду Можно ожидать 30Мб/с Без очистки адресное пространство исчерпается за 100 дней

22 Распределение запросов по размеру запрошенного блока памяти

Распределение запросов по размеру запрошенного блока памяти

Всегда есть типичные размеры блоков Возможна оптимизация за счет отдельных менеджеров памяти

23 Типичное время жизни блока

Типичное время жизни блока

В основном очень малое время жизни С учетом 15000 запросов в секунду, высокий риск возникновения проблем из-за ошибок

24 Чередование выделения и освобождения блоков

Чередование выделения и освобождения блоков

Короткоживущие блоки сильно чередуются с долгоживущими Высокая степень фрагментации Корреляция с размером блока

25 Среднее число блоков

Среднее число блоков

Для EVE Online – около 3 миллионов Повышенная сложность учета блоков

26 DieHard

DieHard

OK Многократное освобождение блока. 99.5% Работа с блоком после освобождения его памяти. 99.5% Удаление неверного блока памяти. X Утечки памяти.

27 Результаты работы

Результаты работы

Написана платформа для испытаний менеджера памяти на реальных программах Написана система сбора статистики использования памяти в реальных программах Написана программа для анализа собранной статистики Выполнен анализ собранной статистики Проведены исследования различных способов устройства менеджера памяти Рассмотрено влияние факторов, выявленных в статистике, на исследованные методы Собрана литература по вариантам, оптимизациям и различным аспектам реализации консервативных сборщиков мусора

28 Дальнейшая работа

Дальнейшая работа

Придумать другие методы реализации менеджера памяти для лучшего выполнения требований и пожеланий Добавить консервативный сборщик мусора (подчасть 1 пункта) Реализовать менеджер памяти в коде Испытать менеджера памяти на реальных программах с использованием готовой платформы Внедрить готовый менеджер памяти в ОС

«Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки»
http://900igr.net/prezentacija/ekonomika/organizatsija-effektivnogo-menedzhera-pamjati-minimizirujuschego-temporalnye-oshibki-231741.html
cсылка на страницу

Руководитель

9 презентаций о руководителе
Урок

Экономика

125 тем
Слайды
900igr.net > Презентации по экономике > Руководитель > Организация эффективного менеджера памяти, минимизирующего темпоральные ошибки