В этом контексте (бюджетная потребительская аппаратура) Optane довольно явно просто ссылается на маленький / быстрый SSD, подключенный к NVMe, использующий память 3D XPoint (вместо флэш-памяти NAND), что обеспечивает очень высокую стойкость записи. (Таким образом, он не изнашивается, если используется как пространство подкачки).
Это все равно будет отстойным для многих рабочих нагрузок, потому что все равно требуется сбой страницы и много микросекунд для доступа против ~ 70 наносекунд для доступа к DRAM (потеря кэша) ; он не отображается напрямую на шину памяти процессоров. Кроме того, неупорядоченное выполнение / предварительная выборка HW / другой параллелизм памяти может удерживать ~ 10 пропусков кэша в полете на физическое ядро, но ошибка страницы сериализуется . Никакой полезной работы не может происходить (в этой теме), пока ОС обслуживает сбой страницы, поэтому у OoO exec нет возможности скрыть любую задержку сбоя этой жесткой страницы. (Но даже 70 нс слишком долго, чтобы полностью спрятаться в любом случае. Тем не менее, многократные промахи при перелете на разные линии в значительной степени уменьшают его для некоторых рабочих нагрузок.)
Использование крайне небольшого объема ОЗУ и зависимость от быстрого SSD для пространства подкачки / файла подкачки - не единственный вариант использования этого типа Optane. (И, вероятно, даже не хороший вариант использования). Как описывает https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html , его основной сценарий использования - это прозрачный кэш для магнитного жесткого диска. Я думаю, что Intel предоставляет драйверы для Windows, чтобы это произошло. Вы можете купить жесткие диски SATA с ротационным магнитным хранилищем со встроенной флэш-памятью в качестве буфера / кэша для часто используемых частей диска. Драйверы Optane HW + могут сделать это для любого диска.
Optane NVMe, по-видимому, имеет очень хорошую производительность произвольного чтения на малой глубине очереди (дождитесь завершения одного чтения, прежде чем начинать другое, что, к сожалению, происходит, когда программе нужно прочитать один блок, прежде чем она сможет выяснить, что делать дальше, и предварительная загрузка программного обеспечения не выполняется. не помогаю). Так что это должно быть здорово для ускорения времени запуска программы и загрузки.
Не особенно удивительно для больших непрерывных записей больших файлов; Надеемся, что программное обеспечение драйвера знает, как обойти кеш Optane и перейти прямо к соответствующему магнитному диску. Главная страница Intel Optane ссылается на https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html, на которой показан их 16- Гбайт M .2 Оптан имеет последовательное чтение 900 МБ / с, но только 145 МБ / с. 32-гигабайтная версия работает быстрее: 1350 МБ / с на чтение, 290 МБ / с на запись. Но опять же, это не то, что Оптан лучше всего. Это IOPS с последовательным и случайным чтением - это 240 тыс. IOPS с задержкой чтения 7 мкс.
У Intel есть кое-что под названием IMDT (технология Intel Memory Drive)это гипервизор, который создает иллюзию большего адресного пространства основной памяти для операционной системы. Некоторые страницы будут сопоставлены с реальной оперативной памятью DRAM, а другие - с памятью SSD. При обращении к странице, сопоставленной с SSD, IMDT обнаруживает сбой страницы, в результате чего страница переносится с SSD в основную память (что может привести к удалению страницы из памяти на SSD). IMDT попытается предварительно загрузить страницы в DRAM, чтобы уменьшить низкую пропускную способность и задержку SSD. Он также попытается сохранить самые горячие страницы в основной памяти, чтобы к ним можно было получить доступ с минимальными затратами (единственное наказание может быть связано с дополнительными уровнями подкачки из-за виртуализации.) ОС в основном игнорирует это отображение и работает нормально. Такая система памяти называется программно-определяемой памятью (SDM). ХорошийДокумент под названием «Оценка производительности технологии Intel Memory Drive для научных приложений» предоставляет оценку производительности IMDT и сравнивает ее с системой, имеющей такой же объем оперативной памяти DRAM. Я не полностью прочитал статью, но похоже, что IMDT может переносить страницы между узлами NUMA, чтобы приблизить их к узлу, где они больше всего нужны.
Тем не менее, IMDT поддерживается только на процессорах Intel серверного уровня. Он предназначен для создания экономичных и энергоэффективных серверов с потенциально небольшим влиянием на производительность.
http://www.lmdb.tech/bench/optanessd/imdt.html имеет несколько тестов с твердотельным накопителем Optane DC P4800X. (Высокопроизводительная версия дата-центра, а не потребительская. Гораздо выше возможность устойчивой записи.)
Я не изучал это, поэтому я не уверен, имеет ли это какое-то отношение к тому, как Windows могла бы использовать потребительский Optane SSD.
Название бренда Optane (несколько странно) также используется для гораздо более интересных экзотических вещей:
3D XPoint Энергонезависимые модули DIMM , также известные как «Постоянная память Optane DC». https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here . Apache Pass - это имя первого поколения Optane DC PM. Обратитесь к этому для получения информации о будущих поколениях.
Intel имеет свою собственную основном предпродажную страницу для этого здесь , с некоторыми ссылками на деталь технологий. «DC» означает Data-Centric, по-видимому.
Это энергонезависимое хранилище, которое подключается к слоту DDR4 DIMM и отображается как фактическая физическая память. По-видимому, он полностью поддерживается только Xeons следующего поколения (но не текущей серией Skylake-X, известной как Skylake Scalable Processor).
Существуют и другие типы NVDIMM, например, обычная DRAM с батарейным питанием (опционально с флэш-памятью для сброса данных при длительном отключении, поэтому им нужен только суперконденсатор вместо химической батареи). https://en.wikipedia.org/wiki/NVDIMM содержит некоторые подробности.
https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot содержит более общую информацию о NVDIMM (и их стандартизации JEDEC, а также о том, как приложения OS + могут взаимодействовать, чтобы позволить приложениям напрямую взаимодействовать с приложениями). область памяти, сопоставленная с хранилищем NV, обеспечивающая порядок фиксации и т. д.). Суть в том, что они фактически стирают грань между оперативной памятью и хранилищем (в смысле архитектуры компьютера, а не в строго маркетинговом смысле обманной рекламы ноутбука, которую вы видели, которая требовала 4 + 16 ГБ.)
ОС может позволить процессу отображать эту энергонезависимую физическую память в собственное виртуальное адресное пространство, чтобы они могли получать доступ к хранилищу напрямую с нагрузками из пользовательского пространства и сохранять по адресам памяти без каких-либо системных вызовов, что позволяет аппаратному обеспечению ЦП продолжать работу вне системы. выполнение ордера пока есть ожидающие чтения / записи . (Существуют программные библиотеки, позволяющие разработчикам воспользоваться этим, включая возможность flush()
и уверенность в том, что данные действительно записываются в постоянное хранилище.
Это отображение может даже быть кэшируемым с обратной записью , поэтому использование данных полностью извлекает выгоду из кэша L3 / L2 / L1d до тех пор, пока не пришло время записать его обратно (если он был изменен). Для данных, предназначенных в основном для чтения, этот тип Optane действительно можно назвать 4 + 16 ГБ ОЗУ. (Конечно, в текущем сценарии использования ЦОД для Optane NVDIMM будут использоваться гораздо большие модули DIMM, например, 512 ГБ.)
(Это не похоже на mmap
файл ed на обычном диске, где вы просто отображаете кеш страницы ОС для этого файла, а ОС заботится о выполнении ввода-вывода в фоновом режиме для синхронизации грязных страниц ОЗУ с устройством хранения.)
Важно убедиться, что некоторые данные действительно достигли хранилища NV, прежде чем другие (чтобы обеспечить восстановление после сбоя, например, файловую систему или журнал базы данных), очень важны. С системными вызовами вы можете использовать POSIX fsync
или fdatasync
. Но так как приложение имеет хранилище, действительно отображаемое в памяти, именно здесь приходят вызовы библиотечных функций.
В x86 asm мы обращаемся к хранилищу с обычными загрузками / хранилищами, но мы заботимся о том, когда данные фактически записываются обратно в NVDIMM (где он защищен от потери мощности), а не когда они видны другим ядрам или к когерентному DMA (как только он фиксируется из буфера хранилища в кэш L1d), поэтому нормальные правила упорядочения памяти в x86 полностью не заботятся обо всем. Нам нужны специальные инструкции для очистки выбранных строк кэша из кэша процессора. (Для использования библиотеками хранения NV)
clflush
Инструкция ASM существует некоторое время, но хранение NV является одной из основных причин , почему Intel добавила clflushopt
в Skylake (хотя есть и другие примеры использование, тоже), и добавление clwb
в Ice Lake (обратная запись без выселения).
Dan Luu написал интересную статью некоторое время назад о преимуществах принятия ОС из пути для доступа к памяти, в котором подробно о планах Intel в этой точке для clflush
/ clwb
и их памяти упорядочения семантики. Она была написана в то время, когда Intel все еще планировала требовать инструкции под названием pcommit
(постоянная фиксация) как часть этого процесса, но позже Intel решила удалить эту инструкцию: У устаревшей инструкции PCOMMIT есть некоторая интересная информация о том, почему и как все это работает под капотом. ,
(Это не относится к теме низкоуровневых подробностей хранилища x86. Я должен найти другое место, чтобы опубликовать большую часть этого раздела, но я так думаю)
Существуют также твердотельные накопители Optane DC , такие как карта PCIe x4 или 2,5 " . Версия 750 ГБ поддерживает последовательное чтение до 2500 МБ / с, последовательную запись 2200 МБ / с и произвольное чтение или запись 550000 IOPS. Задержка чтения несколько хуже, чем M.2 NVMe, при 10 мкс.
Это то, что вам нужно, если вы используете сервер базы данных или что-то в этом роде (если вы не можете использовать NVDIMM), но это не сделает ваш ноутбук на 4 ГБ намного быстрее (для большинства типичных случаев использования), чем оптан на 16 ГБ, с которым они продаются. Перестановка пространства подкачки часто приводит к большому количеству зависимых чтений, так как страница должна быть разбита на страницы и получать к ней доступ, прежде чем код с ошибкой страницы сможет перейти к тому, что он собирается делать дальше. Если памяти действительно мало, у ОС нет запасных страниц для агрессивной предварительной выборки, поэтому можно ожидать малую глубину очереди, для которой оптимизирован потребительский Optane. (Низкая задержка.)
Твердотельный накопитель Intel Optane предлагает хороший компромисс между производительностью и мощностью. SSD в основном не потребляют энергию, когда к ним нет доступа. Напротив, статическое потребление энергии (в основном из-за обновления) в чипах DRAM является значительным. Таким образом, количество DRAM в системе должно идеально соответствовать рабочему набору типичной рабочей нагрузки. Система, которую вы приобрели, была рассчитана на типичную рабочую нагрузку, требующую около 4 ГБ оперативной памяти или меньше. В этом случае, если в системе будет 8 ГБ основной памяти, это потребует больше энергии, что сократит срок службы батареи. Тем не менее, Optane SSD позволяет вам периодически запускать рабочие нагрузки, которые требуют немного больше основной памяти с минимальным снижением производительности (по сравнению с твердотельными накопителями или жесткими дисками на основе NAND).
Память DRAM в настоящее время стоит около 4,5 долларов США за 1 ГБ, в то время как Intel Optane SSD стоит около 2 долларов США за 1 ГБ. Таким образом, твердотельный накопитель на 16 ГБ Optane дороже, чем модуль DRAM 4 ГБ, но дешевле, чем модуль DRAM 8 ГБ. Поэтому, если вы возьмете твердотельный накопитель Optane и добавите на 4 ГБ больше памяти, вы получите более дешевую систему, которая также в среднем быстрее для типичных рабочих нагрузок с рабочими наборами более 4 ГБ. Но жесткая обработка сбоев страниц, предварительная выборка страниц и замена страниц будут медленнее с жесткого диска. Поэтому система 8 ГБ, вероятно, будет работать медленнее, чем 4 ГБ DRAM + 16 ГБ Optane SSD, если для типичной рабочей нагрузки требуется менее (или около) 4 ГБ памяти.
Ваш ноутбук отлично подходит, если вы просто собираетесь использовать его для просмотра Интернета или редактирования текста. Optane SSD помогает во время загрузки, обеспечивает быстрый доступ к наиболее часто используемым файлам и может использоваться в качестве дополнительного дополнительного хранилища. Таким образом, хотя вы платите больше 16 ГБ Optane SSD, чем 4 ГБ DRAM, вы получаете определенные, уникальные преимущества для этого. Но для некоторых других упомянутых вами приложений, таких как RStudio, требуется минимум 4 ГБ памяти. Если вы обычно используете браузер и RStudio одновременно (и, возможно, другие приложения), то вы должны получить систему с минимум 8 ГБ памяти. Оптане SSD пока хорошо, чтобы иметь хотя.