Введение
Высокопроизводительная кластерная файловая система
GPFS (General Parallel File System, brand name IBM Storage Scale and previously IBM Spectrum Scale) is high performance clustered file system software developed by IBM. It can be deployed in shared disk or shared nothing distributed parallel modes, or a combination of these. It is used by many of the world's largest commercial companies, as well as some of the supercomputers on the Top 500 List. For example, it is the filesystem of the Summit
at Oak Ridge National Laboratory which was the #1 fastest supercomputer in the world in the November 2019 TOP500 list of supercomputers. Summit is a 200 Petaflops system composed of more than 9,000 POWER9 processors and 27,000 NVIDIA Volta GPUs. The storage filesystem called Alpine has 250 PB of storage using Spectrum Scale on IBM ESS storage hardware, capable of approximately 2.5 TB/s of sequential I/O and 2.2 TB/s of random I/O. Like typical cluster filesystems, GPFS provides concurrent high speed file access to applications executing on multiple nodes of clusters. It can be used with AIX clusters, Linux clusters, on Microsoft Windows Server, or a heterogeneous cluster of AIX, Linux and Windows nodes running on x86, Power or IBM Z processor architectures. In addition to providing filesystem storage capabilities, it provides tools for management and administration of the GPFS cluster and allows for shared access to file systems from remote clusters.
GPFS (General Parallel File System, торговая марка IBM Storage Scale и ранее IBM Spectrum Scale) – это высокопроизводительное программное обеспечение для кластерных файловых систем, разработанное компанией IBM. Его можно развернуть в режимах с общим диском или без общего диска, в распределенном параллельном режиме, или в их комбинации. Оно используется многими крупнейшими коммерческими компаниями мира, а также некоторыми суперкомпьютерами из списка Top 500. Например, GPFS является файловой системой суперкомпьютера Summit в Национальной лаборатории Оук-Ридж, который в ноябре 2019 года занимал первое место в списке TOP500 самых быстрых суперкомпьютеров мира. Summit – это 200-петафлопсная система, состоящая из более чем 9000 процессоров POWER9 и 27000 графических процессоров NVIDIA Volta. Файловая система Alpine имеет 250 ПБ дискового пространства, использующего Spectrum Scale на аппаратном обеспечении IBM ESS, способного обеспечить приблизительно 2,5 ТБ/с последовательного ввода-вывода и 2,2 ТБ/с случайного ввода-вывода. Как и типичные кластерные файловые системы, GPFS обеспечивает одновременный высокоскоростной доступ к файлам для приложений, выполняющихся на нескольких узлах кластера. Его можно использовать с кластерами AIX, кластерами Linux, на Microsoft Windows Server или в гетерогенном кластере узлов AIX, Linux и Windows, работающих на архитектурах процессоров x86, Power или IBM Z. Помимо обеспечения возможностей хранения файловых систем, GPFS предоставляет инструменты для управления и администрирования кластера, а также позволяет осуществлять общий доступ к файловым системам из удаленных кластеров.
GPFS (General Parallel File System, brand name IBM Storage Scale and previously IBM Spectrum Scale) is high performance clustered file system software developed by IBM. It can be deployed in shared disk or shared nothing distributed parallel modes, or a combination of these. It is used by many of the world's largest commercial companies, as well as some of the supercomputers on the Top 500 List. For example, it is the filesystem of the Summit
at Oak Ridge National Laboratory which was the #1 fastest supercomputer in the world in the November 2019 TOP500 list of supercomputers. Summit is a 200 Petaflops system composed of more than 9,000 POWER9 processors and 27,000 NVIDIA Volta GPUs. The storage filesystem called Alpine has 250 PB of storage using Spectrum Scale on IBM ESS storage hardware, capable of approximately 2.5 TB/s of sequential I/O and 2.2 TB/s of random I/O. Like typical cluster filesystems, GPFS provides concurrent high speed file access to applications executing on multiple nodes of clusters. It can be used with AIX clusters, Linux clusters, on Microsoft Windows Server, or a heterogeneous cluster of AIX, Linux and Windows nodes running on x86, Power or IBM Z processor architectures. In addition to providing filesystem storage capabilities, it provides tools for management and administration of the GPFS cluster and allows for shared access to file systems from remote clusters.
История
GPFS началась как файловая система Tiger Shark, исследовательский проект в Исследовательском центре IBM Almaden в 1993 году. Tiger Shark изначально был разработан для поддержки мультимедийных приложений с высокой пропускной способностью. Эта разработка оказалась хорошо подходящей и для научных вычислений. Другим предшественником является файловая система IBM Vesta, разработанная в качестве исследовательского проекта в Исследовательском центре IBM имени Томаса Дж. Уотсона в период с 1992 по 1995 год. Vesta представила концепцию разделения файлов для удовлетворения потребностей параллельных приложений, работающих на высокопроизводительных мультикомпьютерах с параллельными подсистемами ввода-вывода. При разделении файл представляет собой не последовательность байтов, а несколько несвязанных последовательностей, к которым можно получить доступ параллельно. Разделение устроено таким образом, что абстрагирует количество и тип узлов ввода-вывода, на которых размещена файловая система, и позволяет использовать различные логически разделенные представления файлов, независимо от физического распределения данных внутри узлов ввода-вывода. Несвязанные последовательности организованы в соответствии с отдельными процессами параллельного приложения, что обеспечивает улучшенную масштабируемость. Vesta была коммерциализирована как файловая система PIOFS около 1994 года, а затем ей на смену пришла GPFS около 1998 года. Основное отличие между старыми и новыми файловыми системами заключалось в том, что GPFS заменила специализированный интерфейс, предлагаемый Vesta/PIOFS, стандартным Unix API: все функции для поддержки высокопроизводительного параллельного ввода-вывода были скрыты от пользователей и реализованы на более низком уровне. GPFS доступна на IBM AIX с 1998 года, на Linux с 2001 года и на Windows Server с 2008 года. Сегодня она используется многими из 500 лучших суперкомпьютеров, перечисленных в списке Top 500 Supercomputing List. С момента создания она успешно применялась во многих коммерческих областях, включая цифровые медиа, аналитику больших данных и масштабируемые файловые сервисы. В 2010 году IBM представила версию GPFS с функциональностью, известной как GPFS SNC, где SNC расшифровывается как Shared Nothing Cluster. Она была официально выпущена вместе с GPFS 3.5 в декабре 2012 года и теперь известна как FPO (File Placement Optimizer). Это позволяет использовать локальные диски на кластере сетевых серверов вместо использования выделенных серверов с общими дисками (например, с использованием SAN). FPO подходит для рабочих нагрузок с высокой локальностью данных, таких как кластеры баз данных с общей памятью, например SAP HANA и DB2 DPF, и может использоваться как файловая система, совместимая с HDFS.
(File Placement Optimizer). This allows it to use locally attached disks on a cluster of network connected servers rather than requiring dedicated servers with shared disks (e. g. using a SAN). FPO is suitable for workloads with high data locality such as shared nothing database clusters such as SAP HANA and DB2 DPF, and can be used as a HDFS compatible filesystem.
По сравнению с Hadoop Distributed File System (HDFS)
Файловая система HDFS в Hadoop предназначена для хранения объемов данных, сопоставимых или превышающих объемы, на стандартном оборудовании, то есть в центрах обработки данных без дисков RAID и сети хранения данных (SAN). HDFS также разбивает файлы на блоки и хранит их на различных узлах файловой системы. GPFS обладает полной семантикой файловой системы Posix. GPFS распределяет свои индексы каталогов и другие метаданные по всей файловой системе. В отличие от этого, Hadoop хранит их на главных и вторичных нодах именования (Namenode) – крупных серверах, которым необходимо хранить всю индексную информацию в оперативной памяти. GPFS разбивает файлы на небольшие блоки. Hadoop HDFS предпочитает блоки размером 64 МБ и более, так как это снижает требования к объему памяти, необходимой для ноды именования. Небольшие блоки или большое количество небольших файлов быстро заполняют индексы файловой системы, поэтому необходимо ограничивать размер файловой системы.
Управление жизненным циклом информации
Пулы хранения позволяют группировать диски в рамках файловой системы. Администратор может создавать уровни хранения, объединяя диски на основе характеристик производительности, локальности или надежности. Например, один пул может состоять из высокопроизводительных дисков Fibre Channel, а другой – из более экономичных SATA-накопителей. Файл-набор представляет собой поддерево пространства имен файловой системы и обеспечивает способ разделения пространства имен на более мелкие, управляемые единицы. Файл-наборы предоставляют административную границу, которая может использоваться для установки квот и указания в политике правил первоначального размещения данных или миграции данных. Данные в одном файл-наборе могут располагаться в одном или нескольких пулах хранения. Местоположение файловых данных и способ их миграции определяются набором правил в политике, заданной пользователем. Существует два типа политик, задаваемых пользователем: политика размещения файлов и политика управления файлами. Политика размещения файлов определяет, в какой пул хранения направляются данные при создании файлов. Правила размещения файлов выбираются на основе таких атрибутов, как имя файла, имя пользователя или файл-набор. Политика управления файлами позволяет перемещать, реплицировать или удалять файлы. Политика управления файлами может использоваться для перемещения данных из одного пула в другой без изменения местоположения файла в структуре каталогов. Политика управления файлами определяется атрибутами файла, такими как время последнего доступа, путь или размер файла. Механизм обработки политик масштабируем и может выполняться на множестве узлов одновременно. Это позволяет применять политики управления к единой файловой системе, содержащей миллиарды файлов, и завершать процесс за несколько часов.