Операционные системы тормозят работу SSD. Как с этим бороться?
SSD-накопители могут работать настолько быстро, что узким местом в системе оказывается программное обеспечение. Windows и другие ОС должны претерпеть изменения — какие именно, CHIP расскажет в этой статье.
SSD-накопители могут работать настолько быстро, что узким местом в системе оказывается программное обеспечение. Windows и другие ОС должны претерпеть изменения — какие именно, CHIP расскажет в этой статье.
Началом революции в области накопителей данных станет появление твердотельных дисков на основе памяти нового поколения, которые будут соединяться с системной платой по высокоскоростным интерфейсам. Уже сегодня серверные SSD, подключаемые через разъем PCI Express, обеспечивают более высокую скорость передачи данных по сравнению с классическими твердотельными носителями. А с выходом новых процессоров от компании Intel на базе микроархитектуры Ivy Bridge данное увеличение производительности затронет и домашние компьютеры. По прогнозам экспертов, в перспективе накопители данных будут обеспечивать время доступа на уровне оперативной памяти, а применение новых технологий приведет в ближайшие годы к слиянию ОЗУ и жесткого диска.
Завершится революция глобальными преобразованиями операционных систем, таких как Microsoft Windows или Mac OS X. Ведь чем быстрее работает жесткий диск, тем более узким местом в системе становится ОС. Именно к такому выводу пришла группа инженеров-исследователей из Университета Сан-Диего в ходе работы над накопителем под кодовым именем Moneta. О том, какие изменения необходимо внести в операционные системы и каким при этом окажется прирост производительности, вы узнаете из этой статьи.
На предельной скорости: накопители нового поколения
В ближайшие несколько лет жесткие диски смогут сохранять данные со скоростью до 4 Гбайт/с. Это станет реальным благодаря применению совершенно новых технологий.
Используя SSD-накопитель, уже сегодня можно получить значительный прирост производительности ПК, однако предельная скорость передачи данных ограничена интер- фейсом SATA III, с помощью которого диск подключается к системной плате. Теоретическая пропускная способность у него составляет 6 Гбит/с, но на практике даже самые быстрые SSD-носители, например OCZ Vortex 3, обеспечивают лишь 500 Мбайт/с. Более высокой пропускной способности позволяет достичь преемник SATA III —интерфейс SATA Express, благодаря которому твердотельные диски смогут передавать данные со скоростью 1,6 Гбайт/с. Для обмена информацией SATA Express задействует другой высокоскоростной протокол — PCI Express 3.0. Отметим, что самые быстрые серверные SSD обеспечивают максимальную скорость передачи данных на уровне 3 Гбайт/с, а если новый интерфейс PCI Express 3.0 получит распространение, то она увеличится вдвое.
Чтение и запись: наносекунды
Среди всех типов запоминающих устройств предельную скорость передачи данных сегодня обеспечивает оперативная память (DRAM). Но как только на модуль памяти перестает поступать питание, она очищается. Однако с появлением устройств нового типа ситуация обещает измениться в лучшую сторону. Среди почти десятка претендентов можно выделить два типа памяти, которые смогут поступить в серийное производство до 2015 года: Phase Change Memory (память на основе фазового перехода, PCM) и Resistive RAM (резистивная память, ReRAM). В памяти на основе фазового перехода используется металлический сплав халькогенид, который в зависимости от прилагаемого напряжения принимает кристаллическую или аморфную структуру. Ввиду того что в PCM, как и во флеш-памяти, хранящиеся данные необходимо сначала удалить, по скорости работы чипы PCM не могут сравниться с DRAM. Резистивная же память подает больше надежд, но в настоящее время существуют лишь прототипы таких чипов, выпускаемые компаниями HP, Panasonic, Samsung и Sony. В ReRAM все усилия направлены на то, чтобы сделать изоляционный материал токопроводящим, приложив к нему напряжение, в результате чего значение бита становится равным 1. Чтобы изменить его, необходимо приложить обратное напряжение, которое восстановит изоляционные свойства материала. В отличие от флеш- и PCM-памяти технология ReRAM обеспечивает прямую перезапись данных. Скорости чтения и записи одинаковы и находятся на уровне оперативной памяти — идеальные предпосылки для получения высокопроизводительного накопителя будущего.
Операционная система тормозит работу быстрых накопителей
Windows и другие ОС при столь высокой пропускной способности новых дисков не способны обеспечить эффективное сохранение данных.
С массовым распространением SSD-накопителей мы уже забыли про длительное время загрузки программ, характерное для классических жестких дисков на магнитных пластинах. Однако многие функции современных операционных систем все еще оптимизированы под стандартные HDD. Накопителям нового поколения необходима полная реорганизации ОС, так как они обладают более низким рабочим напряжением и имеют меньшее время доступа, что позволяет им выполнять большее количество операций в секунду.
Windows и прочие системы требуют значительной переработки
Какой именно объем работ по изменению ОС предстоит выполнить, выяснила группа исследователей из Университета Сан-Диего, создав устройство под кодовым именем Moneta, в котором используются PCM — чипы памяти на основе фазового перехода. Оно подключается к компьютеру по интерфейсу PCI Express и, по утверждениям разработчиков, обеспечивает пропускную способность в 4 Гбайт/с. Moneta работает под управлением ОС Linux, но отличия от Windows или Mac OS X, касающиеся операций сохранения данных, в данной системе незначительны. Результаты измерений скорости передачи данных справедливы в отношении всех современных ОС, и они неутешительны: при использовании PCM операционная система существенно замедляет работу памяти.
Отметим, что архитектура Windows 7 и других современных ОС оптимизирована в первую очередь под работу с магнитными жесткими дисками (HDD). Так, функционирование системы значительно замедляет планировщик ввода/вывода (Input/Output Scheduler), который управляет всеми обращениями к жесткому диску. Обычно операция над файлом состоит из запросов (Request) на запись или чтение данных с накопителя. Планировщик ввода/вывода перераспределяет запросы во избежание возникновения сбоев при передаче информации. Данная модель целесообразна в случае с жестким диском на основе магнитных пластин (HDD), но при использовании SSD-накопителя необходимость в подобных действиях отпадает, так как твердотельный носитель обладает очень малым временем доступа.
Стоит также отметить, что в ОС Linux используется планировщик ввода/вывода Noop, который объединяет несколько запросов без их предварительного перераспределения и передает их драйверу жесткого диска. Но и на эту операцию затрачивается время, так как планировщику необходимо каждый раз создавать новый поток команд. После передачи данных диску поток команд, отвечающий за операции чтения/записи, приостанавливается, а после выполнения жестким диском своей задачи он должен быть вновь активирован — это необходимо для того, чтобы HDD смог «отчитаться» об успешном завершении операции. Данный подход целесообразен на компьютерах, использующих двуядерные CPU. В современных же многоядерных системах, одновременно выполняющих до восьми потоков команд, такие ситуации возникают редко.
Чтобы увеличить скорость передачи данных, разработчики Moneta сначала избавились от планировщика. В результате они добились того, чтобы данные передавались без предварительного распределения и объединения. Обычно запрос состоит из нескольких команд, а драйвер диска осуществляет их сбор для последующего помещения в кеш-память накопителя. В процессе выполнения данной операции напрасно затрачивается время. Разработчики Moneta также урезали запросы, которые стали содержать всего лишь одну команду длиной 64 бита. Данные меры позволили существенно повысить количество операций ввода/вывода, выполняемых Moneta, — приблизительно до одного миллиона в секунду.
Передача данных: продолжительность выполнения различных операций
Как показывает подробное описание процесса сохранения 4 кбайт информации, при работе с высокопроизводительной памятью, например Moneta, операционная система затрачивает на сохранение больше времени, чем накопитель данных.
Возможности оптимизации системы
Однако стоит отметить, что данные изменения еще не позволяют достичь максимального быстродействия. Требуется еще одна операция по модификации, при которой происходит изменение архитектуры операционной системы. Дело в том, что в современных ОС программы, инициирующие операции по сохранению данных, выполняются с ограниченными правами, то есть функционируют в рамках пользовательского режима. Напротив, закрепленный за ОС режим ядра (привилегированный режим) не знает никаких ограничений — он и управляет в конечном итоге аппаратными средствами. Таким образом, запросы на сохранение данных, перед тем как быть обработанными, должны быть сначала переведены в режим ядра ОС.
Разработчики Moneta добились отмены обращения к ядру, создав собственный драйвер, который работает в пользовательском режиме. Таким образом, ОС практически не вмешивается в процесс передачи данных. Под вопросом остаются файловая система и система управления правами, определяющая, например, кому из пользователей разрешен доступ к тому или иному файлу. Обмен данной информацией между приложением и ядром выполняется независимо от процесса передачи данных. Благодаря этому не нарушается модель безопасности архитектуры ОС.
В будущем любая программа сможет напрямую и без потери времени получать доступ к файлу для его чтения или записи. Операционная система будет «оставаться в стороне», в то время как драйвер жесткого диска станет отвечать за управление процессами сохранения данных. Единственная задача ОС будет заключаться в том, чтобы посредством файловой системы принимать участие в протоколировании данных изменений. Таким образом, высокая скорость работы дисковой подсистемы возможна только в модифицированной ОС.
Итого: четыре этапа оптимизации ОС на пути к высокой скорости работы
ЭТАП 1: разработчики избавляются от планировщиков в системе.
ЭТАП 2: длина передаваемых команд на сохранение данных сокращается до 64 бит, в результате отпадает необходимость в использовании системы адресации памяти.
ЭТАП 3: поток, который выполняет процесс, остается активным, и до завершения процесса не требуется его повторная активация.
ЭТАП 4: драйвер жесткого диска работает в обход операционной системы.