CORFU — отказоустойчивое распределенное хранилище Flash


Исследователи из Microsoft работают над системой хранения данных на основе флэш-памяти NAND, которая отличается высокой согласованностью и высокой производительностью и может использоваться в конструкциях, которые непрактичны для жесткого диска или слишком дороги для оперативной памяти.

CORFU (Clusters of Raw Flash Units) — это кластер подключенных к сети флэш-дисков, который выглядит снаружи как глобальный общий журнал.

Команда, работающая над CORFU, преследует две основные цели в отношении технологии; Команда разработчиков заявляет, что использование флэш-памяти снижает компромисс между производительностью и согласованностью, так что приложения, такие как базы данных, могут работать на проводной скорости. Когда CORFU используется в качестве распределенного твердотельного накопителя, он может исключить серверы хранения, тем самым уменьшая потребляемую мощность и стоимость всего оборудования.

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

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

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

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

Исследовательская группа предлагает конфигурацию (см. Рисунок 1), в которой серверы приложений получают доступ к общему глобальному журналу с помощью библиотеки CORFU, которая имеет простой API. Большая часть интеллекта CORFU реализована в библиотеке, поэтому простые флэш-накопители NAND могут использоваться в качестве оборудования. Каждая позиция в общем журнале сопоставляется с набором страниц флэш-памяти на разных флэш-модулях.

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

(Щелкните диаграмму, чтобы увеличить)

Рисунок 1: Клиенты, использующие библиотеку CORFU для доступа к глобальному журналу, хранящемуся на многих флэш-устройствах

Исследователи Microsoft создают прототип подключенной к сети флэш-памяти на платформе FPGA, которая будет использоваться со стеком CORFU. Эта комбинация обеспечивает ту же скорость сетевой пропускной способности, что и твердотельный накопитель на базе XEON, но с меньшей задержкой чтения на 33% и на порядок меньшей мощностью.


Добавить комментарий