Ультрабюджетный boost системам с HDD или гибридная альтернатива чистому SSD!

Автор: Андрей Зинченко, 02 октября 2017, 14:11

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

Доброго, уважаемым читателям!

О чем разговор?

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

Где это встречается ?

Такой сценарий, например, является основным сегодня при работе с браузерами, которые интенсивно взаимодействуют с диском в части размещения и чтения кэша. Внешне это выглядит как постоянно горящая лампочка обмена данными с диском и сильные задержки в работе, особенно когда оперативная память (ОЗУ) наполнена практически полностью . Диспетчер заwaдач в таких ситуациях показывает примерно вот что.

И если в случае HDD при копировании большой папки с видео пользователю в целом было не принципиально будет она копироваться 16 минут или 22, то при задержках в отклике на текущие действия около секунды и более ситуация могла вывести из тонкого душевного равновесия многих.

Что делать?

Стандартное решение данной ситуации известно широко – заменив в настольном или портативном компьютере системный носитель информации с механического HDD на т.н. твердотельный SDD удавалось достичь разительного реального и субъективного ускорения работы дисковой системы и соответственно компьютера в целом. Мы не углубляемся в сценарии работы пользователей т.к. те, кому это было критически нужно для работы, произвели замену уже давно. Никаких сомнений в правильности этого шага нет т.к. даже при использовании самого простого и «медленного» SSD скорость работы с ним для системы росла на порядок – т.е. в 10 раз.

Все ли настолько нарядно?

В общем да, но замена системного диска несет в себе ряд сложностей и рисков, которые надо учитывать.

  1. SSD диски приемлемого для системы объема (а сегодня это 256GB) стоят недешево и за последний год несколько подорожали из-за дефицита применяемой в них памяти, которую так же применяют в современных смартфонах, а они продаются неплохо. Производственные мощности при этом не резиновые и цены немного идут вверх. Самые дешевые варианты посматривают на отметку в 100 долларов не сказать, что издалека.

  2. При замене диска придется либо делать образ (снимок) системы и переносить его на новый диск, либо, что в общем-то лучше, ставить операционную систему и все ПО на него с нуля. Ничего сложного в этом процессе нет, но неподготовленный пользователь потратит на это немало времени, а кто-то не справится совсем.

  3. SSD диски ранее подозревались в ограниченности ресурса перезаписи. Технически они имеют таки конечный ресурс, но на практике обычному пользователю любого современного диска хватит на годы. Многие тесты подтвердили, что ресурс рассматриваемого нами условного 256Гб экземпляра достаточен, чтобы не думать об этом. Привожу график японского коллеги, который задался целью протереть мой дежурный Crucial BX100. Как видно из картинки к 2,7 Пета!байта перезаписей диск был еще жив. Ботающие на мунспике приглашаются перевести пояснения к графику от автора.

Достаточен, но все же конечен и с каждым витком технологий (SLC, MLC, TLC, QLC и т.п.) и утончением техрпроцесса производства этот ресурс, внезапно, не растет, а падает. Для SLC заявлялись порядка 100 000 перезаписей, а для TLC уже меньше 1 000. Посмотрим на табличку В. Стеркина

Хотя на практике возможны сильные отклонения, как я проиллюстрировал выше. В теории SSD от Crucial не должен был дожить до таких результатов. Этому посвящены специальные технические статьи, но для обычного пользователя, как мы условились, это значения особо не имеет. Протереть диск до дыр будет непросто, а брака на самом деле не так много как кажется. Но когда диск все же поломается, то, как показывают все те же тесты, он вероятнее всего просто неожиданно исчезнет из системы. Это событие можно предугадать, следя за параметрами SMART, но обычный пользователь заморачиваться этим не станет. Надо просто помнить, что резервные копии системы и важной информации надо делать регулярно. Правда пользователь это опять же делает редко. Поэтому надо помнить, что когда-то диск неожиданно перестанет работать или - "отвалится".

4.Последний риск вытекает из предыдущего. Восстановить данные на отработавшем свое SSD практически невозможно, как невозможно и в случае выхода его из строя по проблемам питания. И если ценную информацию на «сгоревшем» по электронике, но физически целом жестком диске восстановят в любом крупном городе, то с SSD такая операция может не пройти. Да и в целом жесткие диски выходят из строя куда более предсказуемо. Это все совершенно не значит, что SDD ставить не надо, но быть в курсе этого – обязательно.

Так ставить или нет?

Ставить, но не нахрапом, а степенно и с пониманием спустившись в долины!

Это как ? И почем хоккей с мячом?

А вот так. Если мы возьмем средний очень SOHO из 3 условных компьютеров с HDD, где 1 – настольный и 2 портативных, то улучшение пользовательского опыта работы с ними обойдется в стоимость 3 SSD и время работы 1 «тыжпрограммиста» для внедрения решения. Сделать все можно за условный рабочий день, если не спешить и нет необходимости переносить что-то типа специализированного бухгалтерского, например, ПО и т.п. В деньгах это может стоить примерно от 210 до много USD в зависимости от выбранного SSD. Сумма в общем-то небольшая, но тоже вполне себе нигде не лишняя + вышеописанные риски.

Можно ли сэкономить?

Оказывается можно и рассмотреть такую возможность нужно. Как уже условились есть много компьютеров, где в целом железная часть вполне неплоха для решаемых им задач. Многие офисные машины, будучи купленными до сильного падения цен на SSD, в общем-то еще вполне актуальны для своих задач, если не играть в А-проекты, не монтировать видео, не вести огромные по объему базы данных и т.п. К слову, на этих машинах может вполне стоять 32-bit операционная система и какое-то узкое ПО.

Для таких случаев существуют программы, которые позволяют кешировать старый медленный HDD. Собственно, Windows неплохо делает это сама. Часть свободного ОЗУ держит в уме недавние файлы и если повторно к ним обратиться, то они считаются не с медленного диска, а с быстрого ОЗУ. Это если в общих чертах. Попробуйте запустить тяжелое приложение после запуска компьютера, закрыть его и запустить заново. Второй раз оно запустится ощутимо быстрее т.к. частично или целиком будет уже находится в ОЗУ. Но ОЗУ не резиновая и как только места в ней останется мало из-за текущих задач и начнутся массовые операции записи-чтения, так сразу медленный жесткий диск опять повиснет гирей на скорости работы в т.ч. интерфейса программ. Картинку диспетчера задач Вы видели выше.

В общем надо что-то решать – либо ставить таки SDD либо…

Либо посмотреть в сторону кеширующего ПО типа PrimoCache от Romex. Долго расписывать преимущества смысла нет, а коротко они выглядят так.

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

  2. Программа умеет создавать указанный буфер в памяти, невидимой для системы! Это актуально для 32битных систем, где замена на 64битные по каким-то причинам нежелательна. Если у Вас в машине физически стоит (или Вы можете поставить) 4 гб ОЗУ, то 3-3,5 примерно будут видимы системе, а из остальных можно создать буфер для HDD. Это очень крутая «фича». Во многих ноутбуках до сих пор есть техническая возможность установить не более 4 гб ОЗУ при 32битных системах. Лишний гигабайт можно смело пускать на кэш старого диска. Улучшения будут заметны сразу. И Гамлетовский вопрос 32 или 64 бит при 4 гб ОЗУ отпадает сам по себе в этом конкретном случае.

  3. Весь кеш, наработанный в системе, при перезагрузке запишется на диск и восстановится при включении. Это слегка удлинит время запуска системы из состояния "выключено", но насколько это важно тем людям, которые не перегружают компьютер месяцами, используя спящий режим и гибернацию? На скрине ниже приведен пример случая компьютера, который не перегружался почти 3 недели. Бывалые пользователи могут показать и куда более длительные аптаймы. Пробуждение же занимает секунды, в отличии от перезагрузки.

Но причем тут SSD?

А вот при чем.

4.Программа умеет из подключенного к системе любого SDD создать кэш 2 уровня для медленного HDD! С быстрой флешки тоже умеет.

И? Как это работает ?

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

Вот как это выглядит в теории

Вот как это выглядит у меня на рабочем ноутбуке с 4 гб ОЗУ и 32бит Windows 10.

Как видно из статистики моя работа за некоторый период состояла на 88% из работы с кэшем и 43% - прочитано c кэширующего SSD.

Зачем вообще кэшировать HDD? Может сразу SSD установить системным?

Дело в том, что для хорошего пользовательского результата от кэширования таким образом достаточно небольшого и недорогого SSD. Перед написанием материала я использовал для кэширования HDD в своем ноутбуке SSD размером всего в 16гб. Вот он.

Оказалось, что активных данных у меня всего-то гигабайт 7. 16 гигабайтный SSD можно купить менее чем за 10 у.е. и его будет достаточно. При этом PrimoCache ведет статистику и у меня попадание в кэш составляет при обычной работе около 90% т.е. старый HDD не только разгружен на 90%, а еще и используется через буфер. В итоге нагрузка на него даже при запуске браузера с 50 вкладками редко бывает 100% длительно. В основном значительно меньше и очень кратковременно полностью. Вот как выглядит работа нагруженной системы с 4 браузерами, офисным пакетом, скайпом и вайбером, а также редактором картинок с кэшированием ее через SSD. При этом сохраняется отзывчивость и работоспособность.

Диск 0 - это медленный HDD. Диск 1 - 16 гб SSD, изображенный выше. SSD занял место CD-RW через лоток, которых сегодня за 4 доллара полно на разных площадках. Тысячи их (с)

В настольном ПК SSD можно подключить напрямую.

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

Конечно чистый SDD принесет больше позитива, но и цена будет больше.

Какие же преимущества?

Вот они.

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

  2. В случае непредвиденного выхода SDD из строя данные на HDD не пострадают никак.

  3. Это дешевле.

Так же принято в подобных темах показывать результаты известного теста скорости работы с накопителями. Не будем изменять традиции! Без кэширования и с ним.

Надо отметить, что тест делался при развернутых других программах. Размер в 500 мб взят как адекватный профилю работы. На больших объемах скорости упадут, но, как мы уже уточняли, при копировании папки с видео большинству не особо важно будет это длится 22 минуты или полчаса. Главное - мы получаем тактическое улучшение взаимодействия с системой. На самом же деле тест показывает насколько быстро можно работать с данными в рамках отведенного буфера, но если у Вас много мелких файлов в работе, то их обработка в реальности станет таки сильно быстрее до исчерпания буфера, а если обычный объем файлов в работе меньше буфера или они поступают неспешно, то мы получим некий аналог RAMDRIVE. Результат будет отложенно записан на HDD и прочитан из дубля на SSD. Для поддержки скорости браузеров это реально хорошо работает.

Особенности работы?

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

В случае неправильного завершения сеанса Windows кэш может обнулиться и при следующем запуске станет формироваться заново.

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

Есть ли риски?

Да. Есть один, но очень существенный риск. Если отсрочка записи на HDD будет установлена на слишком длительный срок (например более 100 секунд) и случится совпадение высокой нагрузки на запись и пропадания питания, то система может критически пострадать. Если не успеют быть дописанными на системный носитель важные системные данные, то Windows имеет шанс не запуститься снова вообще. Избежать такого сценария можно уменьшив срок отсроченной записи и применяя источник бесперебойного питания. Это надо иметь ввиду, если у Вас имеют место случаи непредвиденного обесточивания. Но даже если минимизировать кэширование записи, то кэширование чтения через SSD будет прекрасно работать и никаких рисков не несет.

Насколько же все-таки дешевле?

Математика проста. Как Вы помните, мы пишем об условных 3 машинах в семье или маленьком офисе. SSD на все обойдется от 210 долларов + работа.

Самые доступные 256gb (а мы условились, что это как раз актуальный размер в случае прямой замены HDD) SSD стоят сегодня примерно столько.

В случае же с кеширующим ПО 16 гигабайтный SSD для кэша может быть совершенно любым и стоит менее 10 у.е. PrimoCache на 3 компьютера стоит 70 у.е. с будущими обновлениями (мы за легальное, особенно интеллектуальное, ПО - warez нам не коллега). Лотки для дисков вместо оптического привода еще 10 у.е.

Итого: 100 у.е. против 210 у.е. навскидку и делать можно постепенно не особо прерывая привычную работу поскольку PrimoCache имеет аж 60!-дневный пробный период. Т.е. в этой части предлагается рискнуть для пробы всего лишь 10 у.е. за маленький SSD и если что-то не устроит никаких будущих трат и возвратов. Но Вам скорее всего понравится.

Канадская торговая?

Может показаться, что я предлагаю конкретное ПО, но это не так. На рынке есть и другие программы кеширования. SuperSpeed, например, - отличный вариант, но дороже и с меньшей функциональностью в части кэширования чтения через SSD.

Самый умный, что ли?

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

Самым свежим примером того, как подобные конструкции продвигают на рынок (продвигают, к слову, с опозданием лет на 10 т.к. это надо было делать до массового удешевления SSD) является представленная недавно технология кэширования с использованием новой памяти OPTANE от Intel. Идея сама по себе не нова и является итерацией более старых решений типа Smart Response, но актуальна для Intel сегодня именно она.

Концептуально все очень похоже. Детали реализации, конечно, отличаются. Предельные скорости - тоже. Как и цена.

Примерно так будут выглядеть результаты кэширования традиционного HDD технологией с использованием OPTANE от Intel. Исследование на днях появилось на 3Dnews Неправда ли немного похоже на наш опыт? И скорости передовых SSD для сравнения работы с мелкими файлами есть.

В случае c Intel сама технология доступна только в технической связке конкретного чипсета, процессора и непосредственно самого накопителя.

Все это стоит недешево, а в случае с современными быстрыми SSD – почти бессмысленно, как видно из графиков.

А вот для связки OPTANЕ+HDD результат получается интересным. Проблема только в том, что если пользователь приобрел систему, способную работать с OPTANE, то системным диском HDD там вероятнее всего уже не будет.

Мы же строим функциональный почти аналог своими руками на любом железе c минимальным бюджетом и реально ощутимым результатом здесь и сейчас, причем недорого!

А что все-таки с ресурсом кэширующего SSD ?

Хороший вопрос и я его исследовал. В экспериментальном ноутбуке на процессоре T9500, 4гб ОЗУ, HDD и windows 10 32бит, который работает часто и всегда имеет открытыми 3-4 браузера с 40-50 вкладками в каждом, работающим офисным пакетом и прочими полуофисными задачами кеширующий 16гб диск перезаписывается при сильных нагрузках раз в день, что при ресурсе даже самой слабой памяти в 1000 перезаписей обеспечит 3+ года беспроблемного ускорения. В случае же моего конкретного SSD на 16gb это MLC память с заявленными 3000 циклов (которых в реальности может быть и сильно больше), что уже подводит срок работы кэша к 10+ годам!

Итого?

Важно понимать, что мы поставили задачу сделать ультрабюджетный boost компьютеру с HDD, а не преобразовать его в mainfarame за 5 коп. Те пользователи, которые понимают все плюсы SDD и таковой им нужен для рабочих или игровых задач, скорее всего либо уже работают с ним либо планируют бюджет на него в одной из современных версий. В итоге с поставленной в заголовке задачей мы, уверен, справились таки ультрабюджетно.

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

Стоит отметить, что для того, чтобы существенно улучшить производительность 2Тб HDD по отзывам пользователей достаточно любого 64Гб SSD. Вряд ли у многих будет столько активных для чтения файлов, но важен сам порядок нужного места для кэширования.

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

Андрей Зинченко, доктор философии в области экономики, доцент кафедры финансов Национального университета кораблестроения, магистр государственного управления (МРА)