Microsoft Research разработала SuperFetch, составную часть Vista, которая предсказывает, какие приложения и когда будут использоваться, после чего предварительно загружает их в память таким образом, чтобы они были немедленно доступны...



"Являясь частью огромного количества проектов, мы хотим научить компьютер обучаться, опираясь на действия пользователей, чтобы сделать его более производительным", - говорит Эрик Хорвитз (Eric Horvitz), главный исследователь Microsoft R&D, а также избранный, но еще не вступивший в должность, президент американской Ассоциации Искусственного интеллекта. "Мы хотим использовать время простоя системы, чтобы повысить эффективность".



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



Убедить разработчиков ОС Vista в пользе от SuperFetch было сложно. "Они - скряги", говорит Хорвитз. "Они скупы в предоставлении памяти и процессорного времени. И они сомневались. Поэтому нам пришлось запустить систему предсказаний на ПК с реальными рабочими нагрузками, чтобы показать, что наши предсказания будут полезными и нужными".



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



Предварительная загрузка приложений для ускорения доступа - или, в итоге, увеличения скорости ПК - не является ничем новым, признался Хорвитз, но SuperFetch является первой подобной системой для Windows. "Большинство предшественников были сосредоточены на решениях для нижнего уровня. В нашем случае - на уровне моделирования поведения пользователя. Это обучение последовательности действий контекстно-зависимым способом".



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



"Эта функция знает, когда можно безвредно приводить ПК в порядок и когда Вы вернетесь. Она знает на 90%, что Вы отойдете, например, на час или два".



Говоря о перспективах, Хорвитз отметил, что он хотел бы расширить предсказания в стиле SuperFetch на действия в пределах отдельных приложений. "В Outlook, когда пользователи читают сообщение, они, вероятно, захотят перейти вперед (к следующему), или назад, или открыть сообщение. Более широкая идея заключается в том, что есть последовательность использования приложений, которую мы можем использовать в своих ежедневных интересах. Мы можем предсказать то, на что люди вероятно собираются нажимать".



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



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