LINUX.ORG.RU
ФорумTalks

NVMe SSD как частичная замена ОЗУ

 , ,


0

2

Тезисно мысли вслух:

  • ОЗУ небольшого объёма (~1 ГБ) и нужно для кэша «четвёртого» уровня
  • NVMe SSD как хранитель SWAP
  • по сути все запущенные программы находятся в SWAP на NVMe SSD, а в небольшом ОЗУ находится только рабочий набор

«Протокол NVMe разрабатывался с нуля, при этом основными целями являлись получение низких задержек и обеспечение параллельного доступа к твёрдотельным накопителям с учётом параллелизма современных платформ, использующих многоядерные процессоры. Основными преимуществами NVMe перед AHCI является механизм работы с очередями и оптимизация обработки прерываний, что позволяет обеспечить более высокий уровень производительности.

Устройство AHCI ограничено одной очередью глубиной 32, в то время как NVMe поддерживает 64К (65536) очередей с глубиной 65536 каждая.»

- wikipedia.org.

То есть фактически имеем аналог DRAM, но с несколько более скромными характеристиками: 3 ГБ/с (как DDR2-400) и 740 тыс. IOPS. Кто уже пытался построить систему вокруг концепции задействования SWAP относительно большого объёма (16-64 ГБ) и малого объёма оперативной памяти в современных системах с многоядерными процессорами?

★★★★★

Intel свою Optane продвигает как большой кеш.

i-rinat ★★★★★
()

Отвратительная идея. Костыль на костыле и костылем подгоняет. Сразу видно бздуна.
SSD дает в теории возможность запускать программы прямо с диска без копирования в оперативку (просто переходя по адресу, 64-битная адресация позволяет) и хранить данные минуя ФС, опять же просто в «памяти». Это означало бы отсутствие загрузки программы как таковой мгновенную реакцию на любые действия пользователя. Особенно это полезно было бы на мобильных устройствах. Но поскольку 99.5% программистов - криворукие идиоты, имеем то что имеем - микросхемы произвольного доступа эмулируют диски с доступом по дорожкам и секторам, которые в свою очередь эмулируют память произвольного доступа (еще и с лишней прослойкой в виде ФС если своп не отдельным разделом). А уж сколько таких абстракций на уровне ОС и прикладного софта подумать страшно.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Ага, мгновенную реакцию. Вылетел сегмент кода из кеша процессора и пошла мгновенная реакция ждать, пока SQLite из соседнего сервиса закончит кеши сбрасывать. SSD, конечно, штука шустрая, но RAM это совсем другой уровень. Optane через пару поколений может чего такого и сможет.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)

Все ли прочитывают список похожих тем?

°

greenman ★★★★★
()

одной очередью глубиной 32, в то время как NVMe поддерживает 64К (65536) очередей с глубиной 65536 каждая.

Все эти «очереди» важны разве не при работе в файловом режиме?

При этом, как показывают наши внутренние тесты, подавляющее большинство задач, с которыми сталкивается обычный пользователь дома или в офисе, имеют глубину очереди от 1 до 4 (более подробно – см. ниже), а спецификации SSD пишутся с использованием нагрузок с глубиной очереди 32 (для SATA) и более (для NVMe).

https://geektimes.ru/company/intel/blog/292093/

greenman ★★★★★
()

RAM это Random Access Memory, а NVMe в этом плане ничего хорошего не сулит.

Lordwind ★★★★★
()

MR-RAM?
Не, не слышали, есть Оптан, есть ссд в форме dimm модулей.

- MR-RAM?
- X. X. X. X.

Deleted
()

ОЗУ небольшого объёма (~1 ГБ) и нужно для кэша «четвёртого» уровня

На каких-то интелях есть 128 MB eDRAM на кристалле в качестве кэша четвёртого уровня.

utf8nowhere ★★★
()
Ответ на: комментарий от Legioner

Так с RAM надо работать как с кешем процессора. А на SSD не запускать open().

steemandlinux ★★★★★
()

Да воткни уже 64gb RAM
Мало? 128 воткни. 2018 год на дворе уже, какой swap, какой гиг рам?

ist76 ★★★★★
()
Ответ на: комментарий от ist76

Минимизация RAM, как это ни странно звучит, нужна для быстрого старта ОС и приложений, которые по большей части находятся в персистентном SWAP (ОС не завершает работу, а «засыпает»). Ведь пространство SWAP оптимизировано для подкачки в ОЗУ и сброса из него бинарного кода и данных лучше, чем загрузка/выгрузка их из/на ФС. Кроме того, SSD энергонезависим - ему не страшны скачки (пропадания) электричества при соответствующей организации подтверждения транзакций I/O и кэширования.

iZEN ★★★★★
() автор топика
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

Ведь пространство SWAP оптимизировано для подкачки в ОЗУ и сброса из него бинарного кода и данных лучше, чем загрузка/выгрузка их из/на ФС

своп вообще для этого не предназначен (не то что оптимизирован), т.к. в него не попадают ro-данные из дискового кеша, а только rw-данные из памяти процесса

frame ★★★
()
Ответ на: комментарий от BceM_IIpuBeT

В случае с M-RAM - довольно долго.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

Это в целом глупость, т.к. меньший объём памяти ни к чему, кроме как повышенной интенсивности вытесения данных в swap и оттуда не приводит, т.е. это чистый износ NVMe. Чтобы быстрее грузилось нужно использовать hibernation, а не swap-файл, хотя в win10 он используется для prefetch, но грузит ограниченных набор данных (вроде только ядра и конфигурации оборудования), не более

frame ★★★
()
Ответ на: комментарий от frame

Во-первых, NVMe - это протокол, а не носитель.

Во-вторых, мы говорим про онтопик, в котором есть SWAP, а не Шindoшs, в котором есть pagefile.sys, не относящийся к теме.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от iZEN

1) в конце протокола всё равно flash device с ограниченным числом чтений/записей
2) логика того, что должно попадать в swap, а что не должно - везде одинаковая, без демагогии как оно называется и в каких файлах хранится: есть page fault, есть выгрузка ненужных страниц в swap и/или загрузка нужных оттуда, и больше ничего

frame ★★★
()
14 ноября 2018 г.

Начало положено!

Western Digital анонсировала серию SSD для расширения оперативной памяти: https://overclockers.ru/hardnews/show/94416/western-digital-anonsirovala-seri...

В понедельник компания Western Digital анонсировала новое семейство SSD специального назначения — Ultrastar DC ME200 Memory Extension Drive. За исключением приставки «Memory Extension Drive» не видится ничего необычного. Более того, похоже, что семейство относится к появившимся два года назад накопителям Ultrastar SN200 на планарной памяти NAND MLC 128 Гбит и фирменном контроллере компании. Выпускаются накопители Ultrastar DC ME200 Memory Extension Drive также в привычных форм-факторах: U.2 и PCIe 3.0 x8 HHHL.

В каждом из вариантов компания предлагает модели объёмом 1, 2 и 4 Тбайт. Все они допускают до 17 перезаписей ёмкости в сутки в течение трёхлетнего срока гарантии (2D NAND MLC к этому располагает, да). Но в принципе, ничего фантастического, если бы не одно но. Накопители Ultrastar DC ME200 идут в комплекте с утилитами, драйверами и программным обеспечением, которое позволяет им прозрачно для операционной системы работать как оперативная память типа DRAM. Точнее, как виртуальный пул оперативной памяти в одном адресном пространстве с настоящей оперативной памятью.

Как справедливо считают в Western Digital, оперативная память дороже NAND и имеет ограниченные возможности для установки в стандартные серверные платформы: количество слотов наперечёт, чем ёмче планка, тем она дороже, а цена растёт нелинейно, цены нестабильны и так далее. Просто так заменить DRAM на накопители с памятью NAND тоже нельзя. Для снижения латентности обращения к SSD и прозрачности для работы сторонних программ нужны алгоритмы и поддержка на уровне ОС. Поэтому в WD для работы накопителей Memory Extension Drive создали программные решения с использованием свыше 20 алгоритмов ветвления, предсказания и кеширования, что, как они уверяют, помогло приблизить скорость работы виртуального пула памяти на SSD к уровню скорости настоящей DRAM.

Например, чистая производительность при соотношении объёмов памяти 3:1 (SSD:DRAM) снижает производительность по сравнению с загрузкой в DRAM до 91 %, а соотношение 7:1 — до 85 %. При этом, например, цены на массивы 256 Гбайт DDR4 плюс 2 Тбайт SSD окажутся на четверть ниже, чем если бы использовался один массив DDR4 объёмом 1,5 Тбайт. Использование «расширителей памяти», докладывают разработчики, позволяет в 8 раз увеличить пул «оперативной» памяти, чего нельзя достичь в случае одних лишь настоящих модулей DRAM.

Добавим, все эти ухищрения нужны для массивных и распределённых вычислений в виде полностью загружаемых в память баз данных, включая новомодные машинное обучение и искусственный интеллект. Кстати, компания WD отмечает, что алгоритмы машинного обучения для снижения задержек при обращении к виртуальным пулам играют едва ли не главенствующую роль. Искин, как говорится, в помощь!

iZEN ★★★★★
() автор топика
Последнее исправление: iZEN (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.