Компания ЭВРИКА, ведущий партнер компании AVAYA Communication в Северо-Западном регионе, проводит для корпоративных клиентов программу тестирования сетевого оборудования AVAYA

Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта

ЗАО "Техно-СПб" Системная интеграция

Изучение эффективности драйверов Intel ATA


Материал любезно предоставлен сайтом iXBT.com


Для работы любого устройства в ПК необходим драйвер ≈ связующая программа между аппаратными средствами и ОС. Однако благодаря унифицированной архитектуре ПК, было возможно использование одного стандартного драйвера для устройств целого ряда производителей. Например, одно из наиболее ╚старых╩ устройств в ПК ≈ контроллер гибких дисков ≈ в подавляющем количестве компьютеров использует стандартный драйвер, то же касается последовательных и параллельных портов, клавиатур и мышей.

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

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

Для большинства пользователей встроенные IDE-контроллеры начались с чипсетов для процессора Intel Pentium серии Intel 430 (FX, VX, HX, TX). Эти контроллеры отличались простотой и надежностью. Они поддерживали все существующие на тот момент стандарты передачи данных по шине IDE (PIO, DMA, MWDMA). Драйверы были встроены в Windows 95, и хотя они не поддерживали режим Bus Master работы контроллера, интерес к фирменным драйверам от компании Intel (которые она, конечно, выпустила) был невелик. Одной из причин этого было то, что самые быстрые режимы передачи с участием процессора (PIO4) и без него (MWDMA2) обеспечивали примерно одинаковую скорость передачи данных в16═MБ/с. И только когда потребовалась мощность процессора одновременно с чтением с дисков (это произошло с распространением цифрового MPEG-видео на ПК), пользователи стали обращать внимание на преимущества режима Bus Master работы с диском. В версию Windows 95 OSR2 уже были встроены драйверы с поддержкой режима DMA работы дисков, которые существенно снижали загрузку процессора при выполнении дисковых операций. И опять драйверы от Intel опоздали ≈ не каждый захочет менять что-то в хорошо работающей системе. Отметим, что сами по себе они в то время были не очень красивы внешне ≈ практически постоянное состояние в бета-версиях, непонятный инсталлятор, очень объемные рекомендации по установке с множеством ветвлений, на большинство проблем в работе одинаковый ответ ≈ ╚удалите драйвер╩ и тому подобное.

Однако с того времени многое изменилось: скорости шины IDE достигли 100 MБ/с, необходимость в использовании Bus Master драйверов возросла с появлением MPEG2 и MPEG4, да и чипсеты Intel уже сменили пару поколений.

Хотя и сегодня компания Microsoft в своих последних версиях ОС предлагает встроенные драйверы для всех чипсетов Intel, включая i815 (точнее, они просто совместимы с последними ICH серии 82801xx), с поддержкой режима DMA. Тем не менее, было интересно сравнить последнюю версию драйверов от Intel для своих IDE-контроллеров (теперь они называются Intel Ultra ATA Storage Driver) со стандартными драйверами Microsoft.

Конфигурация стенда:

"═ материнская плата ASUS CULS2-LS (i815, ICH2);
"══процессор Intel Pentium III 800EB (133x6);
"══память 2x128 МБ PC133;
"══системный диск IBM DTLA 15═ГБ, тестируемый диск Quantum FB Plus AS 30 ГБ;
"══видео NVidia GeForce2 GTS 64═MБ.

Операционные системы: Windows ME и Windows 2000 Pro.

Тесты:

"══ZDLabs Winstone 2001;
"══ZDLads Winbench 99 1.2;
" ═Intel Iometer.

Тестировался диск Quantum с двумя вариантами драйверов ≈ со стандартными драйверами Microsoft (на диаграммах с индексом ╚MS╩) и с драйверами Intel ATA 6.10.

При использовании драйверов Intel ATA диск работал в режиме UDMA100, что подтверждается программой-конфигуратором из состава самих драйверов, а также программой HDTach ≈ скорость чтения из буфера диска составляла более 80 MБ/с.

При тестировании со стандартными драйверами Microsoft было предпринято несколько дополнительных шагов. Для включения режима UDMA в Windows ME был установлен флаг ╚DMA╩ в свойствах диска. По умолчанию он был выключен. При его активизации диски работали в режиме UDMA100, что также подтверждается HDTach. Для обеспечения работы режима UDMA100 с драйверами Microsoft под Windows 2000 использовался hotfix Q260233. То, что он действительно позволяет работать диску в UDMA100 вместо UDMA66, снова было проверено тестом HDTach 2.61. Скорость чтения из буфера без hotfixа ≈ 57,6 MБ/c (UDMA66), с hotfixом ≈ 85,5 MБ/c (UDMA100).

Диск был установлен ╚мастером╩ на второй канал встроенного IDE-контроллера. IOmeter ≈ диски не размечаются совсем. ZDLabs ≈ один раздел FAT32 (Windows ME) или NTFS (Windows 2000) на весь диск.

Windows ME

Первая часть тестов проводится под ОС Windows ME. Поскольку тест IOMeter под этой системой не работает, то ограничимся тестами ZDLabs.

В новой версии своих пакетов Winstone 2001 компания Microsoft отказалась от раздельного тестирования подсистем ПК, и поэтому эти результаты немного менее информативны. Зато они используют реальные приложения (см. рис.1).

Итак, скорость работы с различными драйверами отличается совсем незначительно. Теперь сравним загрузку процессора (см. рис.═2). К сожалению, этот параметр измеряется только для серии Business.

И по этому параметру результаты практически совпадают. Можно рассчитать параметр ╚эффективности╩ ≈ отношение скорости (в единицах Winstone) к процентам от загрузки процессора, как показано на рис. 3.

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

Теперь посмотрим на цифры ZDLabs Winbench 99 1.2. В этом (последним из серии Winbench) тесте моделируется работа приложений с жестким диском, но без использования реальных программ. Скорее всего, используются шаблоны, рассчитанные на основании статистики работы приложений с диском. На первой диаграмме приведено изменение скорости в процентах при использовании драйверов Intel ATA (рис. 4).

Как мы видим, по интегральным оценкам Business и High End Disk Winmark отличий практически нет. Что касается приложений, то заметен прирост в 10% для FrontPage 98 (эта программа характерна использованием множества небольших файлов) и падение в 8% для Sound Forge 4.0 (скорее всего, оперирующей с несколькими большими файлами).

Winbench 99 также измеряет загрузку процессора при прохождении тестов. Сами цифры загрузки CPU заметно не отличаются, а нам интереснее сравнить эффективность ≈ отношение Disk Winmark (в═тысячах байт в секунду) к % занятости процессора (см. рис. 5).

Как мы видим, снова использование драйверов Intel ATA не помогает добиться большей скорости или меньшей загрузки процессора, а для High End теста даже снижает эффективность работы диска.

Отметим, что результаты теста чтения с поверхности диска и времени доступа для обоих драйверов были идентичными. Похоже, что плотность записи и время доступа не полностью определяют скорость дисковой подсистемы; буквально у нас на глазах появился еще один загадочный фактор ≈ драйвер. Эффект в +10%, -8% уже значителен, чтобы на него обращать внимание.

По результатам проведенных тестов сделаем вывод: использование драйверов Intel ATA для ОС Windows ME не приводит к заметному улучшению характеристик дисковой системы ПК и рекомендуется оставлять встроенный драйвер ОС, включив в свойствах диска режим DMA.

Windows 2000

Теперь рассмотрим работу с ОС Windows 2000 Pro. Эта система рассчитана на более профессиональное использование, чем Windows ME. Она поддерживает работу с двумя процессорами, файловую систему NTFS и, конечно, технологии Windows NT по защите информации.

Для систем класса Windows NT характерно требование 32-разрядных драйверов для всего используемого оборудования, в отличие от Windows 9x, где иногда возможно использование драйверов реального режима, а к дискам вообще допускается обращаться через прерывание BIOS. Конечно, компания Microsoft включила в состав своей ОС много стандартных драйверов для системных устройств (например, шин PCI, ISA, AGP), дисковых контроллеров (IDE и SCSI), сетевых карт, видеокарт. С одной стороны, это гарантирует работоспособность стандартного оборудования, а с другой ≈ дает возможность производителю оборудования предложить свой собственный драйвер, обеспечивающий лучшую производительность или расширенные возможности по управлению устройством. В качестве примера можно привести драйверы для видеоконтроллеров компании ATi ≈ входящие в состав Windows NT драйверы позволяют включить высокое разрешение и цветность, но не обеспечивают никаких операций по ускорению вывода трехмерной графики. Еще одним примером являются чипсеты компании ServerWorks; несмотря на поддержку нескольких шин PCI64 и других нетривиальных возможностей, они прекрасно работают со встроенными драйверами Microsoft, а ServerWorks, похоже, даже не пытается что-то написать (хотя бы inf-файлы для корректного отображения своих чипов в диспетчере устройств).

Таким образом, установка драйверов от производителя часто используется для повышения производительности системы. И поэтому эффект от установки Intel ATA драйверов представляет значительный интерес.

Конечно, можно возразить, что использование IDE-дисков не к лицу в высокопроизводительных системах; однако Windows 2000 вполне уместна на любом рабочем столе, современные IDE-диски догоняют SCSI (особенно при работе в одиночестве), а ╚выжать╩ еще немного скорости из своей системы, тем более с использованием бесплатных драйверов, хочется каждому).

Отметим и еще два небольших отличия от Windows ME: Windows 2000, во-первых, по умолчанию пытается использовать режим UDMA, а во-вторых, позволяет проверить его текущий статус, что делает драйверы в ней более удобными в использовании.

Как и с Windows ME, начнем с ZDLabs Winstone 2001 (рис. 6).

В целом картина аналогична Windows ME ≈ разница практически отсутствует. Отметим здесь, что несмотря на использование NTFS, общие результаты в Windows 2000 заметно больше этих показателей в Windows ME.

Загрузка процессора продемонстрирована на рис. 7.

Забавно, драйверы Intel ATA даже немного больше нагружают процессор, чем встроенные.
И аналогично рассчитанная эффективность показана на рис. 8.

И снова разница в результатах настолько незначительная, что даже 2,5 MБ дискового пространства для Intel ATA драйверов на диске становится жалко.

Теперь ZDLabs Winbench 99 1.2. На первой диаграмме, как и в прошлый раз, представлено изменение скорости в % относительно встроенных драйверов при использовании Intel ATA (см. рис. 9).

Увы, удручающая картина. Падение скорости достигает 20% в некоторых тестах. Странно, что на Winstone 2001 такого эффекта не было. Возможно, это является следствием ╚искусственности╩ тестов Winbench. С другой стороны, ╚в каждой шутке есть доля шутки╩, и поэтому списывать эти цифры на особенности построения теста нельзя. А тест Winbench сам по себе можно рассматривать как приложение, именно так работающее с диском, что наблюдается снижение скорости от Intel ATA. Посмотрим, что у нас с эффективностью (см. рис. 10).

Меньшая скорость с драйверами Intel ATA и меньшая загрузка процессора с ними также почти сравняли показатели эффективности. Да, похоже, что Winbench это не тот тест, где заметна польза от использования ╚родных╩ драйверов от производителя. Скорее даже наоборот. Помните историю с 3D Winbench, когда новые ╚Turbo╩ драйверы компании ATi сильно поднимали результаты, а на реальных играх такого эффекта не было? Видимо, история повторяется, но в другую сторону. Результат похож на некоторую несовместимость тестов с драйверами. По результатам тестов ZDLabs видно, что или для тестов выбраны неудачные приложения, или компания Intel оптимизировала драйверы для своего набора неизвестных приложений.

Поскольку тест Intel IOmeter тоже использует шаблоны, то его результаты очень интересны в свете таких разных результатов Winstone и Winbench. Напомним используемые установки (см. таблицу).

 

Важным параметром также является значение Queue Depth, для него были выбраны значения 1, 32, 64, 128, 256. Этот параметр позволяет смоделировать мощность нагрузки на диск, например, как запуск нескольких приложений одновременно, работу по сети с несколькими пользователями и т.═п. Время выполнения каждого шаблона было установлено в 10 минут. Графики по IOps (операций в секунду) и MBps (мегабайт в секунду) очень похожи, поэтому приводим только вторые. Также приводятся графики эффективности ≈ отношении IOps к % загрузки процессора.

Еще одним отличием IOmeter от тестов ZDLabs является то, что он работает с физическим диском, а не размеченным на разделы. Однако в любом случае работа ведется через драйвер контроллера, так что от него тоже многое зависит.

Все шаблоны разбиты на 3 части ≈ случайное чтение/запись, последовательное чтение/запись и интегральные шаблоны File Server, Workstation, Database.

Начнем со случайного чтения/записи (рис.11).

Мы видим, что при увеличении нагрузки скорость работы с драйверами Intel ATA практически не меняется, а со стандартными драйверами Microsoft заметно возрастает. Отметим, что рост скорости с увеличением нагрузки характерен также и для IDE-контроллеров VIA, Promise, а также для SCSI-контроллеров. Таким образом, использование Intel ATA в данном случае качественно меняет картину. Посмотрим, что с эффективностью (рис. 12).

Драйверы Intel ATA показывают здесь большую эффективность работы. Отметим, что в этих тестах средняя загрузка процессора составляет 0,8% и 0,4% для драйверов Microsoft и Intel соответственно. Вряд ли выгода в 0,4% загрузки процессора такой ценой в падении скорости кому-то нужна.

Вторая часть ≈ последовательное чтение/запись (рис. 13).

На последовательное чтение драйверы от Intel не произвели сколь видимого эффекта, а вот с записью проблемы: скорость заметно (в 2 раза!) падает при увеличении нагрузки (см. рис. 14).

Рост эффективности и в этом случае заметен, но если снова сравнить среднюю загрузку процессора, то она упала для чтения с 25% до 20%, для записи с 21% до 13%. С одной стороны, это означает улучшение на 20% и 40%, соответственно, а с другой, на фоне 100% разница между ними заметна.

Случайное и последовательное чтение/запись, конечно, дают представление о скорости работы диска, но интереснее их совместить и попробовать шаблоны, более похожие на реальную работу. Итак, третья часть ≈ интегральные тесты (рис.═15).

Увы, картина аналогична случайному чтению/записи ≈ при увеличении нагрузки скорость практически не возрастает. Что, в общем-то, и ожидаемо ≈ в шаблонах File Server и Database обращения к диску полностью случайны, а в Workstation ≈ случайны на 80% (см. рис. 16).

В целом, все повторяется. Падение средней загрузки процессора произошло с 0,77% до 0,46%.
По результатам IOmeter видно, что Intel ATA добавляют эффективности к работе дисковой подсистемы, но цена слишком велика. Кстати, если привести графики отношения MBps к % загрузки CPU (другой вариант расчета эффективности), то мы не увидим такого большого (иногда почти 100%) прироста эффективности от использования драйверов от Intel.
Если из всех результатов выделить суть, то получается, что такое падение скорости вызвано двумя причинами ≈ худшей обработкой случайных запросов чтения/записи и последовательных запросов записи при возрастании нагрузки. Очень похоже, что драйверы хотят сделать какую-то оптимизацию этих операций, но это у них не выходит. Особенно неприятно выглядит падение скорости при последовательной записи. Казалось бы ≈ запросы идут последовательно, информация пишется также последовательно, неужели нельзя просчитать такую ситуацию и хотя бы не мешать? Тем более, что работа идет на физическом уровне и даже нет никаких отвлекающих моментов типа записи в FAT или MFT.

В результате проведенных исследований выяснено, что использование драйверов Intel ATA в тестах IOmeter приводит скорее к ухудшению результатов. По крайней мере, считать такое значительное падение скорости ценой за меньшее использование процессора нельзя. Больше даже расстраивает факт, что поведение графиков скорости (IOps и MBps) с драйверами Intel ATA приобретает совсем другой характер ≈ рост скорости с увеличением нагрузки заметно снижается или даже становится отрицательным. Получается, что выгода от использования Intel ATA в Windows 2000 также очень сомнительна. Да и списать такое поведение на то, что тест IOmeter использует обращения к физическому диску, нельзя, Все равно тест осуществляется через драйвер, а IOmeter специально построен для детального исследования работы дисковой подсистемы и не является каким-то обособленным приложением с редко встречающимися алгоритмами работы с диском.

Объяснить такое поведение драйверов сложно. Разработчики так комментируют сложившуюся ситуацию:

"══Драйверы Intel ATA являются не просто связующим звеном между контроллером и ОС, они также выполняют некоторую оптимизацию запросов на запись, а также упреждающее чтение. Таким образом, в них встроены некоторые ╚интеллектуальные╩ алгоритмы, которые могут влиять на результаты низкоуровневых тестов типа IOmeter.
"══Драйверы оптимизированы для процессора Intel Pentium 4 и могут обеспечить на нем прирост скорости дисковой подсистемы.
"══Драйверы оптимизированы больше для FAT32, чем NTFS.
Действительно, некоторые объяснения кажутся вполне правдоподобными. Однако ╚оптимизация╩, которая не видна на тестах ZDLabs Winstone (использующих реальные приложения!), а при проверке в Winbench даже приводящая к ухудшению результатов, кажется не очень-то полезной для пользователей. Получается, что она дает где-то рост производительности, а вот назвать конкретный положительный пример никто не может. Оптимизация для Pentium 4, безусловно, необходима, поскольку человек, купивший этот процессор, хочет иметь на своем ПК хотя бы одно приложение, использующее особенности P4, за которые он уже заплатил. Есть множество систем, на которых продолжает использоваться Pentium III, а на них это приложение работать не будет. Ориентация драйверов на использование файловой системы FAT32 в целом не вызывает претензий, поскольку можно считать, что использование NTFS ≈ это высокопроизводительные ПК со SCSI-контроллерами и дисками.

Таким образом, вырисовывается интересный образ пользователя, для которого предназначены эти драйверы: домашний пользователь с ПК на базе Pentium 4. У═него установлена ОС Windows ME, жесткий диск размечен одним большим разделом на FAT32. И═драйверы Intel ATA он установил исключительно для возможности посмотреть в программе Intel Ultra ATA Companion, как быстро работает его жесткий диск.

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


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи ╧ 14'2001 || Новости СПб || Новости России || Новости мира

Анкета || Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл ╧ 77-4461 от 2 апреля 2021 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 118-6666, 118-6555.
Адрес: 196084, СПб, ул. Коли Томчака, д. 9
Пейджер 238-6931(аб.3365)
e-mail:
Для пресс-релизов и новостей