Адаптивные компьютерные системы, как говорится в документах корпорации IBM, — это четкая констатация проблем, с которыми столкнулась ИТ-отрасль. В частности, данная концепция предлагает путь сдерживания дальнейшего роста сложности. Исследования, которые проводит Intel Research, посвящены будущим вычислительным системам. Они включают в себя адаптивные компьютерные системы, но при этом касаются и новых прикладных областей, требующих реализации принципов, которые получили название проактивных систем. Именно они позволяют перейти от современных интерактивных систем к проактивным средам, способным предвидеть наши потребности и действовать в наших интересах.

Адаптивные [1] и проактивные [2] компьютерные системы предлагают решение проблем, ограничивающих развитие современных ИТ. В 90-е годы возникла идея повсеместных вычислений [3], которая расширила традиционное представление о распределенных системах.

До недавнего времени естественный путь развития компьютерных систем был связан с поддержкой технологий, повышающих плотность хранения данных, а также с возможностями резервирования сетевой полосы пропускания индивидуально для каждого пользователя. В последние два десятилетия емкость дисков ежегодно увеличивалась примерно в два раза, вычислительная производительность — в 1,6 раза (закон Мура), а эффективность персональных сетевых возможностей — в 1,3 раза. Развитию приложений — и одновременно росту сложности их администрирования — в немалой степени способствовали преимущества, которые дает применение Internet. Адаптивные системы, подход, предлагаемый IBM, призван решить некоторые из проблем, связанных с ростом сложности. К числу принципов системного проектирования, которые, как ожидается, позволят преодолеть существующие ограничения, относят способность систем к самоконтролю, самовосстановлению, самоконфигурированию и самооптимизации. Кроме того, система должна иметь представление о своем окружении, защищаться от атак, взаимодействовать на основе открытых стандартов и предвидеть действия пользователей. Данные принципы могут применяться и к отдельным компонентам, и к системам в целом, причем последнее дает глобальные преимущества, позволяющие удовлетворить требования большего числа пользователей.

В Intel Research активно поддерживают концепцию адаптивных систем и в то же самое время думают о том, как компьютеры будут использовать в дальнейшем. До сих пор ПК наиболее эффективно применялись дома и в офисе. Нас интересуют другие области человеческой деятельности, готовые в перспективе к внедрению компьютерных технологий. Проактивные системы расширяют наши представления о применении компьютеров, подтверждая необходимость мониторинга физического мира и влияния на него, ориентации на процессы, которые предполагают сложные взаимодействия с реальным миром, но сейчас ограниченные степенью необходимого вмешательства со стороны человека. Некоторые исследования выходят за рамки уже созданных систем повсеместных вычислений и рассчитаны на будущие конфигурации, предполагающие, что человек работает с тысячами объединенных в сеть компьютеров. Разработка проактивных систем опирается на семь базовых принципов: связь с физическим миром; «глубокие» сетевые взаимодействия; макрообработка; функционирование в условиях неопределенности; предвидение; замкнутый цикл управления; персонификация.

Ориентация на системы, в которых человек выполняет наблюдательную, а не управляющую функцию, или на полностью автоматические системы, — общая цель проактивных компьютерных систем. Отношения между пользователем и компьютером со временем меняются: формула «много к одному» с появлением в 80-х годах персональных компьютеров превратилась в «один к одному», а затем, с бурным развитием в новом тысячелетии отрасли мобильных устройств, — в «один ко многим». Сегодня большинство жителей Соединенных Штатов, как правило, работают (иногда опосредованно) с десятками компьютеров, начиная от мобильных устройств и заканчивая бытовой электроникой. Все эти системы требуют внимания человека, которое в нашем современном мире превращается во все более дефицитный ресурс. И прежде, чем мы «утонем» в море различных устройств, необходимо найти решение, позволяющее освободить людей от участия в цикле управления там, где это возможно, заменив их управляющую функцию на наблюдательную. Таким образом, проактивные компьютерные системы сосредотачиваются на обеспечении наблюдательной деятельности человека, когда пользователь не вмешивается в управление системой — до тех пор, пока не потребуется его участие в принятии критически важных решений.

Один из простейших примеров, иллюстрирующих систему, где человеку отводится именно роль наблюдателя, — система центрального отопления в современном доме. Подобные системы, как правило, имеют простую программу, определяющую температуру для утра, дня, вечера и ночи. Обычно система действует автономно и незаметно, однако пользователи могут быстро и в любой момент изменить эти настройки, если им станет жарко или холодно, либо в приближении энергетического кризиса. Если систему оснастить сетью датчиков и занести в нее информацию о «расписании дня» семьи, температурный режим и уровень энергопотребления можно заранее оптимизировать с учетом микроклимата в доме, позднего окончания буднего дня, семейного отпуска. Но обобщить этот пример на более сложные системы довольно трудно: большинство ситуаций не сводится лишь к выбору между «слишком жарко» и «слишком холодно».

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

Расширение сферы применения

Широкое применение компьютерных систем будущего не только дома и в офисе требует освоения новых принципов их проектирования. Остановимся на трех следующих принципах проактивных систем: связь с физическим миром; функционирование в масштабе реального времени и в замкнутом цикле; наличие методик, которые позволяют компьютерам предвидеть потребности пользователей. (Всего этих принципов семь; читатели, которых интересуют оставшиеся четыре принципа, могут найти их описание в Web по адресу http://www.intel.com/research.)

Связь с физическим миром. Значительная часть существующей в настоящее время вычислительной инфраструктуры связывает персональные компьютеры с массивом серверов. Созданная виртуальная среда позволяет нам порождать, обрабатывать и сохранять информацию, которая, через людей, может косвенно влиять на физический мир. Чтобы сформировать окружение, в котором компьютерные системы помогают нам в решении повседневных задач, физический мир должен быть оснащен такими компьютерными системами, которые способны детально изучать окружающую действительность, используя собранную информацию для эффективных воздействий на нее. Примером тому могут служить микроклиматические прогнозы погоды, мониторинг дорожного трафика и определение возможного местонахождения людей в здании, пострадавшем от землетрясения.

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

При масштабировании систем до такой степени, чтобы они были способны вести мониторинг физического мира, сразу же возникают проблемы, касающиеся администрирования и использования — т. е. именно те проблемы, на решение которых нацелена концепция адаптивных компьютерных систем. Поэтому мы не можем рассматривать существующие компьютерные системы как образец для подражания. Однако за счет использования простых узлов, которые можно описать подробно и по отдельности, мы в состоянии больше узнать о методиках, требующихся для поддержки более крупных сетей, собранных из традиционных компьютеров. Сложные беспроводные сети датчиков, подобные тем, с которыми мы работаем вместе с коллегами из Калифорнийского университета в Беркли [4, 5], обладают именно такими характеристиками.

Функционирование в масштабе реального времени и в замкнутом цикле. Если предположить, что компьютеры будут более тесно интегрированы с физическим миром, обратная связь в реальном времени станет критически важным фактором. В 60-е годы компьютерные системы были либо полностью интерактивными, включающими человека в цикл управления, либо абсолютно негибкими, созданными на основе специализированной системы управления. Чтобы полностью интегрироваться в задачи реального мира, необходимо реагировать быстрее, чем это возможно в случае участия человека в цикле управления: они должны «отзываться» на события физического мира в реальном времени.

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

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

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

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

Статистические рассуждения. За последнее десятилетие значительно усовершенствованы подходы, в которых для решения важных проблем используются статистические методы. Они превзошли и даже заменили собой некоторые из более традиционных подходов, использующих детерминированные методы. Применение подобных методик к управлению и анализу сложных систем дает значительные преимущества как в ИТ, так и для управления процессами произвольной природы.

В некоторых Web-приложениях (например, в машине поиска Google), такие методики уже применяются для добычи данных. Кроме того, статистические методы с успехом используются и в других областях информатики, таких как распознавание речи, визуальная обработка и даже в алгоритмах маршрутизации, реализованных в некоторых средствах автоматизированного проектирования. В перспективе мы планируем использовать статистические методы для обработки событий физического мира в режиме реального времени.

Проактивная обработка данных. Экспоненциальный рост плотности хранения данных и увеличение сетевой полосы пропускания, предоставляемой для передачи данных, позволяет проактивным вычислительным системам быстро предоставлять данные пользователям без их непосредственного участия. Проактивные системы могут использовать мобильную память высокой плотности, благодаря чему системы способны заранее загружать данные, которые могут потребоваться пользователям в будущем, не обременяя их громоздкими мобильными устройствами. Точно также сети с широкой полосой пропускания могут за короткий период времени передавать большие объемы данных на сервер, физически расположенный недалеко от пользователя. Однако адаптивные методики должны доказать, что пользователи могут доверять подобным системам, гарантируя, что они будут работать в самых разных условиях.

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

Активизация исследований

Приведем краткое описание двух из серии проектов, выполняемых в Intel Research.

Labscape. Данный проект (выполняется совместно с Вашинтгтонским университетом) предусматривает модернизацию микробиологической лаборатории и обеспечение автоматизации регистрации и анализа результатов. Это первый пример среды, которой практически не коснулся прогресс в мире компьютерных систем. Labscape [6] отвечает за наличие реактивов, лабораторной посуды, тестового оборудования и персонала и отслеживает их положение относительно друг друга во время экспериментов (рис. 2). При проведении любого эксперимента многие процессы необходимо регистрировать в лабораторном журнале; однако некоторые шаги иногда пропускаются, а реагенты порой загрязняют друг друга. В традиционной лаборатории эти ошибки может заметить только опытный сотрудник, и для контроля состояния не существует никакого внутреннего механизма. С помощью Labscape весь эксперимент можно записать электронным образом и автоматически генерировать в журнале запись, соответствующую методу и результатам. Преимущество такого подхода заключается в том, что ни один из шагов не будет случайно пропущен и, более того, экспертная система может анализировать данные на возможность возникновения риска загрязнения и другие ошибки эксперимента.

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

Personal Server. Данный проект [7] ориентирован на взаимодействие пользователя с персональными мобильными данными в окружающем его мире, определяемыми тенденциями в вычислениях, хранением и стандартами на беспроводную связь ближнего радиуса действия. Основной тезис состоит в том, что плотность хранения, которая ежегодно удваивается, приведет к появлению к 2012 году однодюймовых дисков, способных хранить более одного терабайта данных. При такой плотности информации станет возможным буквально носить в кармане большое количество данных, часть которых может быть действительно необходима, а часть — на всякий случай.

Рис. 3. Прототип персонального сервера
Устройство, которое мы называем Personal Server (рис. 3), может быть достаточно миниатюрным для того, чтобы человек всегда имел его под рукой. Возможно, оно будет встраиваться в сотовый телефон или его можно будет носить как украшение. Поскольку встроенный дисплей не является для Personal Server базовым интерфейсом, само устройство может быть совсем небольшим по размеру и при этом поддерживать самые широкие интерфейсные возможности. Оно рассчитано на использование окружающей вычислительной инфраструктуры и дисплеев, поэтому позволяет просматривать информацию на имеющихся по соседству мониторах, тем самым, освобождая пользователей от необходимости носить с собой тяжелый и громоздкий экран. Стандартные беспроводные протоколы, которые, как правило, предоставляют механизм для пересылки данных между устройством и хостом, могут в этом случае применяться специальным и проактивным образом для обнаружения полезной информации в среде и ее записи для последующего использования. Аналогичные возможности проявляются при взаимодействии одного Personal Server с другими Personal Server, которые могут сообщить конкретную информацию, поддерживая персональный взаимный обмен данными.

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

Будущее компьютерных систем

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

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

Литература
  1. P. Horn, Autonomic Computing: IBM's Perspective on the State of Information Technology, October 15, 2001; http://www.research.ibm.com/autonomic/manifesto/ autonomic_computing.pdf.
  2. D.L. Tennenhouse, "Proactive Computing", Communications of the ACM 43, No. 5, May 2000.
  3. M. Weiser, "The Computer of the 21st Century", Scientific American 265, No. 3, September 1991.
  4. S. Conner, L. Krishnamurthy, R. Want, "Making Everyday Life Easier Using Dense Sensor Networks", Proceedings of Ubicomp 2001: 3rd International Conference on Ubiquitous Computing, Atlanta, GA, Springer, Lecture Notes in Computer Science 2201, October 2001.
  5. D. Estrin, D. Culler, K. Pister, G. Sukhatme, "Connecting the Physical World with Pervasive Networks", IEEE Pervasive Computing 1, No. 1, January-March 2002.
  6. L. Arnstein, C. Hung, R. Franza, Q. Zhou, A. LaMarca, G. Borriello, S. Consolvo, J. Su, "Labscape: ASmart Environment for the Cell Biology Laboratory", IEEE Pervasive Computing 1, No. 3, July-September 2002.
  7. R. Want, T. Pering, G. Danneels, M. Kumar, M. Sundar, J. Light, "The Personal Server: Changing the Way We Think about Ubiquitous Computing", Proceedings of Ubicomp 2002: 4th International Conference on Ubiquitous Computing, Goteborg, Sweden (September 30-October 2, 2002), Springer, Lecture Notes in Computer Science 2498.

Рой Вонт (roy.want@intel.com) — ведущий инженер Intel Research. К сфере его научных интересов относятся повсеместные вычисления, протоколы беспроводной связи, архитектура компьютерных систем, встроенные системы, распределенные системы, автоматическая идентификация, MEMS-системы. Работал в компании Olivetti Research, где создал Active Badge, систему автоматического обнаружения людей в здании. В 1991 году присоединился к программе Ubiquitous Computing исследовательского центра Xerox PARC, возглавив проект PARCTab, посвященный разработке одной из первых контекстно-зависимых компьютерных систем.

Тревор Перинг (trevor.pering@intel.com) — научный сотрудник Intel Research. Интересуется различными аспектами мобильных и повсеместных вычислений, в том числе, моделями использования, управлением уровнем энергопотребления, новыми форм-факторами и программной инфраструктурой.

Дэвид Тенненхаус (david.tennenhouse@intel.com) — вице-президент и директор по исследованиям корпорации Intel. Одним из первых занялся изучением сетей ATM, активных сетей, программного радио и средств настольной обработки мультимедиа. Занимал должность директора по науке и технологиям агентства DARPA, определяя стратегию исследований PRO-Active Computing, особое внимание в которой уделялось сетевой инфраструктуре встроенных и самоуправляемых систем.

R. Want, T. Pering, D. Tennenhouse, Comparing autonomic and proactive computing. IBM Systems Journal, Vol. 42, No. 1, 2003. Copyright IBM. All right reserved. Reprinted with permission.