«Не наливают вино молодое в мехи ветхие» — эту народную мудрость приходится свято чтить разработчику, ибо в IT технологии устаревают как нигде быстро. Те ли программные или аппаратные компоненты вы выбрали для своего проекта, не станут ли они в будущем для него обузой? Вот в чем вопрос. Если вы еще не знакомы, разрешите представить: DAOS, Distributed Asynchronous Object Storage, программно определяемая СХД с открытым исходным кодом, которой по плечу любые современные нагрузки.
Шпиндельные накопители информации верой и правдой служили нам десятилетиями. Но сейчас время винчестеров прошло, и планировать их применение означает заранее и самолично заложить в свою систему узкое место. DAOS, о коммерческой поддержке которой Intel объявила на только что прошедшей International Supercomputing Conference (ISC), демонстрирует принципиально иной подход.
Сравнение архитектуры DAOS и традиционных СХД
DAOS создан для того, чтобы разработчики AI, HPC и прочих высоконагруженных систем могли воспользоваться преимуществами современных NVM технологий. Кроме того, он очень легок сам по себе, поскольку работает исключительно в пользовательском пространстве и никак не затрагивает операционную систему.
Большинство систем хранения используют блочный ввод-вывод, и все операции ввода-вывода проходят через интерфейс блочных устройств ядра Linux. Несмотря на все усовершенствования доступа к этим блочным устройствам, они не подходят для современных средств хранения, так как вносят неоправданные временные издержки.
Сервера DAOS хранят свои метаданные в постоянной памяти, тогда как крупные данные записываются непосредственно на NVMe SSD. Дополнительно, небольшие по объему данные операций ввода-вывода могут накапливаться в постоянной памяти, далее агрегироваться и только потом передаваться на более емкие флеш-накопители. DAOS использует Persistent Memory Development Kit (PMDK) для транзакционного доступа к постоянной памяти и Storage Performance Development Kit (SPDK) для доступа к NVMe устройствам в пользовательском пространстве. Таким образом время доступа к данным может быть уменьшено в несколько раз и достичь порядка микросекунд вместо обычных миллисекунд.
Программный стек DAOS
Как видно из рисунка, программный стек DAOS использует клиент-серверную модель. Операции ввода-вывода обрабатываются в библиотеке DAOS, непосредственно связанной с приложением и обслуживаются службами хранения, работающими в пользовательском режиме на серверной ноде DAOS.
Программный стек DAOS обеспечивает:
DAOS доступен на GitHub под лицензией Apache 2.0. Более подробную информацию о DAOS смотрите на сайте продукта.
Источник статьи: https://habr.com/ru/company/intel/blog/565244/
Шпиндельные накопители информации верой и правдой служили нам десятилетиями. Но сейчас время винчестеров прошло, и планировать их применение означает заранее и самолично заложить в свою систему узкое место. DAOS, о коммерческой поддержке которой Intel объявила на только что прошедшей International Supercomputing Conference (ISC), демонстрирует принципиально иной подход.

Сравнение архитектуры DAOS и традиционных СХД
DAOS создан для того, чтобы разработчики AI, HPC и прочих высоконагруженных систем могли воспользоваться преимуществами современных NVM технологий. Кроме того, он очень легок сам по себе, поскольку работает исключительно в пользовательском пространстве и никак не затрагивает операционную систему.
Большинство систем хранения используют блочный ввод-вывод, и все операции ввода-вывода проходят через интерфейс блочных устройств ядра Linux. Несмотря на все усовершенствования доступа к этим блочным устройствам, они не подходят для современных средств хранения, так как вносят неоправданные временные издержки.
Сервера DAOS хранят свои метаданные в постоянной памяти, тогда как крупные данные записываются непосредственно на NVMe SSD. Дополнительно, небольшие по объему данные операций ввода-вывода могут накапливаться в постоянной памяти, далее агрегироваться и только потом передаваться на более емкие флеш-накопители. DAOS использует Persistent Memory Development Kit (PMDK) для транзакционного доступа к постоянной памяти и Storage Performance Development Kit (SPDK) для доступа к NVMe устройствам в пользовательском пространстве. Таким образом время доступа к данным может быть уменьшено в несколько раз и достичь порядка микросекунд вместо обычных миллисекунд.

Программный стек DAOS
Как видно из рисунка, программный стек DAOS использует клиент-серверную модель. Операции ввода-вывода обрабатываются в библиотеке DAOS, непосредственно связанной с приложением и обслуживаются службами хранения, работающими в пользовательском режиме на серверной ноде DAOS.
Программный стек DAOS обеспечивает:
- мелкоструктурные операции ввода-вывода с низкими задержками и отсутствием копирования;
- неблокирующие операции с данными и метаданными, позволяющие перекрываться вычислениям и перемещениям данных;
- размещение данных, препятствующее их потере при аварийных ситуациях;
- программную избыточность, поддерживающую репликации и перестроение «на лету»;
- сквозную целостность данных;
- масштабируемые распределенные транзакции с гарантированной сохранностью данных и автоматическим восстановлением;
- возможность снепшотов данных;
- фреймворк безопасности для управления доступом к данным;
- программно определяемое управление размещением, конфигурацией, изменением и мониторингом данных;
- нативную поддержку библиотек ввода-вывода, таких как HDF5, MPI-IO и POSIX поверх модели данных и API DAOS;
- интеграцию с Apache Spark;
- индексирование данных, возможность создания запросов ;
- вычисления внутри хранилища для сокращения перемещений данных между нодами хранения и вычисления;
- средства аварийного восстановления;
- бесшовную интеграцию с параллельной файловой системой Lustre с возможностью расширения на другие параллельные ФС;
- средства для миграции данных между пулами DAOS, из параллельных файловых систем в DAOS и обратно.
DAOS доступен на GitHub под лицензией Apache 2.0. Более подробную информацию о DAOS смотрите на сайте продукта.
Источник статьи: https://habr.com/ru/company/intel/blog/565244/