Cанкт-Петербургский государственный университет математико-механический факультет кафедра системного программирования Перенос драйвера блочного устройства DST на уровень Ethernet для проекта Cirrostratus Курсовая работа студента 361 группы Колянова Д. А. Научный руководитель, аспирант ВТ СПбГУ ИТМО, ст. инженер-разработчик EMC Богатырев С.В. 2010
Предметная область Серверы с виртуальными машинами Серверы с физическими дисками Один Ethernet сегмент
Драйвер DST Блочные устройства (диски) представлены файлами, которые располагаются в каталоге /dev. User space: Команда на экспорт диска Команда на соединение с диском Kernel space: Взаимодействие с блочными устройствами по сети.
Цели работы Перенос драйвера на уровень Ethernet для последующей реализации разрабатываемого в проекте протокола. Получение выигрыша в производительности, за счет отказа от использования протоколов TCP/IP.
Реализация - 1 Сокет – программный интерфейс для обмена данными между процессами. TCP/IP сокеты: Заголовки пакетов обрабатываются автоматически Гарантируется надежный обмен данными Ethernet сокеты: Заголовки пакетов собираются вручную Нет гарантии доставки пакета
Реализация - 2 Смена адресации Добавление Ethernet – заголовков Преодоление различий в интерфейсах сокетов
Результаты Драйвер работает на уровне Ethernet. Ожидаемый выигрыш в производительности на данный момент не получен. Причина: большие затраты на восстановление транзакций, сбой которых вызывают потерянные пакеты.