16
Технология CSM (Contract Shared Memory) в Microsoft Singularity

Miscosoft Singularity - konkurs presentation

Embed Size (px)

Citation preview

Технология CSM (Contract Shared Memory)

в Microsoft Singularity

Безопасность Singularity

Драйвер Процесс

1) Микроядро

Singularity

Микроядро

2) Изоляция процессов SIP (Software-Isolated Process)

Процесс 1 (SIP)

Процесс 2 (SIP)

контракт канал

Цена Безопасности(проблема)

Процесс – Сервер Int g=5;

Точка(Exp).SendOne(g);

Процесс – Клиент Int x=0;

Точка(Imp). RecvOne(x); Канал(2)

ExHeap

4

KERNEL

4

1

Контракт Message One(int x);

3 5

Технология передачи данных между процессами путём создания высокоуровневых каналов

Архитектура веб - сервера

Дисковый Драйвер

Сетевой Драйвер

канал канал Процесс 2

Процесс 1

канал

канал

Процесс 3

контракт контракт

контракт

контракт

Микроядро

Веб-Сервер

Singularity

Веб – Сервер для Singularity (Spec Web) Singularity

Singularity 91 операция в

секунду (362 Kбит/с)

Windows XP 761 операция в

секунду (362 Kбит/с)

VS

Разница в 8.3 раз!

Где проблема в Веб-Сервере?

Архитектура Веб-Сервера

Проблема в быстродействии передачи данных между

процессами. (В технологии отправки данных

путём канала)

Решение! Singularity Стандартная технология(Channel, ExHeap)

Технология CSM

Процесс - Сервер CSM.Share(“ID”,name,5);

Процесс – Клиент CSM.DataOut(“ID”,name);

CSM

Singularity

Безопасность CSM

4

Реализация CSM Singularity

Реализация CSM разбита на 8 частей: 1) Создание объекта CSM с указанным размером и с уникальным идентификатором 2) Реализация базовых функций объекта - записи и чтение данных в CSM: • Share – функция, записывающая в общую память данные • DataOut – функция, читающая данные из общей памяти • SizeOut - функция , возвращающая размер общей памяти 3) Создание проверок на совместимость вызываемых или записываемых данных 4) Инициализация объекта в Singularity 5) Создание безопасного контракта, по которому будет осуществлен канал между процессами. 6) Создание новых API(в Singularity ABI) функций 7) Создание Сервиса CSM, благодаря которому процессы смогут обращаться к Singularity и вызывать уже ABI функции CSM 8) Создание функции Back In Time!

Применение CSM

1)Адаптирована файловая система А)WriteFile Б) ReadFile 2)Адаптирован веб-сервер

Структура тестов

Веб - Сервер

СС

Дисковый драйвер

Микроядро (2 теста)

Были созданы четыре теста

Тест 1 Singularity

CSM 64 секунды

Channel (ExHeap) 456 секунд VS

Разница в 7.12 раз!

Тест 2 Singularity

CSM 158 секунд

Channel (ExHeap) 745 секунд VS

Разница в 4.7 раз!

Тест 3

Процесс

Дисковый драйвер

“Start Disk Test”

“End Disk Test”

2000 чисел 2000 чисел

4

2

3

CSM 164 секунд

Channel (ExHeap) 841 секунд VS

1

Разница в 5.12 раз!

Тест 4

Дисковый Драйвер

Сетевой Драйвер

канал канал Процесс 2

Процесс 1

канал

канал

Процесс 3

Веб-Сервер Клиент 10 файлов

(20000 строк)

CSM 839 операций

Channel (ExHeap) 173 операций VS

Разница в 4.8 раз!

Заключение

Тест 1 Тест 2 Тест 3 Тест 4 Разница между

CSM и стандартной технологии

(В пользу CSM)

в 7.12

в 4.7

в 5.12

в 4.8

Микроядро Дисковый драйвер

Веб-сервер

1. Веб сервер Singularity в 8.3 раз медленнее аналогичного под Windows

2. Выявлена проблема (меж-процессная взаимодействие) 3. Создание технологии CSM 4. CSM внедрена в дисковый драйвер и в веб-сервер 5. Проведены тесты, показана эффективность CSM: