Хабрахабр

Новая архитектура для побайтного обращения к SSD — как она устроена

В Иллинойсском университете в Урбане-Шампейне разработали технологию FlatFlash, которая в два раза увеличивает производительность приложений с интенсивным потреблением памяти.


Фото — Michael Bobella — CC BY-SA

Зачем понадобилась новая архитектура

Твердотельные накопители обладают высокой скоростью чтения/записи. Из-за этого их используют в качестве расширения для оперативной памяти при проведении высокопроизводительных вычислений. Для взаимодействия с «объединенной» памятью SSD и DIMM используют метод управления, называемый виртуальной памятью. Он подразумевает автоматическое перемещение частей программы между оперативной памятью и накопителем, используя подкачку страниц. Однако такой подход имеет ряд недостатков.

Первый недостаток — приходится копировать «лишние» данные при срабатывании страничного прерывания и загрузке новой страницы с диска (даже если нужна часть информации на странице, она все равно копируется целиком).

Система оказывается в состоянии постоянного свопинга, часто обменивая данные в памяти и данные на диске, в ущерб работе приложения. Второй — если приложение работает со сводом данных, превышающим объем оперативной памяти, возникает так называемая «страничная пробуксовка».

Она предполагает возможность побайтового обращения к SSD. Для устранения этих сложностей, группа инженеров из Иллинойсского университета в Урбане-Шампейне (UUIC) и IBM Research предложила новую архитектуру памяти. Разработка получила название FlatFlash. В теории такой подход сократит издержки на обмен данными.

Как она устроена

Для настройки системы инженеры используют стандарт PCIe, в частности, его набор индексных регистров (Base Address Registers, BAR). С их помощью FlatFlash передает хосту данные таблицы распределения памяти, чтобы BIOS и операционная система выполнили необходимую разметку.

Такой подход дал процессору возможность напрямую посылать запросы (загрузить/записать) к твердотельному накопителю с помощью механизма PCIe MMIO. После разметки SSD и DRAM объединяются на одном плоском адресном пространстве. За обработку и перенаправление обращений к этим участкам памяти отвечает главный мост (host bridge).

Разработчики задействовали блок DRAM, установленный в SSD-контроллере, в качестве кэша. Что касается отображения данных на соответствующие адресные пространства, то эту задачу реализует непосредственно SSD. Побайтные запросы реализуются с помощью одного из регистров BAR. В нем хранится страница, к которой нужно получить побайтный доступ.

Мнения

Специалисты UUIC протестировали производительность нового подхода с помощью эмулятора SSD на Linux. Согласно полученным данным (PDF, стр.10), FlatFlash способен повысить производительность приложений с интенсивным потреблением памяти в 2,3 раза. Архитектура улучшает соотношение стоимость/эффективность в 3,8 раза, по сравнению с «чистыми» DRAM-системами.

Один из пользователей площадки заметил, что новая архитектура позволит операционной системе абстрагироваться от работы с памятью. О технологии положительно отозвались некоторые резиденты Hacker News. Еще один плюс — «разгружается» канал между SSD и хостом, так как отпадает необходимость пересылать в память всю страницу целиком. Отвечать на запросы по чтению и записи будут PCIe-устройства. В UUIC говорят, что это продлевает срок службы твердотельных накопителей.


Фото — Gamaliel Espinoza Macedo — CC BY / Фото обрезано

Другого резидента HN, однако, интересует, как FlatFlash решает проблему гонок и блокировок в памяти, поскольку этот вопрос не освещен в работе инженеров из Иллинойсского университета, а подобные технологии могут испытывать проблемы в этой области.

Перспективы

ИТ-индустрия разрабатывает и внедряет технологии, из которых новая разработка специалистов из UUIC сможет получить дополнительные выгоды. Первая — это PCIe 5.0, спецификацию которого консорциум PCI-SIG одобрил в мае этого года. Шина обладает скоростью передачи 32 ГТ/с и механизмами контроля целостности сигнала.

Она сама по себе имеет более высокую скорость чтения/записи, чем флеш. Вторая технология — это память Optane на базе технологии 3DXpoint, разработанная Intel и Micron. Для записи этот показатель составляет 2000 МБайт/с. Один из последних продуктов Intel обладает скоростью последовательного чтения данных в 2500 МБайт/с.

Выводы

Компании все чаще внедряют «твердотельники» в своих дата-центрах. В The Register отмечают, что общий объем поставок SSD увеличится до 313 млн в 2021 году (при 157 млн единиц в 2016). Можно ожидать появления новых технологий, аналогичных FlatFlash.

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

ITGLOBAL.COM — поставщик частного и гибридного облака, а также других услуг, направленных на развитие IT-инфраструктуры наших клиентов. О чем мы пишем в корпоративном блоге:

Теги
Показать больше

Похожие статьи

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть