Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемЕвгений Шарагин
1 Линчик Михаил Игоревич, 318 группа, ФРТК, МФТИ Научный руководитель: Морозов Ю.В.
2 память каналы обмена данными память В настоящее время многомашинные вычислительные комплексы (ММВК) на базе микропроцессоров ЗАО «МЦСТ» представляется пользователю как набор отдельных машин. Статическое распределение задач и неэффективная загрузка. реализовать программный продукт, учитывающий особенности ММВК, который создаёт пользователю этого ММВК видимость работы с единым вычислительным ресурсом с автоматическим и динамическим распределением задач.
3 switch сложность разработки; сложность поддержки; проблемы переносимости; необходимость создания окружения, среды разработки программ; Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Узел #1Узел #2Узел #3Узел #4
4 необходимость портирования библиотек межпроцессорного взаимодействия; адаптация старого и создание нового ПО с использованием библиотек; специальные Unix-подобные ОС для ускорения работы; Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Узел #2 Узел #3 Узел #4 Пр-во пользоват. Аппаратура Главный Узел #1 сообщения управление
5 статическое распределение нагрузки; Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Пр-во пользоват. Аппаратура Узел #2 Узел #3 Узел #4 Пр-во пользоват. Аппаратура Главный Узел #1 запросы
6 Ни один пакет не работает со Sparc-совместимой архитектурой Ни один пакет не позволяет в полной мере использовать возможности RDMA Пр-во пользоват. Аппаратура Узел #4 Пр-во пользоват. Аппаратура Узел #3 Пр-во пользоват. Аппаратура Узел #1 Пр-во пользоват. Аппаратура Узел #2 кс СЕТЬ
7 Создать программное обеспечение, основанное на механизме миграции процессов и организующее кластер с балансировкой нагрузки из узлов ММВК, которые: имеют Sparc-совместимый процессор и оперативную память соединены посредством Ethernet или RDMA каналов находятся под управлением ОС Linux.
8 Proc 1 Proc 2 Proc 1 Proc 2 Proc 1 Proc 3 Proc 2 Узел 1Узел 2 Узел 3Узел 4 Proc 3 Proc 3 Proc 4 Proc 5 Proc 4 Proc 5
9 драйвер устройства процессы daemon+управление драйвер сетевой драйвер Файловая подсистема Подсистема управления процессами Подсистема ввода/вывода Системные вызовы ф-сть для работы с процессами драйвер
10 Драйвер программа управл. ОС Приёмник Админ. dev_queue_xmit() { ……. } netif_rx() { ……. } Интерфейс взаимод. с драйвером Блок восстановл. процесса Proc1Proc2Proc3 Процессы do_ioctl() { … } Блок миграции Управление sk_buff Очередь пакетов
11 Внесение изменений в ядро: установка дополнений к коду уже существующих файлов ядра; добавление новых файлов в существующие каталоги ядра; внесение изменений в файлы, отвечающие за сборку (Makefile); Перекомпиляция и сборка ядра Подключение драйвера (модуля) к новому ядру.
12 Запустить драйвера с помощью стандартной утилиты ifconfig up: старт нитей (администратор, приёмник), регистрация в кластере, инициализация картины кластера на данном узле Повторить для каждого узла
13 node_count nodes proc_count migr_procs ……….. address * procs exproc_count * exprocs improc_count * improcs address * nodes exproc_count * exprocs improc_count * improcs address * nodes exproc_count * exprocs improc_count * improcs Структуры узлов …………… node_count * owner local_pid remote_pid * data_unit * owner * nodes * procs local_pid remote_pid * data_unit * owner * procs local_pid remote_pid * data_unit * owner Структуры процессов proc_count Структуры процессов Информационная единица
14 Header template * cur_skb full_length * owner …… sk_buff 1) Инициализация информационной единицы (шаблон заголовка и др. поля); 2) Добавление данных: автоматически добавляются пакеты для расширения объёма; 3) Завершение работы с инф. единицей: сформированные пакеты отправляются. 1) Полученные пакеты автоматически добавляются к информ. единице процесса и упорядочиваются; 2) Последовательное извлечение данных (в порядке заполнения); 3) Завершение работы с инф. единицей: удаление пакетов. Ethernet заголовок CloseNet заголовок Данные
15 Передача процесса на другой узел: отправить запрос, остановить процесс, переложить работу на процесс, удалить ненужные данные Удаленная работа (исполнение системных вызовов на домашнем узле)
16 Запуск миграции (ioctl) Подготовительные операции Отправка запроса (сообщ.) проверка возможности принять процесс отправить разрешение на миграцию переложить миграцию на сам процесс Передача процессом своих данных создать новый процесс и переложить работу по заполнению на него завершить заполнение и запуститься Отправить сообщение о конце миграции Удалить ненужные данные Ждать удалённых запросов Узел #1Узел #2 - нить-приёмник - текущий процесс - код драйвера
17 Процесс сделал системный вызов и перешёл в пр-во ядра Собирает данные Отправка запроса Предварительная обработка Пробуждение процесса Обработка запроса процессом Отправка результатов Получение данных Пробуждение процесса Обработка данных Завершение системного вызова Узел #1Узел #2 - нить-приёник - текущий процесс
18 Исследованы различные кластерные технологии, технологии поддержки распределённых вычислений и модели ОС. Реализована миграция простого вычислительного процесса (без зависимых от домашнего узла системных вызовов) между узлами через ethernet каналы с возможностью легко перейти на RDMA каналы. Проведены тесты на двух макетах процессоров R-500S. Спроектирована и находится в стадии исследования и разработки полнофункциональная система миграции процессов.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.