GPFS ( General Parallel File System , торговая марка IBM Storage Scale и ранее IBM Spectrum Scale ) [1] — это высокопроизводительное кластерное файловое программное обеспечение, разработанное IBM . Его можно развернуть в распределенных параллельных режимах с общим диском или без общего доступа , а также в их комбинации. Его используют многие крупнейшие мировые коммерческие компании, а также некоторые суперкомпьютеры из списка Top 500. [ 2] Например, это файловая система Summit [ 3] в Национальной лаборатории Оук-Ридж , которая была самым быстрым суперкомпьютером в мире в списке Top 500 за ноябрь 2019 года. [4] Summit — это система производительностью 200 петафлопс , состоящая из более чем 9000 процессоров POWER9 и 27000 графических процессоров NVIDIA Volta . Файловая система хранения называется Alpine. [5]
Как и типичные кластерные файловые системы, GPFS обеспечивает одновременный высокоскоростной доступ к файлам для приложений, работающих на нескольких узлах кластеров. Его можно использовать с кластерами AIX , кластерами Linux , [6] на Microsoft Windows Server или гетерогенным кластером узлов AIX, Linux и Windows, работающих на архитектурах процессоров x86 , Power или IBM Z.
GPFS начиналась как файловая система Tiger Shark , исследовательский проект исследовательского центра IBM Almaden еще в 1993 году. Tiger Shark изначально была разработана для поддержки мультимедийных приложений с высокой пропускной способностью. Эта конструкция оказалась хорошо подходящей для научных вычислений. [7]
Другим предком является файловая система Vesta от IBM , разработанная как исследовательский проект в исследовательском центре IBM Thomas J. Watson в период с 1992 по 1995 год. [8] Vesta представила концепцию разбиения файлов на разделы для удовлетворения потребностей параллельных приложений, работающих на высокопроизводительных мультикомпьютерах с параллельными подсистемами ввода-вывода . С разбиением файл представляет собой не последовательность байтов, а скорее несколько непересекающихся последовательностей, к которым можно получить доступ параллельно. Разбиение таково, что оно абстрагируется от количества и типа узлов ввода-вывода, на которых размещена файловая система, и допускает различные логически разделенные представления файлов, независимо от физического распределения данных в узлах ввода-вывода. Непересекающиеся последовательности организованы так, чтобы соответствовать отдельным процессам параллельного приложения, что позволяет улучшить масштабируемость. [9] [10]
Vesta была коммерциализирована как файловая система PIOFS около 1994 года, [11] и была заменена GPFS около 1998 года. [12] [13] Основное различие между старой и новой файловыми системами состояло в том, что GPFS заменила специализированный интерфейс, предлагаемый Vesta/PIOFS, на стандартный API Unix : все функции для поддержки высокопроизводительного параллельного ввода-вывода были скрыты от пользователей и реализованы «под капотом». [7] [13] GPFS также разделяла многие компоненты с родственными продуктами IBM Multi-Media Server и IBM Video Charger, поэтому многие утилиты GPFS начинаются с префикса mm —multi-media. [14] : xi
В 2010 году IBM представила предварительную версию GPFS, которая включала возможность, известную как GPFS-SNC, где SNC означает Shared Nothing Cluster. Это было официально выпущено с GPFS 3.5 в декабре 2012 года и теперь известно как FPO [15] (File Placement Optimizer).
Это кластерная файловая система . Она разбивает файл на блоки настроенного размера, менее 1 мегабайта каждый, которые распределяются по нескольким узлам кластера.
Система хранит данные на стандартных блочных томах хранения, но включает внутренний уровень RAID, который может виртуализировать эти тома для избыточности и параллельного доступа, как и блочная система хранения RAID. Она также имеет возможность репликации между томами на более высоком уровне файлов.
Особенности архитектуры включают в себя:
Другие функции включают высокую доступность, возможность использования в гетерогенном кластере, аварийное восстановление, безопасность, DMAPI , HSM и ILM .
Файловая система HDFS Hadoop предназначена для хранения аналогичных или больших объемов данных на стандартном оборудовании, то есть в центрах обработки данных без RAID- дисков и сети хранения данных (SAN).
Пулы хранения позволяют группировать диски в файловой системе. Администратор может создавать уровни хранения, группируя диски на основе характеристик производительности, локальности или надежности. Например, один пул может состоять из высокопроизводительных дисков Fibre Channel , а другой — из более экономичного хранилища SATA.
Набор файлов — это поддерево пространства имен файловой системы, которое позволяет разделить пространство имен на более мелкие и более управляемые единицы. Наборы файлов обеспечивают административную границу, которую можно использовать для установки квот и указывать в политике для управления первоначальным размещением данных или миграцией данных. Данные в одном наборе файлов могут находиться в одном или нескольких пулах хранения. Местонахождение данных файла и способ их миграции определяются набором правил в пользовательской политике.
Существует два типа политик, определяемых пользователем: размещение файлов и управление файлами. Политики размещения файлов направляют данные файлов по мере их создания в соответствующий пул хранения. Правила размещения файлов выбираются по таким атрибутам, как имя файла, имя пользователя или набор файлов. Политики управления файлами позволяют перемещать или реплицировать данные файлов или удалять файлы. Политики управления файлами можно использовать для перемещения данных из одного пула в другой без изменения местоположения файла в структуре каталогов. Политики управления файлами определяются такими атрибутами файлов, как время последнего доступа, имя пути или размер файла.
Механизм обработки политик масштабируется и может быть запущен на многих узлах одновременно. Это позволяет применять политики управления к одной файловой системе с миллиардами файлов и завершать их в течение нескольких часов. [ необходима цитата ]
{{cite journal}}
: CS1 maint: bot: original URL status unknown (link){{cite journal}}
: CS1 maint: bot: original URL status unknown (link){{cite book}}
: CS1 maint: bot: original URL status unknown (link)