В Иллинойсском университете в Урбане-Шампейне разработали технологию FlatFlash, которая в два раза увеличивает производительность приложений с интенсивным потреблением памяти.
Фото — Michael Bobella — CC BY-SA
Зачем понадобилась новая архитектура
Твердотельные накопители обладают высокой скоростью чтения/записи. Из-за этого их используют в качестве расширения для оперативной памяти при проведении высокопроизводительных вычислений. Для взаимодействия с «объединенной» памятью SSD и DIMM используют метод управления, называемый виртуальной памятью. Он подразумевает автоматическое перемещение частей программы между оперативной памятью и накопителем, используя подкачку страниц. Однако такой подход имеет ряд недостатков.
Первый недостаток — приходится копировать «лишние» данные при срабатывании страничного прерывания и загрузке новой страницы с диска (даже если нужна часть информации на странице, она все равно копируется целиком).
Второй — если приложение работает со сводом данных, превышающим объем оперативной памяти, возникает так называемая «страничная пробуксовка». Система оказывается в состоянии постоянного свопинга, часто обменивая данные в памяти и данные на диске, в ущерб работе приложения.
Для устранения этих сложностей, группа инженеров из Иллинойсского университета в Урбане-Шампейне (UUIC) и IBM Research предложила новую архитектуру памяти. Она предполагает возможность побайтового обращения к SSD. В теории такой подход сократит издержки на обмен данными. Разработка получила название FlatFlash.
Как она устроена
Для настройки системы инженеры используют стандарт PCIe, в частности, его набор индексных регистров (Base Address Registers, BAR). С их помощью FlatFlash передает хосту данные таблицы распределения памяти, чтобы BIOS и операционная система выполнили необходимую разметку.
После разметки SSD и DRAM объединяются на одном плоском адресном пространстве. Такой подход дал процессору возможность напрямую посылать запросы (загрузить/записать) к твердотельному накопителю с помощью механизма PCIe MMIO. За обработку и перенаправление обращений к этим участкам памяти отвечает главный мост (host bridge).
Что касается отображения данных на соответствующие адресные пространства, то эту задачу реализует непосредственно SSD. Разработчики задействовали блок DRAM, установленный в SSD-контроллере, в качестве кэша. В нем хранится страница, к которой нужно получить побайтный доступ. Побайтные запросы реализуются с помощью одного из регистров BAR.
Мнения
Специалисты UUIC протестировали производительность нового подхода с помощью эмулятора SSD на Linux. Согласно полученным данным (PDF, стр.10), FlatFlash способен повысить производительность приложений с интенсивным потреблением памяти в 2,3 раза. Архитектура улучшает соотношение стоимость/эффективность в 3,8 раза, по сравнению с «чистыми» DRAM-системами.
О технологии положительно отозвались некоторые резиденты Hacker News. Один из пользователей площадки заметил, что новая архитектура позволит операционной системе абстрагироваться от работы с памятью. Отвечать на запросы по чтению и записи будут PCIe-устройства. Еще один плюс — «разгружается» канал между SSD и хостом, так как отпадает необходимость пересылать в память всю страницу целиком. В UUIC говорят, что это продлевает срок службы твердотельных накопителей.
Фото — Gamaliel Espinoza Macedo — CC BY / Фото обрезано
Другого резидента HN, однако, интересует, как FlatFlash решает проблему гонок и блокировок в памяти, поскольку этот вопрос не освещен в работе инженеров из Иллинойсского университета, а подобные технологии могут испытывать проблемы в этой области.
Перспективы
ИТ-индустрия разрабатывает и внедряет технологии, из которых новая разработка специалистов из UUIC сможет получить дополнительные выгоды. Первая — это PCIe 5.0, спецификацию которого консорциум PCI-SIG одобрил в мае этого года. Шина обладает скоростью передачи 32 ГТ/с и механизмами контроля целостности сигнала.
Вторая технология — это память Optane на базе технологии 3DXpoint, разработанная Intel и Micron. Она сама по себе имеет более высокую скорость чтения/записи, чем флеш. Один из последних продуктов Intel обладает скоростью последовательного чтения данных в 2500 МБайт/с. Для записи этот показатель составляет 2000 МБайт/с.
Выводы
Компании все чаще внедряют «твердотельники» в своих дата-центрах. В The Register отмечают, что общий объем поставок SSD увеличится до 313 млн в 2021 году (при 157 млн единиц в 2016). Можно ожидать появления новых технологий, аналогичных FlatFlash.
Такие системы уже есть — два года назад группа инженеров из Калифорнийского университета представила технологию PebbleSSD. Она также дает возможность побайтного обращения к накопителю за счет метаданных с байтовой адресацией. В будущем подобные решения будут появляться все чаще.
ITGLOBAL.COM — поставщик частного и гибридного облака, а также других услуг, направленных на развитие IT-инфраструктуры наших клиентов. О чем мы пишем в корпоративном блоге:
- Как управляемые базы данных помогают бизнесу
- Зачем клиенту облачного провайдера знать об уровне надежности ЦОД
- Гибридные облака: вчера, сегодня, завтра
- Эффект GDPR: как новый регламент повлиял на IT-экосистему
Автор: itglobalcom