Доступны ли преимущества Optane-кэширования за пределами современной экосистемы Intel? longread

Андрей Зинченко
Андрей Зинченко 20 марта 2019, 21:57
Доктор философии в области экономики, доцент кафедры финансов Национального университета кораблестроения, магистр государственного управления (МРА)
Блог
Это запись из пользовательского блога.
Она выражает личное мнение автора, которое может не совпадать с мнением редакции.
Доступны ли преимущества Optane-кэширования за пределами современной экосистемы Intel? longread

Disclamer. Публикация является логическим продолжением первой части, которая доступна по ссылке. Материал рассчитан на широкий круг читателей и поэтому не содержит особо глубоких технических подробностей, которые интересны в первую очередь узким специалистам. Все описанное в статье выполнялось на тестовом оборудовании в экспериментальных целях и автор не несет ответственности за любой ущерб вследствие попыток повторить изложенное. Всегда делайте backup-ы!

Не далее как в 15м году маркетологи из Intel с серьезными лицами явили миру благую весть в виде анонса непонятного на тот момент времени то ли решения, то ли продукта, то ли технологии под рыночной маркой 3D Xpoint. Речь шла о новом классе! памяти, который должен был быть воплощен в модулях с именем Optane. Пресс-релизы обещали минимум чудо с последующей канонизацией купивших – настолько жирно и неправдоподобно выглядели обещаемые характеристики изделия в материале. Если бы продвижение на рынок аналогичного товара доверили евангелистам из Аpple, то "фану с экспириенсом" срочно пришлось бы иcкать замену или как минимум абонемент в качалку со стероидами.

Судите сами – память обещали в 1000 раз быстрее, чем NAND, в 1000 раз выносливее той же NAND ну и в 10 раз плотнее и, соответственно, компактнее DRAM. Я гарантирую это скриншотом!

В структуре системы новому продукту отводили позиционирование между тем, что массам более-менее понятно, как оперативная память и твердотельные накопители. Ожидался какой-то мичуринский прорывной гибрид с запредельными на тот момент показателями IOPS Цены скромно не озвучивали.

Чуть более глубокое изучение пресс-релизов на примере корпоративных решений намекало на то, что Интел изобрел некий подвид кэша, на технологии настолько быстрой, что им можно кэшировать даже набирающие популярность ввиду снижения цен твердотельные накопители! Для рядового же пользователя, который только-только смог приобщиться к миру быстрых носителей, все выглядело не столько шоколадно, сколько непонятно – ведь еще вчера в их понимании верхом быстродействия в мире накопителей были именно SSD, а тут внезапно Optane. Конечно техническим специалистам все было понятно заранее, но таких, как известно, меньшинство. Остальные же ожидали действительно чего-то потрясающего устои хранения и доступа к информации.

Реальность же оказалась несколько более прозаичной. На фоне корпоративных клиентов в ритейл будущее предлагалось начиная с NVME модулей по 16 ГБ за более, чем 40USD и 32 ГБ за почти 80USD для использования в виде кэша совсем уж нетрадиционным способом.

Чудо должно было стать костылем в основном для медленных накопителей на жестких дисках, коих в парке пользователей на планете Земля по сей день большинство. Так Optane должен был стать на первый взгляд своего рода буфером между быстрой памятью в ОЗУ и более медленным накопителем. Оперативная память дорогая, SSD приличных размеров – дорогие. Почему бы не закешировать тормозной носитель революционной железкой?

Но делать это предлагалось несколько нелогичным образом. Главной особенностью внедрения кэширующего накопителя Intel предполагал использование его в системах на базе процессоров 7 поколения (и то не всех) и выше т.е. в целевую аудиторию записали только покупателей нового и недешевого железа, которые почти гарантированно планировали системным диском SSD. В итоге предлагаемый "кэш задорого" в новой современной системе им был банально не нужен. Интел пыталась сместить акценты, что, мол, игроки купят небольшой SSD под систему, а НЖМД с большими релизами "игорей" все равно придется чем-то ускорять и вот тут-то Оптан и можно будет пристроить.

Но "не взлетело" т.к. старый парк технология вызывающе игнорировала, а в новый – сильно опоздала в связи с хорошим проникновением больших объемов ОЗУ и SSD в круги платежеспособных энтузиастов, а далее и в ширнармассы.

Отбросив сарказм нужно заметить, что сама по себе технология получилась и позволила создать носители хоть и не такой сказочной скорости, как ожидалось, но по факту – скорости беспрецедентной, особенно в работе с произвольным доступом. Поэтому достаточно быстро с прицелом на корпоративный сектор на базе 3D Xpoint выкатили объемные Optane SSD 800P и совсем уж неприлично быстрый Optane SSD 900P. Но цены…, да и с 1000 кратным превышением выносливости явно погорячились , хотя по моему личному мнению и 3dnews тестируют несколько непоказательно и результат по ссылке явно намекает, что отвал носителя был с немаленькой вероятностью программным и осуществился по заранее заложенному алгоритму после достижения заданного количества перезаписей ячеек. Но без анализа управляющей программы эти заявления непроверяемы.

Подводя итог маркетинговой компании можно сказать, что Интел с коллегами смогли создать уж очень быстрые накопители корпоративного класса, которые в розничном секторе ввиду цены могут быть лишь нишевым продуктом – либо для состоятельных энтузиастов-профессионалов, либо в виде осколков для нетрадиционных задач типа кэширования.

С кэшированием же не все так просто. Реализация, хоть и опоздала, тем не менее могла быть полезной для миллионов старых систем – ведь скоростей даже самых младших Оптанов должно было хватать для серьезной поддержки дисковых систем прошлого, но Оптан там было банально некуда вставлять – NVME поддерживался далеко не всеми материнскими платами, а иной реализации Интел не испек. В тех же системах, где волшебную палочку было куда воткнуть, но не подходил процессор с логикой, она виделась обычным носителем смешного на сегодня объема. В общем производитель искусственно ограничил круг потенциальных покупателей теми, кому продукт был неинтересен.

А что же с кешированием? «Его было» и до Оптана. Современные операционные системы осуществляют кэширование обмена данными штатными средствами с разной степенью эффективности незаметно для пользователя. Во времена куцых объемов оперативной памяти понятный более-менее аналог (именно аналог – реализации сильно разные, но смысл похож) задуманного Интелом на базе Оптана назывался в ОС Windows ReadyBoost и реализовывался натурально флешками (не только, но в основном), которые могли быть сильно быстрее крутящихся жестких дисков. USB3.0 и все такое. Особо продвинутые энтузиасты могли подкидывать в качестве бустера RAМдиск, но тут уже становился вопрос эффективности траты дорогой памяти на такое действо.

Сферические олдфаги в вакууме помнят время, когда запустить, скажем, DOOM с рамдрайва было верхом жира т.к. не каждая машина имела достаточно оперативной памяти для этого. Это позволяло полностью исключить тормоза подгрузки с очень медленного диска в массовых батальных сценах и не лицезреть моргающую дискету в углу. Т.е. ботлнеком уже тогда был НЖМД, но альтернатив в потребительском сегменте особо и не было и рамдрайв был чуть ли не единственным способом заглянуть хорошо за пределы предлагаемых НЖМД скоростей. Там же можно было разместить временные папки и даже запускать рабочее ПО, но вопрос энергонезависимости все портил. В итоге на безрыбье рождались такие мутанты как Gigabyte i-RAM, но с ростом доступности оперативной памяти они были вытеснены на периферию рынка и забыты всеми, кроме только уж совсем редких гиков.

В корпоративном же сегменте кэшируещее ПО существует достаточно давно, работает хорошо и стоит дорого. Но там вопрос цены вторичен.

В розничном сегменте успешно работают такие продукты как PrimoCache. Как это все устроено на практике можно посмотреть здесь Работает волне хорошо. Особенно учитывая, что в данном случае реализована 2-х уровневая система кэширования – данные перед тем как затормозить систему работой с диском помещаются к кэш оперативной памяти и фоново записываются на накопитель не взывая дискомфорта. Если данные еще не ушли на накопитель, то повторное их чтение осуществится из кэша в оперативной памяти почти мгновенно, а чтение наиболее популярных и объемных данных при работе с PrimoCache происходит из задублированной на SSD копии, которая в этой программе называется L2 кэшем. Причем схема работы PrimoCache относительно безопасна, если не увлекаться отодвиганием временного горизонта отложенной на НЖМД записи сильно в будущее.

Казалось бы – почему по этому пути не пошел Интел? Что мешало сделать доступным Оптан-кэширование древним системам и обеспечить себе объемный рынок сбыта? Видимо в первую очередь ориентация на корпоративного клиента. Но зачем тогда вообще было заваривать эту кашу? Здесь, к слову, надо заметить, что Интел хоть и неплохо реализовала известную давно технологию многоуровневого кэша, но и тут не смогла не отметиться оригинальностью реализации в плохом смысле. Дело в том, что кэширование НЖМД через Оптан в тех системах, где он мог использоваться, происходило, судя по мануалам, очень оригинально – в отличии от дублирования популярных у ОС данных на кеширующий диск, как это сделано в PrimoCache, Интел придумал не дублировать данные, а переносить.

Т.е. в теории при развале кэширующей системы в случае с PrimoCache оставалась полностью целая исходная информация на кэшируемом носителе, за минусом того, что не успело записаться из кэша в ОЗУ, и после чего система полностью запускалась хоть и с медленного, но живого и целостного носителя, а вот в случае с Интелом при развале системы на разных физических носителях оставались разрозненные куски данных и можно ли что-то в этом случае вообще восстановить – большой вопрос, а попробовать негде.

На этом фоне не отстала и АМД, представив концептуально похожее решение StoreMi не забыв про ограничения по процессорной линейке и логике: X399 или 400, но позволяющее использовать любые SSD как кэширующие. Примечательно, что впаривать решение опять таки предполагалось тем, кому оно особо и не надо – покупателям новых линеек. AMD видела все как-то так.

На этом фоне PrimoCache для любых систем смотрелся несколько универсальнее, чем необоснованно жестко привязанные к железу решения лидеров рынка. К новому железу. Железу недешевому, особенно в случае Интел. Но об этом ниже.

Так же надо отметить, что кэширование работы с накопителем через свободную оперативную память предлагается для использования бесплатно компаниями Сrucial и Samsung – главным требованием является наличие системного диска этих производителей. В случае с Сrucial кэшируешее ПО Momentum позволяет работать кроме системного SSD от Crucial с другими SATA носителями в системе.

Т.е. выбор достаточно велик и на его фоне закрытость решения Интел не совсем понятна, особенно с учетом действительно выдающихся эксплуатационных характеристик их изделий, которые могут догнать только лучшие представители NAND-конкурентов в режиме многоканального SLC.

Подведем промежуточный итог. У пользователя сегодня есть очень широкий выбор. Можно под систему отвести дешевеющие SSD, которые сегодня стали массово доступны с умопомрачительными скоростями в случае NVME за относительно вменяемые деньги. Это самый правильный, логичный и эффективный выбор сегодняшнего дня. В зависимости от потребностей для хранения холодных данных могут использоваться либо НЖМД, либо дополнительные SSD, либо RAID массивы из первых и вторых по вкусу и нужде в безотказности. Ну или внешнее хранилище, NAS, облака и т.п. А с учетом того, что такие лидеры рынка как Samsung еще и нативный кэш предлагают в комплекте с продуктом – Интеловское кэширование явно проходит мимо кассы.

Вторым направлением можно предположить кэширование, которое виделось Интел и АМД, но оба привязаны к железу и реализованы неоднозначно. В итоге платежеспособные попадают в категорию выше, а остальные – зрители. А в то время еще так некстати DDR4 подорожанием слегка притормозила глобальный переход на новые платформы тех, кому старые еще служили относительно нормально.

Те же, кто в общем-то и должен был быть целевой аудиторией, а именно – владельцы старого парка, остались незаслуженно забытыми мейнстримовыми производителями. И хотя у мейнстрима другие цели, тем не менее, как отмечалось, в мировом парке ПК основным системным диском все еще стоит старый и медленный НЖМД, хотя многие остальные части системы позволили бы ей быть вполне рабочей даже по современным меркам.

Так же не стоит игнорировать тот факт, что в немалом числе таких вот старых машин заменить НЖМД на SSD не всегда возможно по субъективным обстоятельствам, которые в основном могут заключаться в том, что на машине все отрепетировано и привычно, введены пароли, в удобных местах разложены файлы и переустановки системы с 0 может быть стрессом во всех смыслах. Прямой же переезд клонированием тоже не всегда удобен, особенно если этим занимается не специалист, который не забудет, например, выключить дефрагментацию по расписанию. В отдельных же случаях переезд на новое железо может вообще быть катастрофой местного масштаба, особенно в случае типа бухгалтерии. Именно в эту аудиторию бы все преимущества Optana, но как раз их из списка возможных потребителей исключили жирным черным маркером т.е. искусственными платформенными ограничениями и ценой, которая делает даже в перспективе эту затею на фоне упавших цен на традиционные SSD казалось бы совершенно бесперспективной.

Для того чтобы еще раз проиллюстрировать ситуацию с кэшированием старого и медленного НЖМД с учетом сегодняшних возможностей того же PrimoCache и копеечного SSD на 16гб от Kingston я приведу всего несколько скриншотов, заботливо сделанных именно для этих целей на рядовом ноутбуке, где осуществляются типичные SОНО и развлекательные работы с аптаймом в примерно 90 дней т.е. 3 месяца. Ресурсоемких задач типа перекодирования видео или моделирования масштабных проектов здесь не осуществляется. Уверен, что не ошибусь, если предположу, что около 2\3 всех домашних и офисных ПК используются по похожему сценарию.

Итак раз.

И два.

Как видно из отчета программы за 3 месяца с системного диска ОС пыталась прочесть 664 гб информации и 643,61 из них пришлось на общий кэш т.е. почти 97%. Причем треть всех данных или почти 222 гб были прочитаны именно с L2 кеша. Т.е. фактически с медленного НЖМД система прочитала всего 3!% данных – все остальное читалось из ОЗУ и кэширующего SSD с соответствующими скоростями и откликом интерфейса пользователя. Выражаясь по бытовому – Windows не тормозила.

Вторым важным элементом в статистике является общий запрос на запись системой – почти 369 гб из которых до реального носителя долетело лишь 223,43 или 62,1%. Дело в том, что в какой-то момент запись части данных теряет актуальность и в этот момент, если физическая запись еще не осуществлена из кэша в ОЗУ, а время отсрочки настраивается в ручную и у меня это 60 секунд, то такие данные и не доходят до носителя. В нашем случае благодаря кэшированию мы не записали более 100 гб. В случае с SSD это можно было бы назвать экономией его ресурса, но сегодня этот показатель мало актуален.

В конце обращу внимание, что кэширование происходило на ноутбуке с 16гб ОЗУ с кэширующим SSD в 16 гб и эти самые 16 кэширующих гб на твердотельном диске закончились примерно на 60 день аптайма. Далее неактуальные данные замещались новыми, но будь SSD побольше, то он со временем бы продублировал почти весь основной накопитель в части, откуда идет активное чтение более 2-3 раз. Т.е. поставь мы в кэш SSD на 128 гб, то и игры бы потихоньку туда продублировались бы. Сюда бы Оптан.

Но в действительности, как известно, все немного не так, как на самом деле. Младшие версии чудесного Оптана совершенно внезапно стали появляться на барахолках по цене в около 10 USD причем зачастую в неиспользованном виде т.е. новыми! По версии Интел использовать для кэширования за пределами родной экосистемы их нельзя. В лучшем случае на несовместимых системах их можно использовать как обычный NVME накопитель в дефицитном слоте и со смешным объемом в 16 или 32 гб. Как говаривал киноклассик – это несерьёзно!

И его можно понять – ну кому нужны хоть и космически быстрые 16 гб на фоне стремящейся к 1 вероятности поселения в скоростной слот куда более быстрого и объемного, например, Самсунга верхних серий за относительно адекватные деньги? Ну реально конкурентоспособные накопители делает сегодня Самсунг, а если их еще и в рейд…., но мы отвлеклись.

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

И сейчас мы это проиллюстрируем на достаточно антикварной, но тем не менее вполне еще встречающейся в SOHO платформе. Речь не о конкретном железе – скорее периоде перехода от IDE интерфейсов к SATA на ранних стадиях. У меня для этих целей нашлась вполне рабочая плата от кутюр т.е. от ASUS – M2NPV-VM.

Это была достаточно недорогая, но вполне неплохо оснащенная по тем временам база для офисной или домашней машины: интегрированное видео с возможностью подключения 2 мониторов, 8 гб поддерживаемой DDR2 памяти, видеовыход, 2хIDE, 4хSATA2 и даже LPT (финансисты поймут тогдашнюю ценность), не считая USB, сетевой, аудио и 1394а.

В общем в далеком 2006-м я собрал очень неплохой офис на платах этой серии, который решает финансово-учетные задачи до сих пор, правда в немного проапгрейдженном виде – платформа позволяет делать это дешево и без переезда ОС со всеми надстройками.

Наиболее слабым местом сборки по сегодняшним меркам и профилю задач является как раз накопитель. Самым простым способом решения вопроса является клонирование системного диска на SSD и работа с быстрым и недорогим сегодня носителем далее, но есть нюанс – хотя ресурс SSD сегодня можно считать вопросом непроблемным, тем не менее выходят из строя SSD неожиданно и безвозвратно.

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

Несложно заметить, что подопытная плата обладает интерфейсом SATA2, что дает нам недостижимые для массовых накопителей того времени теоретические 300 мегабайт пропускной способности в секунду. Типичный тогдашний жесткий диск в популярном сегодня тесте выглядел так

Душераздирающее зрелище. Именно так охарактеризовал бы результат забега ослик Иа.

Современные коллеги выглядят не лучше.

Нетрудно догадаться, что такой хоккей нам сегодня не нужен. Но как быть, если на этих древних тормозах крутится бухгалтерия, а переезд по каким-то причинам неуместен?

Ответа на самом деле ровно полтора т.к. они имеют общие корни. По ссылке мы выяснили, что поставить костыль медленному, но не выходящему из строя внезапно, жесткому диску можно даже через небольшой SSD с помощью PrimoCache. ПО создаст буфер из оперативной памяти, из которого данные попадут в кэш на SSD и только потом, фоново, данные запишутся на HDD. В случае же чтения после первичного прочтения популярные данные будут читаться либо из быстрого кэша в ОЗУ либо… из копии на кэширующем SSD чуть менее быстро, чем из ОЗУ, но со вполне твердотельной скоростью. Общая логика напоминается ниже.

Средненький и самый недорогой SSD на 16 гб с SATA интерфейсом покажет вот такие скорости на рассматриваемой системе.

Это бесспорный прорыв для чтения из кэша – примерно в 60! раз быстрее НЖМД. Т.е. популярные данные задублируются на кэширующем SSD и при обращении к ним будут прочитаны с SSDшной скоростью. Запись через такой кэш произойдет с отсрочкой и через SDD в 30! раз быстрее. При этом никакого риска неожиданного выхода из строя такого SSD нет – если это и произойдет, то система спокойно загрузится с основного ХДД, готовой к работе. Медленной, но целой. Пострадать могут только данные, которые при сбое не будут дописаны из кеша на диск.

Хотелось бы обратить внимание, что линейные скорости записи нас здесь не интересуют по 2 причинам. 1 – подавляющее большинство бытовых пользовательских операций с накопителями характеризуются глубиной запросов 1-4. Причем в основном это 1. Это не значит, что длинных очередей не бывает вообще, но встречаются они нечасто и линейная скорость будет нам важна только при целевой записи и чтении большого массива данных, что в SOHO бывает не так чтобы и часто. Для примера приведем исследование Интел на собственных сотрудниках средней глубины запросов на чтение.

А вот глубина очереди при запуске популярного ПО

Важно здесь вот что - при ускорении работы с длиной очереди запросов 1-4 радикально ускоряется отзывчивость системы для пользователя. Пользователю не так критичны времена записи фильмов в минуты, как фризы в доли и секунды при работе с привычным интерфейсом. Кэширование эти секундные фризы ликвидирует вплоть до возможностей процессора по обработке пользовательской задачи. Т.е. диск перестает оперативно быть узким местом.

Казалось бы, причем тут Оптан? Зачем мы прочитали столько текста? 1… нет 2 чая дочитавшим – оказывается все возможно!

Конечно пристроить NVME на такую плату, которая видела динозавров, напрямую некуда, да и казалось бы – незачем – ведь кеширование, о котором и речь, мы можем реализовать совершенно любым обычным SATA SSD даже на SATA2 т.к. этот интерфейс не является ограничением для задач произвольной работы с мелкими файлами, коих абсолютное большинство. Т.е. космические линейные скорости современных SSD в сценарии работы с массивами мелких файлов не востребованы, как когда-то давно десятки ядер процессоров не умеющим их утилизировать ПО, но выглядело и выглядит в синтетическом тестировании это всегда круто!

Однако плата оснащена слотом PCI Express х16 и х1. И если в х16 можно пристроить видеокарту и даже немного поиграть в игры не самого давнего прошлого, то х1 нередко остается свободным (если не майнили) и его одна линия в теории должна иметь пропускную способность в 250 мегабайт в секунду, что даже меньше SATA2.

Однако это pciex, а значит туда можно попробовать установить NVME устройство!

Напрямую конечно не получится т.к. физическая реализация контактных групп у pciex и м.2 разная. Но может есть варианты?

Они есть и любезно изготовлены в Азии и представлены на Али за не очень дорого. Выглядит примерно так.

Заказываем, ждем, надеемся.

А пока попутно ищем подопытный Оптан и находим его на ближайшей интернет-барахолке за ровно 10 у.е.

Да, это я купил один специально для этого материала, но судя по всему это было не единственное предложение и «их еще будет».

Для написания материала я пошел на пикофинансовый риск – ведь в случае провала ни Оптан ни адаптер мне будут особо не нужны т.к. я использую SSD с комплектным кеширующим ПО и использовать мне их будет банально некуда – разве что опять на барахолку, но…

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

Итак, в теории мы должны поместить Оптан в китайский адаптер, адаптер в pci-e х1 на матлпате, матплату включить и надеяться, что вся конструкция заведется. Если мануалы не врут, то у нас что-то получится. А пока за манипуляциями с интересом наблюдает вот этот персонаж, подозревая нас в пиратстве идеи.

"На море на океане есть остров, на том острове дуб стоит, под дубом сундук зарыт, в сундуке — заяц, в зайце — утка, в утке — яйцо, в яйце — игла" (с)

Ну что ж. Собрали наш сундук т.е. системный блок и с надеждой нажимаем кнопку включения. Хоть в теории работать и должно, но во времена производства нашей матплаты такие конструкции никто в здравом уме не рядил и поэтому никаких гарантий успеха никто естественно не давал.

3-2-1 … поехали.

И тут же первая остановка. BIOS ожидаемо игнорирует нашу поделку. Тут ничего особо неожиданного. Желать запуститься с такого аппендицита было бы уже слишком самонадеянно. Едем дальше.

Забыл уточнить. Для полноты погружения в реальность в качестве ОС мы выбрали Windows 7 Максимальную 64-bit Sp1.

И по факту получили дырку от бублика – в списке устройств наше инженерное решение оказалось хоть и видно, но неопознано.

И вот эти двое из-за угла.

За давностью лет я, признаться, забыл, что Windows 7 не сразу научилась понимать NVME. Нативно она имела на это полное право – в 2009м таких диковинных железок еще никто не видел – до относительно современных реализаций было еще лет 5 и соответствующий костыль Microsoft сочинила лишь позже. Описание костыля по ссылке , но вот незадача - к сегодняшнему дню заплатка номер 29990941 для семерки уже недоступна, но разве нас можно испугать такой мелочью?

И через несколько секунд мы находим искомое по адресу thehotfixshare.net/board/index.php?showtopic=22296 , натягиваем на глобус т.е. ОС и в ожидании результата перезагружаемся.

Перезапуск являет в системе нам новое опознанное устройство в разделе накопителей. Здесь же интересующиеся могут ознакомиться с полным списком накопителей, который использовались в ходе тестирования.

Их лица излучают радость и безмятежность – эффект достигнут (с). Почему система так странно опознала Оптан нам уже не так интересно, как заглянуть в менеджер дисков чтобы удостовериться как обстоят дела там. Забегая вперед скажу, что носитель пришлось отформатировать и увиделся он примерно так.

Оптан верхний. На этом скрине я специально привел два диска – второй, это обычный SSD на 16гб от Кингстона, который использовался в связке с PrimoCache в этой системе для кешированя ранее. Как видим 16 гб понятие условное и в носителях. Обусловлено это в первую очередь тем, что производители считают гигабайты и мегабайты кратно 1000, а не 1024. Во вторую очередь цифры, которые мы видим, показывают, что в обоих случаях контроллер носителей осуществляет на уровне прошивки Over-Provisioning т.е. оставляет часть полезного объема носителя недоступным пользователю в целях обеспечения надежности и стабильности скоростных показателей. Как конкретно контроллер использует скрытую область нам не важно. Важно, что в случае Оптана «недолив» составляет вполне заметные примерно 2,5 гб! Т.е. об использовании младших Оптанов в системных целях можно говорить только для случаев сверхкомпактных установок Windows 7, что в практических целях может иметь смысл ну в очень узкоспециализированных случаях. Придумать такие продуктивными, чтобы еще и М.2 штатный был – та еще задача. А если нет штатного М.2 , то через такую конструкцию как у нас не каждый UEFI увидит Оптан на стадии POST как носитель вообще – т.е. о загрузке с него речи нет. В нашем случае, как накопитель, Оптан появляется на стадии загрузки драйверов Windows. Причем от того, когда именно он становится понятным ОС, теперь зависит весь успех нашей затеи.

Теперь, когда мы таки раскочегарили Оптан на антиквартной плате с помощью костыля, самое время запустить известный всем тест. Заблаговременно стоит сказать, что в случае такой специфической платы как у нас при оценке результата надо делать поправку на драйвера и железо. Обращаем внимание – Оптан мы сейчас тестируем как обычный накопитель.

Старт , взлет, результат. Базовые технические характеристики производителя указаны справа.

Для платформы музейного экспоната результат очень даже приличный. Попытаемся в нем разобраться детальней. Напомню, что указанные цифры нас интересуют как порядки в первую очередь, потому как их повторяемость может отличаться на других системах. Причем чем новее будет система – тем в большую сторону изменятся показатели!

Скорость максимального линейного чтения немного не дотянула до теоретического максимума нашего pci-e x1 в 250 мегабайт в секунду в одну сторону. Причем по части чтения вплоть до 4кб блоков с глубиной 1 цифра почти не меняется.

В сети валом и россыпями тестов скоростей Опатнов разного калибра и читатель сам может сравнить наш результат с полученным на топовом современно железе, а мы пока констатируем, что за 10 примерно лет, на базе древней, как шерсть мамонта, платы мы видим просто космический рывок в росте скорости работы с 4кб блоками по сравнению с НЖМД того периода!

Еще раз для наглядности.

В части 4кб блоков с глубиной очереди в 1 рост составляет примерно 312 раз! С учетом того, что именно эти операции составляют большинство в повседневной работе – скорость отклика системы с таким носителем должна упираться только в процессор. Но это если такой диск будет системным, а нужного объема они и стоят космически. В связи с этим надо подумать, как можно передать Оптану часть задач по чтению системных файлов и прочего ПО. Ответ будет из прошлого материала – PrimoCache и иные кэширующие программы, умеющие использовать в качестве буфера быстрые накопители.

В нашем случае PrimoCache штатно увидел конструкцию и был готов использовать ее для кэширования.

В системном окне PrimoCache выглядит это примерно так.

Итак, мы подошли к завершению всей курсовой работы. PrimoCache штатно опознал быстрый Оптан как потенциальный L2 кэш и сконфигурирован для его использования.

Момент истины наступит при перезагрузке т.к. мы не знаем на какой стадии загрузки ОС опознает Оптан как носитель и, соответственно, PrimoCache начинает его использовать, а использовать кэеширующий SSD PrimoCache умеет уже в процессе загрузки – часть ее происходит не с кэшируемого НЖМД, а с кэширующего SSD т.е. сильно быстрее все становится уже при запуске. Эффект в случае кеширования чтения через SATA SSD на стадии загрузки здесь был установлен практически и он очевиден.

Перезагружаемся и… Оптан в переходнике вполне успевает вступить в работу – мы окончательно устанавливаем возможность использовать его как кеширующий диск для старой системы с НЖМД с помощью PrimoCache.

В итоге, как мы помним, через некоторое время PrimoCache продублирует популярные данные на Оптан и дальнейшее их чтение будет происходить с него на очень большой скорости. В зависимости от версии PrimoCache можно закешировать как чтение, так и запись. Ключевое отличие от модели, которую предлагал Интел для Оптана, заключается в том, что алгоритм Интел переносит популярные у ОС данные на Оптан, а PrimoCache дублирует их. Т.е. в случае с PrimoCache при поломке кэширующего носителя данные не пропадут – система вернётся к загрузке с НЖМД и медленной работе с ним.

Какие же итоговые цифры у нас получились в результате затеи? Скриншоты ниже.

Давайте попробуем в них разобраться. В нашей системе под нужны PrimoCache отдано 2 гб антикварной DDR2 и в рамках этого объема любые операции с «дисковой» подсистемой происходят по сути в ОЗУ с соответствующей скоростью. Следует понимать, что на более современных платформах и скорости будут побольше. Когда работа с данными завершается – они фоново и незаметно осядут (в некоторых случаях через Оптан - об этом ниже) на медленном НЖМД, не создавая неудобств пользователю. Логически это своего рода рамдрайв. В случае же если обрабатывается массив данных более чем отведенный объем ОЗУ, то таковой не поместится в рамдрайв и пойдет прямиком на НЖМД, если только не будет разделен на файлы, часть из который в него таки влезут. Два замера внизу это прекрасно показывают. При этом очевидно, что кеширование здесь не совсем бесполезно – даже в тяжелом случае данные бегают к НЖМД существенно быстрее, а от него - минимум в 2-4 раза быстрее, чем от него же некешированного. Т.е. частично кеш успевает обработать что-то даже в случае большого массива, особенно при записи, используя Оптан. Но, как мы и писали выше, такие нагрузки не являются частыми дома и в офисе и поэтому ожидание разовых обработок таких объемов – некритично, зато отклик системы в случае типичной работы становится радикально быстрее!

Чтобы понять какой вклад в конечный результат вносит наш Оптан мы отключим в PrimoCache кеш в ОЗУ и оставим только Оптан.

Как видим – ситуация сильно поменялась.

Для случаев объемов в 50 и 100 мегабайт мы наблюдаем низкую скорость последовательного чтения и сильный рост в дальнейших проходах. Это можно объяснить тем, что первый раз ведется чтение вновь созданного массива данных, который одновременно дублируется в Оптан и в дальнейших проходах читается уже с него, но система этого не видит и «думает», что чтение продолжается прямо с диска С:\ . Более крупные тестовые образцы без кэша в ОЗУ, видимо, не успевают за время прохода целиком задублироваться на Оптан, что приводит к результатам, которые можно наблюдать начиная с 500 мб.

Думаю, будь вариант теста в ширину полосы для записи pci-e х1, то момент падения производительности пришелся бы именно на него, а в современных системах таковой лежит далеко за пределами наших 250 мб\с в одну сторону. Именно поэтому актуально для PrimoCache использовать связку кеша в ОЗУ и на быстром накопителе. Единожды настроенное это ПО в дальнейшем практически не требует к себе внимания и в случае непредвиденного завершения работы ОС сбор кеширующего массива начинается заново без участия пользователя и в фоновом режиме. Реальный массив после сбоя собирается гораздо быстрее первичного - видимо существует некое его описание в недрах ПО и по факту сбоя дублируются уже описанные как актуальные данные. Единственное, что будет заметно – временный возврат скорости работы на уровень НЖМД, но, как показывает практика, ускорение ощущается уже через несколько минут работы.

Наверно как-то так задумывался кеширующий маленький Оптан как продукт компанией Интел. Потом идея была перенята АМД, но, видимо, не потому, что это реально было нужно, а чтобы просто было не хуже, чем у конкурента - маркетинговый отдел получил премию и будет. Оба гиганта привязали технологию к собственному железу в случае Интел либо связке железа и местами платное ПО в случае АМД.

Но все можно запустить и в обход логики олигополии вполне штатными инструментами. Конечно PrimoCache не единственное ПО, которое умеет кешировать медленные накопители через ОЗУ и быстрые накопители, но мы рассматриваем этот пример как продолжение прошлого тематического материала да и некоторые корпоративные программные продукты в этой сфере недоступны даже для тестирования без железного ключа.

К слову о тестировании – к нашему маленькому тесту нужно относится скорее как к индикатору тенденции, нежели как к точному результату.

Но зачем у нас фигурировало на стене ружье т.е. SSD Kingston на 16 gb? Дочитавшим до этого места предлагается третий чай :)

В прошлом материале мы кешировали НЖМД именно через него. Это был копеечный вариант, коими были завалены барахолки и они будут продаваться еще т.к. при сегодняшних ценах на SDD 16gb просто не могут стоить дорого – флешки дешевле. Дешевле, но не быстрее. А даже 16gb SSD, как видно из теста выше, сильно быстрее любого, даже современного потребительского НЖМД. Есть конечно и гибридные SSD-HDD, но кеширующие буферы в них редко бывают значительными и настраивать их внутреннюю логику работы пользователю не предлагается.

После подключения «сказочного» Оптана, как кэширующего диска, Kingston остался у нас невостребованным, но мы найдем ему применение.

В нашей системе, как мы помним, всего 8 гб оперативной памяти ДДР2, часть из которых мы отводим PrimoCache на кэш первого уровня. Через него данные бегут на кэш второго уровня в виде Оптана и потом уже оседают на медленном НЖМД. В связи с объемом ОЗУ и аппетитами сегодняшних программ, браузеров в частности, отказаться от файла подкачки нам не удастся, да и не нужно. Версии PrimoCache выше 3 умеют кешировать и своп т.е. файл подкачки, но в нашем случае, мы можем еще более разгрузить системный диск и даже кэш, разместив своп на отдельном SSD. У нас это будет маленький Kingston.

Зачем?

А, они будут стрелять! (с)

Если вчитаться в треды о логике работы со свопами в среде Windows, то в глубине комментариев Microsoft можно найти объяснение, что если в системе своп размещен на нескольких дисках, то Windows будет опираться в первую очередь на тот, который более свободен от запросов. Т.е. разместив своп на отдельном SATA SSD мы дополнительно разгрузим дисковую подсистему. Совсем отключать своп на системном медленном НЖМД не стоит т.к. некоторое ПО все равно требует его наличия, а если Microsoft говорит правду, то своп на быстром твердотельном диске будет куда производительнее, ведь он, ко всему, расположен на физически ином, чем системный носителе. Закешировать, к слову, можно и его, но это уже для совсем энтузисастов и по данным той же Microsoft в работе со свопом сильно превалирует именно чтение, которое мы пытаемся организовать с отдельного SSD.

Таким образом у нас получился Франкенштейн, где системным диском - старый НЖМД, который по условиям задачи трогать нельзя, он закеширован с помощью PrimoCache транзитом через ОЗУ Оптаном, а своп лежит на физически отдельном SATA SSD + 2 гб НЖМД под холодные данные, бекапы и прочее.

В итоге типичные задачи после 2-3 выполнения поддерживаются чтением с Оптана и далее выполняются очень быстро. Нас не интересуют конкретные миллисекунды. Субъективно это радикально быстрее исходного варианта с системным НЖМД и заметно быстрее, чем кэширование только через SSD. Как при запуске, так и в работе. И все это без риска потери данных в случае дефекта Оптана или иного SSD!

Решение конечно не массовое, но крайне эффективное и я уверен, что второго такого эксперимента на древностях с Оптаном Вы, скорее всего, в сети не найдете :)

Поделиться