WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     | 1 || 3 |

Основное отличие предлагаемой архитектуры по сравнению с существующими распределёнными файловыми системами состоит в том, что доступ к удалённым данным предлагается реализовать на уровне блоков. Доступ к блокам при этом доступен только в режиме ядра ОС, поэтому ещё одним принципиальным отличием является то, что программы обслуживания распределённой файловой системы полностью выполняются в режиме ядра ОС.

Рис. 1. Архитектура быстрой распределённой файловой системы.

На узле–клиенте запрос процесса пользователя к удалённым данным при помощи системного вызова передаётся ядру, а именно VFS (Virtual File System – Виртуальная Файловая Система). VFS исполняется в режиме ядра и обеспечивает прозрачность представления разных файловых систем. Она определяет тип файловой системы, которой адресован запрос, и передаёт его соответствующему драйверу файловой системы. Файловая система преобразует запрос пользователя к данным в запрос к соответствующему носителю информации и передаёт его клиенту. Клиент создаёт удалённый запрос и передаёт его с помощью драйвера сети узлу–серверу. На узле–сервере сервер принимает запрос клиента от драйвера сети, анализирует его, затем формирует запрос к носителю информации и передаёт его драйверу носителя. Драйвер носителя осуществляет обмен с носителем и возвращает данные серверу. Получив данные, сервер создаёт ответ на удалённый запрос, и передаёт его с помощью драйвера сети узлу–клиенту. На узле–клиенте клиент получает ответ сервера от драйвера сети, анализирует его, затем возвращает данные драйверу файловой системы, который возвращает их VFS, и далее – пользователю.

Клиент БРФС предоставляет процессу пользователя возможность обращения к удалённым данным. Поскольку клиент выполняется в режиме ядра ОС и не имеет независимой от пользователя активности, то его целесообразно реализовать в виде блочного драйвера, подобного драйверу носителя информации. Такая реализация приводит к тому, что запросы от пользовательского процесса к клиенту поступают в виде запросов к секторам носителя информации. Такие запросы можно передавать в пределах ядра любому блочному драйверу с помощью штатных функций. Таким образом, задачей клиента является пересылка запроса к блочному драйверу на сервер.

Сервер БРФС должен иметь возможность обрабатывать запросы клиентов независимо от активности процессов пользователя на узле-сервере. Функционирование сервера в режиме ядра накладывает определённые ограничения на способы его реализации. Фактически методы современных ядер Unix-подобных операционных систем позволяют реализовать независимый сервер внутри ядра только с помощью потоков ядра. Для обеспечения высокой скорости реакции на запрос клиента, а также для обеспечения незначительного уменьшения скорости обработки запросов в случае высокой нагрузки клиентов на сервер, предлагается использовать как минимум три разных типа потоков. Первый тип потоков принимает запросы клиентов. Второй тип перенаправляет запрос клиента к носителю информации. Так как клиентов может быть несколько, то необходим также третий тип, контролирующий передачу запросов клиентов между этими двумя потоками.

Необходимо отметить, что предлагаемая архитектура БРФС для её реализации требует некоторой аппаратной поддержки программного обеспечения, что накладывает определённые ограничения на её применение:

  • центральные процессоры узлов распределённой вычислительной системе должны иметь одинаковый формат порядка следования байтов;
  • аппаратура, связанная с обменом данными (а именно контроллеры носителей информации и каналов связи), должна иметь возможность прямого обмена с памятью (без использования центрального процессора), обеспечивать контроль целостности данных при передаче и возможность сборки/разборки пакета данных, а также формировать признак конца обмена.

В этом случае архитектура БРФС гарантирует, что при передаче данных не происходит лишних копирований данных. При дальнейшем рассмотрении БРФС предполагается, что в распределённой вычислительной системе такая аппаратная поддержка присутствует.

Предлагаемая архитектура БРФС обладает следующими важными отличиями от существующих распределённых файловых систем:

  • унифицированный доступ к удалённым данным. Доступ к данным и метаданным файлов является унифицированным, так как блоки файловой системы являются более низким уровнем хранения информации, чем файлы. Единый доступ к данным обеспечивается простым протоколом удалённого доступа, который является модификацией протокола запросов к блочным устройствам ядра ОС;
  • обработка файловой системы на узле–клиенте. Преобразование процедурных запросов пользователя к удалённым данным в запросы к секторам носителя информации осуществляет операционная система узла–клиента. Между клиентом и сервером пересылаются только запрашиваемые данные и необходимая служебная информация;
  • использование стандартных механизмов кэширования данных. В БРФС отсутствуют специальные механизмы кэширования. Поэтому кэширование данных происходит только на узле–клиенте с помощью стандартных механизмов операционной системы. Сервер не накапливает информацию о запросах клиентов и анализирует их исключительно с точки зрения наличия прав доступа клиента к данным;
  • отсутствие разделения данных на запись. Поскольку сервер не кэширует запросы клиентов, то возможность разделения данных на запись в такой системе отсутствует;
  • быстрая загрузка и рестарт. Реализация программ обслуживания БРФС в пространстве ядра позволяет добиться быстрого по сравнению с современными распространёнными распределёнными файловыми системами старта программ обслуживания быстрой распределённой файловой системы;
  • независимое адресное пространство. Адресное пространство узла–клиента независимо от границы и объёма носителя на узле–сервере. Поэтому на узле–сервере возможна реализация единого прозрачного для узла–клиента адресного пространства на нескольких носителях, либо организация нескольких независимых адресных пространств на одном носителе.

Для оценки эффективности предлагаемой архитектуры БРФС с точки зрения реактивности, нагрузки на узел–сервер и скорости инициализации методов доступа после старта и рестарта был проведён анализ на основе модели OSI. Модель OSI быстрой распределённой файловой системы представлена на рис. 2.

Оперирование блоками файловой системы при обмене позволяет существенно уменьшить количество необходимых служб и сервисов распределённой файловой системы по сравнению с известными аналогами, и тем самым отказаться от реализации наиболее ресурсоёмкого уровня модели OSI – уровня приложения. В современных распределённых файловых системах он реализован на уровне пользователя и представляет собой службы обслуживания и поддержки удалённого вызова процедур и целостности данных.

Реализация однородной распределённой вычислительной системы позволяет отказаться от ещё одного ресурсоёмкого уровня OSI – уровня представления. Поскольку вычислительные узлы МВК имеют одинаковый формат порядка следования байтов, то необходимость в контроле единого представления данных отсутствует, что снижает нагрузку на узел–сервер и увеличивает скорость доступа и обмена данными.

На уровне сессии реализован протокол удалённых запросов к носителю информации. По сути, он является упрощённым аналогом протокола удалённого вызова процедур (Remote Procedure Call – RPC) и обозначается в работе аббревиатурой SRPC (Simple RPC – Простой RPC). Протокол SRPC обеспечивает клиенту возможность подключаться и отключаться от сервера и обмениваться с ним блоками файловой системы. Так как протокол SRPC работает на уровне драйвера носителя информации, то он должен иметь запросы на чтение и запись блоков файловой системы. К тому же, для обеспечения поддержки нескольких клиентов и гибкого выделения ресурсов необходимы также запросы, обеспечивающие подключение и отключение клиента от сервера. Четырёх типов удалённых запросов вполне достаточно для обеспечения всех необходимых пользователю на клиенте операций с удалёнными данными. Важно отметить, что подключение и отключение производится соответственно в начале и в конце сессии. Для обмена данными используются только запросы чтения и записи. Простота протокола и отсутствие дополнительных запросов при обмене данными существенно снижает нагрузку на каналы данных и узел–сервер и увеличивает скорость доступа и обмена данными.

Рис. 2 Модель OSI быстрой распределённой файловой системы.

Поскольку аппаратура поддерживает целостность передаваемых данных, то уровень передачи предлагается реализовать в виде модификации протокола UDP (а не TCP), что позволяет снизить нагрузку на узел–сервер и увеличить скорость доступа и обмена данными.

На уровне сети реализована модификация протокола IP.

На уровне каналов данных предполагается использование высокоскоростных каналов передачи данных, позволяющих осуществлять сборку и разборку пакетов данных. Сборка/разборка пакетов позволяет снизить нагрузку на процессор и увеличить скорость доступа и обмена данными.

На физическом уровне предлагается использовать протоколы высокоскоростных связей, например LVDS или 1000BASE–TX.

Независимость адресного пространства на узле–клиенте от границ физических устройств на узле–сервере позволяет реализовать в БРФС доступ к удалённым данным, который невозможен в других распределённых файловых системах.

Одним из способов реализации адресного пространства является реализация логических дисков для нескольких узлов–клиентов на одном носителе. Такая реализация позволяет уменьшить размеры и энергопотребление многомашинного комплекса. Однако она не позволяет достичь высокой скорости доступа к данным в распределённых системах с интенсивным обменом данными между узлами и носителем информации.

Более целесообразной является реализация единого адресного пространства на нескольких носителях, в том числе разных типов. Она позволяет предоставить узлу больший объём и распараллелить доступ к разным областям адресного пространства благодаря одновременным запросам к разным носителям.

Время доступа и скорость обмена данными во многом зависит от типа носителя информации. Анализ разных типов носителей показывает, что они имеют свои преимущества и недостатки. Так, твердотельные диски по сравнению с жесткими дисками имеют следующие преимущества:

  • малое время начальной инициализации;
  • высокая скорость доступа к данным;
  • высокая скорость чтения и записи данных;
  • низкое энергопотребление;
  • высокая надёжность,

и следующие недостатки:

  • малый объём;
  • высокая стоимость;
  • ограниченное число циклов перезаписи.

Реализация единого адресного пространства на жестком и твёрдотельном дисках (разнородного носителя) позволяет предоставить узлу–клиенту преимущества обоих типов носителей. Примером адресации разнородного носителя может служить схема, представленная на рис. 3.

Единое для узла–клиента адресное пространство реализовано на узле–сервере на трёх разных типах запоминающих устройств. В диапазоне от 0 до X адресного пространства узла–клиента на узле–сервере адресуется твёрдотельный диск. В диапазоне от X+1 до Y – регион оперативной памяти. В диапазоне от Y+1 до Z – жесткий диск.

Рис. 3. Схема адресации разнородного носителя на узле–сервере.

Размещение в диапазоне от 0 до X ядра и служебных программ ОС узла–клиента позволяет реализовать быструю загрузку и рестарт бездискового узла–клиента многомашинного комплекса. При этом недостатки твердотельного диска являются несущественными, так как для размещения загрузочных данных требуется сравнительно мало адресного пространства и, как правило, они используются только в режиме чтения.

Размещение в диапазоне от X+1 до Y файла подкачки ОС узла–клиента позволяет достичь высокой скорости свопинга временных данных.

Диапазон от Y+1 до Z предназначен для размещения программ и данных пользователя узла–клиента.

Важно отметить, что архитектура БРФС позволяет узлу–клиенту получить доступ к разнородному носителю, даже если один из составляющих его носителей ещё не готов к работе. Это означает, что после инициализации на узле–сервере твердотельного диска узел–клиент имеет возможность обмениваться с ним данными даже в том случае, если жесткий диск ещё не инициализирован.

В третьей главе рассматриваются вопросы практической реализации БРФС. Реализация предлагаемой архитектуры БРФС была выполнена в составе операционной системы Linux версии Suse 7.3 (версия ядра 2.4.25) для вычислительного комплекса «МВС/С» разработки ЗАО «МЦСТ». В качестве каналов связи использовались каналы RDMA разработки ЗАО «МЦСТ».

Реализация протокола обмена данными между программами БРФС и драйвером каналов связи позволяет избавиться от избыточного копирования данных и реализовать их передачу внутри ядра с помощью указателей.

Протокол удалённых запросов SRPC включает в себя четыре запроса: Connect, Disconnect, Read и Write. Каждый запрос и ответ на него содержат как минимум заголовок запроса.

В силу аппаратной поддержки заголовок является достаточно простым и включает следующие параметры:

  • IP–адрес узла–клиента – необходим для передачи ответа от сервера клиенту;
  • тип запроса – уникальный идентификатор запроса;
  • номер логического канала – уникальный идентификатор, выдаваемый сервером клиенту при подключении;
  • номер стартового сектора в обмене – стартовый номер сектора на носителе информации в запросе;
  • количество секторов в обмене;
  • результат запроса – результат, возвращаемый сервером клиенту.

Предполагается, что IP–адрес узла–сервера в сети заранее определён, поэтому он в заголовок не входит. Размер заголовка выровнен на максимальный размер блока файловой системы. После заголовка размещаются данные. Объём передаваемых данных ограничен максимальным размером запроса к носителю информации. Такая реализация протокола позволяет не передавать предварительно размер пакета, так как его максимальный размер ограничен константой. Отсутствие лишних обменов пакетами данных позволяет снизить нагрузку на каналы данных, увеличить скорость доступа и обмена данными.

Запрос Connect обеспечивает логическое подключение клиента к серверу. Результатом запроса является выделение сервером ресурсов клиенту и установление логического соединения между ними. Сервер выделяет клиенту уникальный номер, однозначно описывающий выделенные клиенту ресурсы, и передаёт ему данные, характеризующие удалённые носители. Клиент использует эти данные для регистрации удалённого носителя в ОС узла–клиента.

Pages:     | 1 || 3 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»