Про мощь и немощь, часть I

Jan 13, 2018 15:31




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

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

Вот, например, базовые характеристики чтения/записи блоков данных фиксированной длины раннего поколения SSD:


Этот же диск, спустя три года непрерывной работы:


На первый взгляд (осмотр декларируемых производителем данных) кажется, что совокупное снижение скорости составило примерно 6 раз для чтения и примерно 2 раза - для записи. Не так страшно выглядит, если умозрительно оперировать абстрактной относительной величиной снижения производительности по внешним характеристикам чтения/записи.

На самом деле, все не так просто.

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

Дело в том, что типичная работа дисковой подсистемы связана с самыми неудобными для скорости блоками данных. Попробуем найти аналогию.

Представим, что мы исследуем некий биомеханический процесс, под названием "ручной скоростной розлив напитков на барной стойке", вот такой:



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


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

Реальная операционная система использует данные примерно так же и крайне неудобна для SSD-маркетологов в этом смысле:


За без малого 15 минут интенсивного "офисного броузинга", более 90% времени заняли операции с блоками менее 64K, причем самая заметная их часть пришлась на чтение/запись блоков размером 0,5 и 4K.

Самым узким местом пропускной способности современных SSD, будет являться как раз скорость записи данных "4K", что знают и с успехом выявляют любые бенчмарки. Особенно заметным это становится для первых поколений продуктов спустя 2-3 года непрерывной эксплуатации:



В данном смысле, они уже почти не отличаются даже от носимых HDD с их вызывающе медленным интерфейсом:


И в этом же смысле, это просто пропасть с результатами современных массовых SSD:


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

Но означает ли это, что в интегральном смысле, это снизило скорость работы компьютера более чем в 30 раз? Значит ли это, что там, где ждать приходилось секунду, потребуется ждать 30?! Разумеется нет - примерно на полпути к данному впечатляющему результату, среднестатистический пользователь едва ли начинает хоть что-то подозрить. В ход пойдут разнообразные оптимизаторы, чистильщики системы, знакомства с понятиеми TRIM и MHCI и многое другое, что скорее всего, уже толком не поможет.

В самое ближайшее время, вышеописанный пример можно будет считать массово-хрестоматийным для сопоставления реального(!) падения производительности и ее относительной заметности для реального же пользователя. Вас фактически замедлили без малого в 30 раз от абсолюта по ключевой характеристике, а вы все продолжаете считать автомобиль "быстрым транспортом".

Примерно то же самое произойдет, если сравнить реальную скорость передвижения по городу с максимально возможной скоростью современного технического средства - разница между ними как раз на порядок. Но типичный пользователь автомобиля в мегаполисе измеряет скорость перемещения в городе почему-то "часами" и их долями, а отнюдь не километрами в час. Хотя на упаковке современного автомобиля скоростей ниже 200 км/ч вообще уже скоро не останется.

Так что лучшее, что вам сможет выдать опытный пользователь компьютера "на глаз", это даже не безусловно ошибочные в "2-3 раза медленнее", а, скорее всего, неопределенное "подтормаживает".

От компьютерных попугаев перейдем к автомобильным, столь автомобилистами ценимым и почитаемым и, казалось бы, за более чем сотню лет досконально изученным.

Ознакомимся подробнее с главной характеристикой двигателя - мощностью. Если чуть точнее - максимальной мощностью внешней скоростной характеристики. И пускай ее реальные конвертации в автомобильном быту идут через многочисленные особенности настройки автомобиля - от устройства трансмиссии до настроек ходовой части, большинству пользователей это не мешает оперировать одной лишь абсолютной ее цифрой и единственной понятийной шкалой, по которой 100 л.с. всегда хуже, чем, например, 120 (что почти всегда - правда).

Речь пойдет даже не о виде всей нагрузочной характеристики двигателя в целом (когда рассмотрена вся характеристика целиком) и отнюдь не о важности понятия "крутящий момент".

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

***Незапланированное отступление по околокомпьютерной тематике в автомобильном блоге
А ведь казалось бы, странно: в Первом автомобильно-развлекательном 100500 статей много-много лет вопиют о зубодробительной критике, а максимум до чего неожиданно дорвались избранные комментаторы - некоторая, почти абстрактная аналогия, даже недораскрытая еще толком до конца, в силу отсутствия законченности основного тела статьи. Я к ней еще вернусь и там будет куда понятнее, почему из множества прочих возможных (а может множества, а не из множества) была выбрана именно эта аналогия, но это чуть позже. Случившееся лишний раз доказывает, что блогу для конструктивного диалога, скорее, требуются автомобильные профессионалы, нежели профессиональные программисты...
1.Неудачность примера, "непонимание работы SSD"... и так далее.
Один из первых громких случаев со сравнительно современными SSD (начало производства - конец 2011 года), более чем известный в узких кругах,  Kingston V200 64/128Gb. Случай не первый, не последний, но относящейся к периоду начала массового распространения SSD. Проблемы у этого диска многочисленные и совершенно разнообразные, включая и рассматриваемое самозатормаживание. Один из них попал и в мой основной рабочий компьютер и я могу ориентироваться на собственные ощущения, личный опыт которых планировал обобщить с автомобильной тематикой (и чуть позже это сделаю). Ход решения проблем этих контроллеров (замена прошивки) сопровождался целым рядом проблем: например, едва вышедшее обновление было быстро изъято из доступа, а в скором времени, производство этой серии было и вовсе свернуто, линейку полностью обновили всего за год (январь 2011 - январь 2012), поменяв тип контроллера. То, что это была именно внеплановая "хардварная заплатка", видно даже по названию обновленной серии: "V200+" взамен "V200". Пример общеизвестный и безвестный единовременно - все конкретные цифры в статье даны, что же еще нужно-то было для понимания аналогии?!
2.Не указывать подробности и детали истории - моветон. Ай-ай-ай.
Но не в автомобильном блоге. Все необходимые детали (цифры) есть в теле статьи, излишние подробности там просто не нужны. Здесь это просто пример. Но так как количество программистов в комментах узкоспециализированного автомобильного блога оказалось критическим, понимаю ошибочность в непроработанности второстепенной линии повествования. Нужно было тщательнее.
3.А где пруфы?!

начало проблемы:
"drive seems to have extremely slow writes speeds avg at 3 MB/s on a 4k run of AS SSD benchmark, I called Kingston regrading the problem to see how they would resolve the issue and the answer from a level 2 tech at Kingston kindly stated that there is no fix and an new drive replacement will not fix the issues, also the tech says they might never be a fix for this particular model of ssd as it might be a hard ware issue.... stay away until Kingston figure what the engineers are doing"

развязка:
As previously mentioned, Kingston originally released the SSDNow V200in November 2011. Shortly after its launch, Kingston received isolated reports (some of those reports coming from discussion forum members right here at NotebookReview) of performance degradation specific to write speeds on the 64GB and 128GB capacities. Kingston’s engineering teams began investigating and were able to confirm those reports. Kingston’s official explanation for the slow write speed of the V200 is as follows: “Excessive nonuser initiated OS host writes (temp files, log files, etc.) would bog down the controller, and steady-state write performance would slow down below the stated specifications. Customers would not typically experience the slowdown but repeated benchmarking would exacerbate it.”In other words, typical background activities common to a Windows environment would gradually impact the SSD’s controller chip and drop the write speed down to a fraction of the advertised speed. In some cases, that performance drop made the V200 as slow (or slower) than a bargain-priced 5400rpm hard drive … particularly when tested with benchmarking software to confirm the speed of the drive. Kingston therefore put the drive production on hold and stopped shipping the V200 pending a fix. Now, after months of working exhaustively with its technology partners to solve this issue, Kingston is ready to resume shipment of the V200 SSD once again.
4.SSD диск был забит (неправильно эксплуатировался), "не отрабатывалась" команда TRIM и т.д.
Ну что здесь сказать, разве что если на каждый вопрос автомобилиста "что-то авто не заводится!" настоящий профессионал, по аналогии, должен вопросить "а вы ключ в замке поворачивать пробовали?".
Нет, там была массовая софтовая проблема с контроллером и алгоритмом перераспределения нагрузки на ячейки, сугубо SSD-проблематика.
5.Из статьи можно понять, что проблема касается ВСЕХ дисков первого поколения, ВСЕМ из которых вот-вот станет плохо.
Ну давайте попробуем еще разок: "Современные системы непосредственного впрыска избавлены по крайней мере от одной болезни прочих бытовых механизмов - старения. Если устаревание, то только моральное. Так думает абсолютное большинство пользователей, пока еще не столкнувшихся с проблемами системы впрыска первых поколений, которые на данный момент как раз входят в результирующую фазу своей жизнедеятельности. Важная особенность таких устройств - ограниченное количество циклов впрыска для форсунок, дергадирующую физику которых пытается оптимизировать программный контроллер." Смысловая нагрузка фразы кого-то подталкивает к тотальному обобщению, кого-то - нет. SSD-филов - подтолкнула. Но об этом ниже.
6.В статье есть совершенно неуместная отсылка к "медлительности HDD", хотя общеизвестно, что в механическом устройстве под названием HDD, существует более узкое место - скорость доступа, которая может отличаться порядка так на три даже от самого медлительного SSD. Ни слова об этом не сказано.
Я и не думал так глубоко копать, но вот так выглядит реальное затормаживание проблемного SSD и время его доступа, по времени записи уже вполне сопоставимое с HDD, как видно. Видно, что чтение затормозилось примерно на порядок, запись - на два. Совершенно уместная аналогия с HDD.


7.Из статьи следует, что проблема как бы "аппаратная", связанная исключительно с "теоретическим принципом" устройства SSD...
Да, у SSD есть контроллер и в нем есть общеизвестный алгоритм. От этого у SSD есть вышеописанные проблемы. Не было бы необходимости перераспределять нагрузку, не было бы столь мудреного контроллера и не было бы массовых проблем у устройств первых поколений. Хотелось бы увидеть аналогичную проблему с HDD (столь же значительное самозатормаживание). Не важно чем вызванную, но такую же масштабную и известную. Чтобы использовать в статье. Со времен MFM/RLL (включительно) с такими проблемами не сталкивался и о таких не слышал (ну или забыл). Вот еще один пример про врожденное затормаживание аппаратной части SSD по причине неудачного контроллера: "Worst, the performance degrades significantly over time as the drive is used."

Но это еще не все, теперь начинаем самое главное.

Обратимся к репрезентативной выборке - около 6.000.000 (шесть миллионов) устройств:

SSD
HDD

Обратим внимание на нормальное распределение производительности HDD/SDD и сравним существующие эксцессы.

Как бы я советовал это сделать для большей наглядности - открываете весь список, нажимаете на скролл и начинаете ползти вниз списка. Легко убедиться, что нормальное распределение для устройств типа HDD - почти нерушимое правило на протяжении почти всего списка (конечно же, есть и исключения).

Красная зона - почти монолит, картинку чуть портит одна нерепрезентативная вставка:


Желтая зона, мейнстрим, однородна.


Лист с SSD зачастую предлагает совершенно разношерстную компанию - здесь едва ли половина устройств на этом скрине с грехом пополам попадает в нормальное распределение:


Еще эксцесс:


Три эксцесса рядом, один вообще исключителен:


Какой вывод?!

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

8.Сергей, ну все же конкретно в вашем примере рассмотрен чисто "фирмварный" глюк дисков 60/120 Gb серии V200, который производитель вроде бы исправил.
Ну ок, вот вам распределение производительности диска 256Gb, которого официально проблема с "затормаживанием" НЕ коснулась и прошивка его НЕ обновлялась:


Окно шириной в 32%.

Вот вам 64, которого коснулась:


Можно ответить себе на вопрос, чисто софтовой ли была данная проблема и по какой причине внезапно (спустя 5 месяцев) появилось "заплаточное" семейство SSD, характерно названное "V200+" ("То же самое плюс"), но с новым контроллером?!

Да кстати, а разве так важно, софтовая/аппаратная? Является ли она неотъемлимой характеристикой группы устройств SSD, или устройств HDD?

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

И даже, если причиной является некорректная реализация команды TRIM (с обоих сторон), или даже забитость диска - решает ли это проблемы пользователей, которые сталкиваются с этими проблемами? У HDD была другая проблема - механическая надежность, в то время как смыслово связанная "фрагментация" настолько глобальной проблемой не стала и ни одного исследования о фактической заметности этой проблемы в сети я найти не смог (очевидно, здесь нет универсальной методики). Заторможенный SSD "тормозит" всегда и глобально, согласно принципу работы. Даже сильно фрагментированный HDD будет тормозить "избирательно", согласно фактической фрагментации, что в среднем эффект заметности подразмоет.

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

Продолжение статьи теперь выйдет попозже... Зато про SSD изрядно поговорили.
Previous post Next post
Up