Приветствую Вас, Гость! Регистрация RSS
Суббота, 24 Августа 2019

Главная » 2010 » Май » 16 » ReadyBoost — полезная технология или маркетинговый обман?

18:20:42
ReadyBoost — полезная технология или маркетинговый обман?

ReadyBoost — одна из технологий, которые были добавлены в Windows Vista с обещанием значительно ускорить производительность компьютера. Однако, найти статьи с подробными экспериментальными данными мне не удалось, а ряд источников указывает, что эта технология полезна только для систем с недостатком оперативной памяти. По их утверждениям, при наличии достаточного объема оперативки ReadyBoost совершенно бесполезен, и даже уменьшает производительность! Несмотря на негативные отзывы, идея этой технологии показалась мне многообещающей, и я решил проверить всё сам.


В чем идея и зачем это вообще нужно?


Один из главных недостатков винчестера — время поиска, которое требуется считывающей головке на перемещение к нужному месту. При чтении множества мелких файлов эти задержки легко могут снизить скорость передачи данных во многие разы. Для сравнения, винчестер, который сейчас стоит в моей системе, обеспечивает скорость до 95 МБ/сек при линейном чтении, и менее 10 МБ/сек при чтении набора мелких файлов.
Такого недостатка нет у накопителей на флэш-памяти, но у них есть другие серьезные недостатки — очень высокая цена и ограниченное время жизни. Типичное время жизни для MLC-чипов, которые используются в массовых устройствах — от 1,000 до 10,000 операций записи на ячейку. Благодаря специальным технологиям этого ресурса должно хватить на несколько лет работы, но при неосторожном использовании можно легко убить дорогостоящее устройство за несколько месяцев.
Основная идея ReadyBoost — кэшировать мелкие файлы на флэш памяти, за счет чего можно устранить задержки для перемещения головки винчестера и увеличить производительность дисковой подсистемы. Кроме того, все данные на кэш-диске сжимаются. Еще одна очень интересная возможность — увеличить скорость передачи данных за счет одновременного чтения с нескольких устройств хранения.
ReadyBoost может использовать для кэширования USB flash drive или SSD (Solid State Disk), одно устройство объемом до 4 ГБ в Vista и до 8 устройств суммарным объемом до 256 ГБ в Windows 7. Подключение SSD возможно как через USB, так и через SATA.
Таким образом, используя высокоскоростную флэш-память с низкой латентностью для кэширования мелких и/или часто используемых файлов, можно скомбинировать достоинства двух типов устройств и получить высокую производительность и большой объем, не оставшись при этом без последних штанов. По крайней мере — теоретически. Что из этого получится на практике, можно узнать только одним способом — с помощью эксперимента.

Экспериментальные данные


Тестовая система — свежеустановленная Windows 7 x64 со всеми обновлениями. Основной диск системы — Western Digital WD7500AAKS (750 GB), работает в режиме AHCI, NCQ on, максимальная скорость до 95 МБ/сек при линейном чтении. Объем оперативной памяти 4 ГБ. В качестве кэш-диска использовалась USB-флэшка Transcend v60 16GB, которая показала в тесте скорость чтения около 27 МБ/сек. 

В качестве теста я использовал Visual Studio 2010, которая отличается редкой неторопливостью при запуске. Антивирус отключен. Диск дефрагментирован.

Итак, эталонный пример — сразу после перезагрузки, ReadyBoost отключен.
image
Время запуска — 31 секунда. Нетрудно убедиться, что необходимость прочитать множество разбросанных про диску мелких файлов очень негативно сказывается на производительности винчестера, и средняя скорость чтения находится на уровне 6-7 МБ/сек.

Включаем ReadyBoost, начинается кэширование данных. Здесь и дальше красная линия обозначает скорость чтения с жесткого диска, зеленая — с флэшки, желтая — скорость чтения c флэшки с учетом сжатия, синяя — объем кэша.
image

Кэширование остановилось, объем кэша около 1 гигабайта.
image

Для чистоты эксперимента нужна перезагрузка, чтобы устранить влияние файлового кэша в RAM.
image
И здесь обнаруживается первый неприятный сюрприз — после перезагрузки кэш пуст. 
В event viewer есть запись о том, что кэш был удален намеренно. Разработчики заявляют — такое поведение «is as designed» и нужно для безопасности пользовательских данных, и никаких изменений не будет. Странно, ведь раньше разработчики заявляли, что все данные на кэш-диске надежно зашифрованы. 
Очевидно, что необходимость заполнять кэш заново после каждой перезагрузки очень негативно повлияет на общую производительность системы.

Запускаем VS2010 снова.
image
Никаких серьезных отличий по сравнению с эталонным запуском, время запуска уменьшилось на секунду. Отметим интересный факт, что операционная система снова начала заполнять кэш ReadyBoost.

Через некоторое время, повторное заполнение кэша закончилось.
image

Нужен повторный запуск VS2010, чтобы замерить производительность. Однако, сделать это сейчас нельзя, потому что после предыдущего запуска все файлы уже закэшированы в RAM, а после перезагрузки системы нельзя, потому что кэш ReadyBoost будет опять очищен. Попробуем очистить файловый кэш RAM. Единственный способ, который мне удалось найти — запустить специальную программу, которая выделяет большие блоки памяти, что принуждает операционную систему освободить RAM по максимуму.
image
И здесь — еще один неприятный сюрприз. Вместе с кэшем RAM операционная система очистила и кэш ReadyBoost на флэш-диске, что выглядит очень странным. Ведь как раз сейчас ReadyBoost будет нужнее всего!
Сразу после очистки, операционная система начинает заполнять кэш ReadyBoost снова. Очень, очень странное решение.

Теперь кэш ReadyBoost снова заполнен и можно выполнить тестовый запуск.
image
Наконец, хоть какой-то положительный результат! Время загрузки VS2010 уменьшилось с 31 секунд до 19 секунды, что не так уж и плохо. Однако, как видно по графику, скорость загрузки с флэшки (зеленая линия) меньше трети от максимально возможной для этого устройства.

Вывод


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

Категория: Технологии | Просмотров: 13350 | Добавил: Zlocorp | Теги: readyboost, WINDOWS 7, windows, Vista, Microsoft, HDD, ready boost, Производительность, Flash, SSD | Рейтинг:
4.6 из 5, 8 голосов
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]