Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

SuperFetch: интеллектуальное кэширование памяти Windows

Напечатать страницу
14.10.2005 21:28 | Raiker

Одна из демонстраций Microsoft на конференции профессиональных разработчиков в прошлом месяце, Professional Developers Conference (PDC) 2005, показалась мне абсолютно невероятной. Джим Алчин, сопрезидент подразделения Platform Products & Services Division, показал, как функция под названием SuperFetch сможет более гибко кэшировать память в версиях Windows Vista и Longhorn Server, что приведет к существенному росту производительности и эффективности системы по сравнению с сегодняшними версиями Windows. Более того, Джим Алчин продемонстрировал, каким образом подключение стандартного устройства USB Memory Stick к компьютеру с Vista или на базе Longhorn Server приводит к расширению объема виртуальной памяти, доступной системе, что еще больше увеличивает производительность. Вот так фокус!

Или нет? На недавнем брифинге, который проводил Габриэль Аул (Group Program Manager в Microsoft Windows Division), было рассказано, что потенциально SuperFetch – это способ продлить жизнь «стареющим» корпоративным компьютерам и ноутбукам и увеличить производительность компьютеров фактически всех пользователей Windows.

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

Windows XP Prefetcher выполняет эти операции для большого числа типов файлов, в том числе Windows Explorer, файлов загрузки Windows и т.п., но Prefetcher имеет ряд ограничений. Если вы запустите несколько задач, активно использующих ресурсы памяти (игры, графические редакторы, видеоредакторы), все страницы, находящиеся в кэше, будут вытеснены в дисковый файл подкачки. Поэтому когда произойдет возврат к кэшированной задаче, система должна будет снова прочитать данные с диска, что "посадит" любую производительность.

Рассуждая логически, Vista SuperFetch – это следующая версия Windows Prefetcher. Как и его предшественник, SuperFetch кэширует часто используемые файлы, чтобы потом к ним можно было быстро обратиться во время текущей сессии. Но SuperFetch - более "интеллектуальный" инструмент, чем Prefetcher. Во-первых, он ведет мониторинг обращений к страницам памяти и со временем разрабатывает профили использования приложений. "Эти профили включают куда более сложные модели, - продолжает Аул. – Учитывается, что вы можете использовать, например, различные приложения в выходные и будни, и соответственно происходят изменения в запускаемых приложениях и использовании компьютера". А в результате когда ресурсоемкая (с точки зрения использования памяти компьютера) задача «выталкивает» страницы памяти в файл подкачки, SuperFetch ведет мониторинг данного процесса и забирает обратно эти страницы максимально быстро, чтобы избежать снижения производительности из-за интенсивного обращения к диску, когда приложение потребует свои страницы памяти назад.

Рассмотрим типичный сценарий: ваш ИТ-департамент планирует автоматизировать запуск задач, когда пользователи обычно не работают – например, во время обеденного перерыва или в ночное время. Обычно такие задачи не кэшируются, но они, к сожалению, могут вытеснить страницы памяти нужных приложений в файл подкачки на диск. Когда пользователи вернутся на рабочие места, может возникнуть некоторое раздражение ("кто сидел на моем месте?"). С SuperFetch вы не заметите никакой разницы - ваш компьютер будет все так же готов к продолжению работы.

Теперь о демонстрации использования USB Memory Stick. Аул сообщил мне, что фактически мы сможем задействовать любое флеш-устройство USB 2.0 как временный буфер между оперативной памятью компьютера и жестким диском. "Мы не расширяем системную оперативную память с помощью флеш-памяти, - отметил Аул, - и не наращиваем объем виртуальной памяти. Вместо этого мы создаем выделенное буферное пространство для SuperFetch". Теоретически все выглядит следующим образом: хотя типичный флеш-диск USB не настолько быстр, как оперативная память, он все же гораздо быстрее, чем обычный жесткий диск, особенно на операциях случайного ввода-вывода (Аул обращает внимание на возможное двадцатикратное ускорение операций ввода-вывода).

Когда пользователь впервые подключает флеш-диск к компьютеру Vista, система спрашивает, не планируется ли задействовать флеш-диск USB как выделенную буферную память для SuperFetch (эта функция не была доступна в последней сентябрьской сборке Community Technical Preview – CTP, но будет включена в следующий общедоступный выпуск, намеченный на октябрь)? Память, выделенная для SuperFetch, будет сжата и зашифрована в целях безопасности и невозможности ее использования на других компьютерах. Реализуется двойная буферизация, поэтому проблем с надежностью быть не должно. "Вы можете просто вытащить флэш-накопитель и воспользоваться им как обычным USB-диском на другом компьютере, если пожелаете", - сказал Аул.

Microsoft рассматривает описанное USB-решение как ключевое преимущество для пользователей ноутбуков, мобильных пользователей и вообще любого пользователя, у которого есть компьютер, в который не так-то просто добавить оперативной памяти. «Вы можете задействовать один или два устройства USB на ноутбуке и получить гигантский скачок производительности, даже если нарастить оперативную память не представляется возможным, - подчеркнул Аул. - Однако это отличная новость и для пользователей настольных систем, поскольку становится возможным мгновенно поднять скорость работы компьютера, который раньше просто без дела стоял на столе. Просто подключите USB-устройство и «почувствуйте разницу».

У этой технологии есть некоторые ограничения. Невозможно использовать одно устройство в двух и более компьютерах: если вы установили USB флэш-диск в компьютер, он будет зафиксирован для работы именно на этом компьютере. Это означает, что нельзя использовать одиночный USB флеш-диск и для настольных систем, и для ноутбука. Кроме того, наиболее очевидно преимущества этой технологии проявляются в системах с объемом оперативной памяти от 512 Мбайт до 1 Гбайт. Если памяти больше, SuperFetch будет просто использовать для своих целей системную оперативную память для кэширования страниц памяти приложений. Если оперативной памяти меньше 512 Мбайт, то Vista, скорее всего, просто "не взлетит".

Очень хотелось бы устроить тест функциональности SuperFetch и USB флеш-диска. Мне кажется, что обе функции смотрятся как превосходное дополнение к все возрастающему набору функций Windows Vista.

Источник: osp.ru

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.045 секунд (Общее время SQL: 0.03 секунд - SQL запросов: 51 - Среднее время SQL: 0.00059 секунд))
Top.Mail.Ru