GPFS (General Parallel File System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 21:12, 22 мая 2016.

GPFS (англ. General Parallel File System - рус. Общая параллельная файловая система) — высокопроизводительная кластерная файловая система, разработанная IBM. GPFS отличается от других кластерных файловых систем возможностью одновременного высокоскоростного доступа к файлам для приложений, выполняющихся на нескольких узлах кластера под управлением операционных систем AIX 5L, Linux или гетерогенного кластера из узлов на AIX, Linux и Windows. Помимо возможностей хранения данных, GPFS предоставляет инструменты для управления и администрирования GPFS-кластера и позволяет осуществлять совместный доступ к файловым системам с удалённых GPFS-кластеров.

История появления

GPFS изначально разрабатывалась как Tiger Shark file system в 1993 году в исследовательском центре IBM Almaden Research Center. Первый коммерческий релиз GPFS состоялся в 1998 году. GPFS изначально проектировалась для поддержки мультимедиа-приложений, требовательных к полосе пропускания. Такой дизайн хорошо подходит для научных вычислений. Сегодня GPFS используется на многих суперкомпьютерах из списка «500 Самых Мощных». С самого начала GPFS была успешно использована для множества коммерческих приложений.

Причины появления

Традиционные файловые среды были в основном разработаны для среды одного сервера, так, например, популярная файловая система в Linux/ Unix операционных системах - NFS – в высокопроизводительных вычислениях страдает тем, что в данный момент запись с файлом может работать только один из вычислительных узлов (блокирую весь файл), а все остальные должны ждать освобождения очереди, чтобы записать свою порцию информации. При этом все остальные вычислительные узлы простаивают, не выполняя никаких полезных действий. Возникает вопрос: « А если этих узлов десятки или сотни?». Можно сделать вывод, что простой может оказаться настолько существенным, что поставит под вопрос эффективность такого кластера, который, к слову, стоит весьма не дешево. Многие разработчики задумались о необходимости создания новых специализированных файловых систем для вычислительных многоузловых кластеров, которые предоставляли бы возможность кластерным приложениям параллельный, быстрый, и равнозначный доступ к общим данным всем узлам одновременно. Одной из первых такого рода систем стала система IBM General Parallel File System 1998-го года.

Технология и принцип работы

Функционально узлы в файловой системе GPFS делятся:

  • узлы, которым необходим доступ к данным – обычные GPFS узлы.
  • узлы «доступа» Network Shared disk (NSD).

Сегодня наиболее распространенная конфигурация данной системы представляет из себя: Два или более Узла Доступа, соединенных по IP со всеми вычислительными узлами с одной стороны и по «Fibre-channel» с несколькими системами хранения - с другой. Причем каждый Узел Доступа может задействовать два или более порта «Fibre-channel» и два и более порта IP для увеличения пропускной способности каналов. При использовании нескольких Узлов Доступа отказ одного из них не приведёт к потере доступа к данным файловой системы, доступ будет обеспечиваться через оставшиеся Узлы. IP каналы могут быть как и по Ethernet, так и поверх Infiniband и Myrinet сетей. Начиная с версии 3.2, GPFS поддерживает родной протокол Infiniband – RDMA, то есть IP пакеты больше не нужно инкапсулировать в пакеты Infiniband. Сеть доступа к данным может быть как совмещенной с сетью интерконнекта всех вычислительных узлов ( используемой для счета), так и раздельной ( для максимальной производительности).

Большее количество операций ввода/вывода в GPFS обеспечивается за счет разбиение данных файлов блоки ( stripes), которые варьируется в диапазоне от 16 Кбайт до 1 Мбайт, и разнесения их по различным массивам ( RAID) и системам хранения, в результате чего операции чтения и записи блоков происходят в параллель – до нескольких тысяч дисков в самых больших дисках в самых больших установках GPFS, что позволяет при чтении/записи даже одного файла получить суммарную производительность всех дисковых систем, входящих в эту файловую систему GPFS.

Любая файловая система состоит минимум из двух из двух составляющих:

  • Непосредственно самих данных
  • Информации о размещении этих данных на системе хранения (метаданные)


GPFS обеспечивает полностью параллельный доступ как к данным, так и к метаданным. Иными словами каждый Узел Доступа, имея доступ к каждому разделу в каждой системе хранения, может работать с разными частями данных и метаданных параллельно. Стоит отметить, что нет специализации серверов на работу с одним типом данных – все сервера работают с одним типом данных, что обеспечивает максимальное масштабирование, отказоустойчивость и производительность. Параллельные операции чтения и записи в файловой системе, осуществляемые множеством узлов, должны быть соответствующим образом синхронизированы, чтобы данные и методанные не были пов
реждены. GPFS использует специальные протоколы распределения блокировок для синхронизации доступа к раздельным, которые обеспечивают целостность данных, с одной стороны, и высокую пропускную способность файловой системы - с другой. Из этого следует, что при работе с файлами на запись GPFS может блокировать часть файла на уровне для одного узла, а другие части – для других узлов, тем самым обеспечивая возможность многим узлам работать конкретно с одним файлом параллельно как на запись, так и на чтение.

Файловая система GPFS имеет встроенный механизм репликации данных в дополнение к RAID - массивам дисковых систем для повышения отказоустойчивости. Когда он включен, то GPFS резервирует место для каждого блока данных и метаданных на двух разных дисковых системах.

Процесс масштабирования также важен не только для обычных файловых операций , но и для операций по обслуживания самой файловой системы, особенно, если она большого объема. GPFS позволяет менять размеры файловой системы (замена дисковых систем). Благодаря возможности перераспределения « на лету» полезных данных у администратора системы. Администратор сам регулирует количество вовлечённых Узлов Доступа, при этом сохраняя общую производительность файловой системы для пользователей.

Полезной особенностью является объедение нескольких GPFS-систем в одну для ситуаций когда:

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

GPFS не требует ни каких изменений со стороны программного обеспечения – используется станд артный доступ к файлам. GPFS поддерживает операционные системы RedHat, SuSe, AIX.

Установка

Процесс установки происходит следующим образом:

Итог

Благодаря огромному количеству возможностей, которые предоставляет GPFS, система не требует никаких изменений, она нашла себе применение не только как файловая система для высокопроизводительных кластерных систем, но и для решения таких бизнес-задач, как Oracle RAC, SAP Business, видео-серверы, где необходима высокая производительность дисковой подсистемы.

Ссылки на ресурсы