КаталогИндекс раздела


          

Помогая компьютеру, помогаем себе

David Pescovutz

Helping Computers Help Themselves
Опубликовано в: IEEE Spectrum, September 2002, pp 49 - 53

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

В IBM Corp (5*) и в других местах исследователи используют эту модель для того, чтобы разрабатывать компоненты и обратные связи, необходимые для компьютерной системы, которая сама поддерживает свою работу*. Есть надежда на то, что постоянное и дорогостоящее вмешательство по администрирования баз данных и сетей в попытках определить, что они должны делать, скоро уйдет в прошлое. В числе первых проектов такого рода есть некоторые, которые дают возможность компьютерной системе оптимизировать для самой себя компьютерные ресурсы и хранение данных.

Несколько дальше в будущее отстоят другие компоненты представления об автономных вычислениях (АВ), такие как поддержка нерушимой безопасности против нежелательных вмешательств, возможность быстрого восстановления после сбоев и разработка стандартов для обеспечения интероперабельности между бессчетными системами и устройствами. Системы должно также быть способны исправлять ошибки сервера, зависания системы и крах операционной системы, когда они случаться, а еще лучше - предупреждать их возникновение.

Исключение человека из цикла становится все более настоятельной необходимостью в видах на перспективы следующего десятилетия. По некоторым оценкам, потребуется 200 миллионов работников сферы информационных технологий (IT) для поддержки миллиардов людей, использующих компьютеры в миллионах дел, которые могут быть соединены между собой через интранет, экстранет или Internet.

Для того, чтобы успешно конкурировать на таком большом рынке требуются предварительные обильные капиталовложения: IBM направляет направляет "большую часть" своего $5.3-миллиардного годового (2001 г.) бюджета исследований и разработок на исследования, связанные с АВ.

Успех также требует кооперации между корпоративными, академическими и правительственными исследовательскими лабораториями. Что касается Big Blue, она находится в начальной стадии создания таких отношений, и она выступила хозяином симпозиума по АВ вычислениям в апреле 2002 г. Это событие, происходившее в Исследовательском Центре IBM Almaden (San Jose, Calif.), привлекло более 100 участников из разных университетов и компаний, включая Stanford, Columbia, Cornell и University of California, Berkley и конкурентов - Sun Microsystems (42), Hewlett-Packard (30) и Microsoft (12).

Победа над сложностью

Проблемы сетей в настоящие дни гораздо тяжелей, чем во времена больших сетей в 1980 г., замечает Alan Ganek, вице-президент по АВ, который курирует всю работу IBM, ориентированную на АВ в Исследовательском Центре им. Thomas Watson (Harwthorne, N.Y.). "Сейчас у нас есть ПК, лаптопы, интеллектуальные телефоны и PDA (персональные цифровые помощники), все работающие под разными операционными системами," - обращает внимание он. Размер и сложность этих сетей разительно отличаются от, скажем, банковской сети, которая связывает 20 000 банковских автоматов в частную сеть с единым центром данных, говорит он.

Ранними целями исследований и разработок по АВ является создание адаптивных компьютерных систем, преодолевающих проблему сложности: выделение вычислительной мощности в сетке, включающей в себя часто гетерогенные распределенные процессоры и устройства хранения данных. Как определил Wolfgang Gentzsch, руководитель Sun по сеточным вычислениям, сетка является "инфраструктурой аппаратного и программного обеспечения, которая обеспечивает надежный, совместимый, всеобъемлющий и недорогой доступ к вычислительным возможностям" путем соединения распределенных компьютеров, устройств памяти, мобильных устройств, баз данных и программных приложений.

У Sun есть проект N1 - Network One, долгосрочный план комбинирования разных технологий, включая сеточные* вычисления и высокопроизводительные файловые системы, таким образом, чтобы пул ресурсов мог выделяться динамически, в соответствии с потребностями пользователя. Следующая в том же направлении, Planetary Computing фирмы HP является архитектурой сетевых центров данных. Она дает возможность каждому центру динамически реконфигурировать инфраструктуру своего программного обеспечения и выделять ресурсы хранения данных и сервера при появлении требований на них. Их первый продукт в Planetary Computing, Utility Data Center, был выпущен в прошлом году для того, чтобы "автоматически обеспечивать инфраструктуру по требованию с минимальным вмешательством оператора или без него".

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

IBM Reasearch уже начала вести компанию по пути к АВ. Предлагаемое ей семейство реляционных баз данных, называемое Database 2 (DB2) самоуправляемое и оптимизирует запросы. Серверы, которые автоматически выделяют память и вычислительные ресурсы пошли на рынок, благодаря проекту eLiza от Server Group.

Пока еще в прототипе избыточная серверная система, базирующаяся на "кирпичиках", названная сервером IceCube. Соединяя в массив Коллективные Интеллектуальные Кубики (CIB), IceCube является самым интеллектуальным детищем промышленного стандарта RAID. Сервер IceCube следит за своими компонентами, исправностью, максимальными возможностями и отношениями с другими системами (см. иллюстрацию на врезке). Он может распределять данные между многими CIB даже если ваш компьютер думает, что они (данные) находятся в одном месте. Система работает при отказе любого узла, отвергая срочность и даже вообще необходимость ремонта. Вышедшие из строя кубики остаются на месте, пока не приходит подходящее время для выноса мертвых солдат.

Ускорение работы базы данных

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

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

Все основные продукты баз данных, базирующиеся на SQL, включая Oracle, Microsoft SQL Server, Informix и Sybase, имеют такие оптимизаторы, поясняет Guy Lohman, руководитель исследований по расширенной оптимизации в отделе передовых решений баз данных в Almaden. Оптимизатор определяет наилучший способ ответить на данный запрос путем моделирования альтернативных путей обработки оператора SQL.

Более точно, он определяет разные способы доступа и соединения записей, представленных как строки таблиц и он также определяет решает, в каком порядке эти операции доступа и соединения будут применяться к строкам. Запросы складываются из ключевых слов и полей, которые вместе составляют элемент, называемый предикатом. Для поиска даже в двух таблицах с небольшим количеством предикатов оптимизатор нынешней версии IBM DB2 должен рассмотреть свыше сотни разных планов - определенных последовательностей операций (математических действий, например, сравнений одного значения с другим).

"Это все проделывается автоматически, "под крышкой" оптимизатором запросов DB2. Пользователь даже не знает, что это делается," - говорит Lohman, чья группа разрабатывает Обучающийся Оптимизатор, LEO. LEO является частью технологии баз данных IBM SMART (self-managing and resource turning - самоуправление и регулирование ресурсов), которая будет интегрирована со следующей версией продукта компании DB2. "Это автономия, и мы проводим ее в DB2 более 20 лет," - говорит он.

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

"Если вы имеете дело с 10 000 транзакций, проходящих в компании Amazon каждую минуту, вы не захотите блокировать часть базы данных, чтобы записать статистику," - говорит Lohman. "Вместо этого мы собираем статистику периодически." LEO имеет программный счетчик, который подсчитывает количество строк, обработанных базой данных на каждом шаге. После завершения запроса система сравнивает прогноз, сделанный математической моделью оптимизатора запросов, с реальным количеством обработанных строк и соответственно изменяет статистику. В следующий раз, когда пользователь выполнит запрос, который должен пройти по тем же ориентирам в базе данных, LEO будет знать значительно лучший путь к данным.

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

IBM столкнулась в этом пространстве с сильной конкуренцией со стороны компании, чьи карманы так же глубоки, как и ее. Microsoft Corp., которая планирует увеличить в этом году свои затраты на исследования и разработки на 20% - до $5.3 миллиардов, уже имеет на рынке технологию, похожую на LEO.

Index Turning Wizard появился в 1998 г. как часть SQL Server 7.0. Wizard отслеживает поведение сервера при ответе на запросы, собирая информацию о его загрузке. Проверяя эти данные, он определяет потенциальные проблемы в производительности, извещает о них администратора базы данных и рекомендует исправления для них, такие как создание индексов для ускорения медленно выполняющихся запросов. Wizard также сообщает администратору оценки ожидаемого повышения производительности, если предлагаемые им изменения будут сделаны - до 50% свыше базового проекта базы данных, согласно промышленным тестам.

В свое первой реализации Turning Wizard был только коммерческим инструментом для рекомендаций администратору, какие изменения должны быть сделаны в проекте базы данных для ускорения запросов и подсчета потенциально увеличения производительности, - говорит Surajit Chaudhury, старший научный сотрудник группы управления, исследования и добычи данных в Microsoft Research и менеджер команды AutoAdmin, которая разработала Wizard. Нынешняя версия Turning Wizard, включенная в SQL Server 2000, уникальна в том, что для данной загрузки она может рекомендовать приемлемую комбинацию индексов и материализованных представлений. (Представление в кеше прекомпилированных ответов, которые база данных ищет, когда распознает определенный вид запросов.) Результат: ожидается 80% повышение производительности по сравнению с базовым проектом.

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

Менеджеры сервиса

"Хотя я нахожу биологическую метафору АВ очень удачной, она не во всем точна," - объявляет новый технический директор программы Sun N1 Josef Khalidi. Вместо АВ Sun предпочитает метафору, с которой она выступила в 1980 г.: сеть в компьютере. Sun, лидер в коммерциализации сеточных вычислений, недавно открыла инициативу N1, комбинирующую достижения компании в сеточных вычислениях и, так называемую, технологию сетевой виртуализации для динамического выделения ресурсов. Sun уже начала предлагать покупателям свих серверных массивов памяти 6900 возможность динамического назначения ресурсов центрального процессора и кеша.

"Мы хотим, чтобы люди управляли сервисами, а не серверами," -говорит Khalidi. - "N1 моделирует нужды приложения. Если вы имеете такие модели, вы можете оптимизировать, вы можете автоматизировать, вы можете устанавливать политики."

Sun применяет свой опыт в сеточных вычислениях в области администрирования сетей. Компания сейчас обслуживает покупателей с примерно 5 000 сеток с общим количеством процессоров 220 000 и с ростом новых сеток примерно на 70 в неделю.

По словам Peter Jeffcock, маркетингового менеджера клиентов Sun, компании вроде Motorolla (13) уже применяют некоторые возможности программы с открытым кодом Grid Engine фирмы Sun и ее коммерческой версии Grid Engine Enterprise edition. Эта программа ведет список задач и список процессоров, доступных в сетке. В зависимости от приоритетов, установленных пользователем, программа назначает задачи на процессоры автоматически.

Например, в фирме Motorolla группа разработки беспроводных продуктов имеет в своей сетке 250 процессоров и использует Grid Engine для ведения политики, которая при нормальной работе распределяет ресурсы поровну между, скажем, двумя группами разработчиков чипов. Когда одна из групп подходит к завершению своего проекта, ей требует много дополнительной вычислительной мощности, чтобы выполнять моделирование для тестирования функционального соответствия, программа в этом случае назначает больше ресурсов этим задачам. Идея состоит в увеличении коэффициента использования процессоров от 10-30%, обычных, когда процессоры используются вне сетки, до 98% и более, когда они в сетке, и в предоставлении ресурсов в распоряжение наиболее критичных проектов.

Первый продукт IBM, предназначенный для сетевого администрирования и уменьшения нагрузки на администратора-человека вышел на рынок в прошлом году на хвосте ящерицы: проект eLiza, попытка создания самоуправляемых серверов. Liza - это сокращение от lizard (ящерица), имя выбранное после того, как исследователи сравнили вычислительную мощность Deep Blue - известного шахматного суперкомпьютера, который победил чемпиона мира Гари Каспарова - с ящерицей*. Целью проекта eLiza является привнесение "ящеричного" уровня автономии на серверную арену, чтобы серверы могли выживать и адаптироваться в непредсказуемой среде. До настоящего времени плоды проекта eLiza внедрялись в линейку продуктов IBM eServer, первый коммерческий результат исследований в области АВ, а теперь - и в Enterprise Workload Manager (eWLM) - программное обеспечение, базирующееся на работах Исследовательского Центра им. Thomas Watson.

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

"Любой пользователь серверов скажет вам, что когда количество имеющихся у них серверов превышает 20, они теряют представление о том, на каком этаже у них стоит какой сервер, и какая операционная система на нем выполняется," - говорит Donna Dillenberger, главный технический сотрудник Центра им. Watson.

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

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

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

Быстрое восстановление

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

Одно из действенных усилий в этом направлении предпринято Калифорнийским университетом, David Patterson из Berkly известен, помимо других своих заслуг, там, что изобрел RAID-подход к памяти. Существующий год проект Recovery-Oriented Computing (ROC), он предпринял совместно с Armando Fox из Stanford, отходит от общего подхода к проектированию систем, предупреждающих сбоев, и делает ударение на ускоренном восстановлении. ROC финансируется Национальным Научным Фондом, Microsoft, Hewlett-Packard, Velocity и IBM.

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

Другое намерение проекта ROC - добавить поддержку команды UNDO в масштабах целой системы. Если пользователь любого персонального пакета - от текстового процессора до электронной почты - делает ошибку, пакет дает возможность легко исправить эту ошибку. Простое нажатие комбинации клавиш возвращает систему назад в ее состояние перед выполнением неправильной команды. Проект ROC состоит в распространении этого свойства на целую систему, например, почтовый сервер. Таким путем, если ваша входная папка почтовых сообщений будет случайно уничтожена, компьютер может найти папку и вернуть ее.

"Undo - это трехшаговый процесс поворота времени вспять, разрешения проблемы и возврата системы к текущему времени," - говорит Patterson.

Однако при применении Undo к более сложным проблемам возникают трудности. Например, если почтовое сообщение было случайно загружено без фильтрации вирусов, говорит Patterson, ROC должен дать возможность системному администратору вернуться состояние сервера перед фильтрацией сообщения, установить фильтр вирусов, а затем выполнить операцию заново с фильтрацией. Дело, однако, будет обстоять труднее, если кто-то откроет сообщение, зараженное вирусом до того, как выполнится Undo.

Сетки и стандарты

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

Согласно IBM, открытые стандарты не только существенно важны для внедрения технологий АВ, они также являются игровым полем для компаний, вводящих инновации. "Мы хотим вводить наше промежуточное программное обеспечение на основе рыночной конкуренции с одинаковыми наборами стандартов," - говорит директор Исследовательского Центра Almaden Robert Morris. "Люди будут покупать наши тостеры потому что они лучше поджаривают хлеб, а не потому что они единственные имеют штепсель, подходящий к розетке."

Уже сейчас IBM, HP, Microsoft, Sun и другие IT-фирмы и университеты предоставляют базовые правила для совместного использования приложений и вычислительных ресурсов через Internet. Проект Globus с многими учредителями является попыткой создать вычислительную сетку совместно используемых ресурсов. В ходе работы над проектом форум Global Grid в феврале ввел Архитектуру Сервисов Открытой Сетки (Open Grid Service Architecture), набор спецификаций и стандартов, применимых к совместному использованию ресурсов и Web-служб.

"В технологии АВ нет секретов," -добавляет Morris. "Мы уже знаем, как делать многие вещи, но мы пока не применили их. Но применение так же важно, как и изобретение."


КаталогИндекс раздела

 

 

 

 

 

 

 

 

 

 

 

 

Построение памяти из взаимозаменяемых кирпичиков

IBM строит самоуправляемый модульный сервер хранения данных, известный как IceCube, используя Коллективные Интеллектуальные Кубики (CIB). Каждый CIB имеет сторону 15 см, он содержит двенадцать жестких дисков по 100-GB, микропроцессор Pentium под управлением Linux и шесть соединителей (по одному на каждой стороне) с пропускной способностью 10 Gb/s. Прототип, содержащий 27 кубиков, будет закончен в конце этого года.

Назад


 

 

 

 

 

 

 

 

 

 

 

 

Не путать "сеть", "сетевой" (network) с "сетка", "сеточный" (grid) - прим.перев.

Назад


 

 

 

 

 

 

 

 

 

 

 

 

См. также "Самоизлечивающаяся компьютерная система" на нашем сайте. - прим.перев.

Назад


 

 

 

 

 

 

 

 

 

 

 

 

По-видимому, имеется в виду способность ящерицы к регенерации. - прим. перев.

Назад


 

 

 

 

 

 

 

 

 

 

 

 

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

Назад