Тема ноябрьского 2006 года номера журнала Computer (IEEE Computer Society, Vol. 39, No. 11, November 2006)— масштабирование науки системного уровня (Scaling System-Level Science).
Этой теме посвящены три большие статьи и объемная вводная заметка приглашенных редакторов. В таком качестве на этот раз выступают Ян Фостер (Ian Foster) и Карл Кессельман (Carl Kesselman). Их заметка называется «Масштабирование в системных исследованиях: ИТ в науке» (Scaling System-Level Science: Scientific Exploration and IT Implications)*.
В качестве эпиграфа к заметке использовано известное высказывание профессора Принстонского университета Роберта Калдербанка (Robert Calderbank): «Иногда путем героических усилий вы может что-то заставить работать. Однако для достижения следующего порядка масштабируемости требуется понять, почему это работает, обобщить и упростить задачу».
Землетрясение повредило дом Кессельмана. Естественно, его волнует, насколько вероятно, что при следующем землетрясении будет разрушен новый дом, находящийся недалеко от предыдущего? Хотя все еще невозможно предсказать, когда произойдет следующее землетрясение, компьютерные технологии в принципе позволяют предсказать, как оно будет происходить и к каким разрушениям приведет. Ученые, изучающие такие вопросы, вовлекаются в науку системного уровня: интеграцию разнообразных источников знаний о составляющих частях сложной системы с целью получения понимания свойств системы в целом. Подходы системного уровня становятся важными во все возрастающем числе областей — от астрономии до зоологии.
Эти тенденции имеют существенные последствия для ИТ: в науке системного уровня интегрируются не только различные дисциплины, но и программные системы, данные, вычислительные ресурсы и люди. Таким образом, для самой науки системного уровня требуется создание нового вида систем, в которых могло бы объединяться большое число физических и людских компонентов. Важность и сложность исследований системного уровня вызывает желание у специалистов в области компьютеров понять, что можно сделать для облегчения построения сообществ и программных систем, поддерживающих науку системного уровня.
Первая статья подборки называется «От молекулы к человеку: поддержка принятия решений в индивидуализированном электронном здравоохранении» (From Molecule to Man: Decision Support in Individualized E-Health). Авторами статьи являются Петер Слут (Peter Sloot), Альфредо Тирадо-Рамос (Alfredo Tirado-Ramos), Илкай Алтинтас (Ilkay Altintas), Мариан Бубак (Marian Bubak) и Чарльз Бучер (Charles Boucher).
Сложные человеческие системы включают уникальные и различимые компоненты: биологические клетки состоят из тысяч молекул, иммунные системы включают миллиарды клеток, а человеческое общество насчитывает более 6 млрд. индивидуумов. Каждый ген в клетке, каждая клетка в иммунной системе, каждый индивидуум в человеческом обществе обладает характерным поведением и вносит свой уникальный вклад в систему. Полный каскад от генома до человеческого тела в целом образует междисциплинарные системы, обладающие существенно разными пространственными и временными характеристиками. При взаимодействиях между этими системами порождаются сложные сети, в которых каждый компонент контактирует со многими партнерами. Понимание и количественная оценка меры этой сложности, а также умение совладать с ними входят в число величайших научных проблем нашего времени.
В архитектуре компьютерных систем отражаются такие же законы и принципы организации, что и в индивидуализированных биомедицинских системах. В биомедицине возрастает число приложений, позволяющих в дополнение к исследованиям в естественных и лабораторных условиях проводить исследования с использованием компьютеров путем моделирования большего числа деталей биомедицинских процессов. Использование этих модельных процессов помогает врачам принимать решения на основе исследования различных сценариев. Примеры таких процессов — предоперационное моделирование и визуализация сосудистой хирургии, а также применение экспертных систем для классификации лекарственных средств.
Достижения в технологиях Internet и grid позволяют использовать огромные объемы данных, поступающих от сенсоров и генерируемых в различных натурных и модельных экспериментах. Однако между используемыми приложениями и доступными технологическими достижениями имеется значительный разрыв: недоиспользуются имеющиеся вычислительные и интеграционные возможности, недостаточно применяются средства совместной работы нескольких приложений и их взаимодействия. Для ликвидации этого разрыва в системной биологии требуется построение и интеграция различных моделей, а также эффективное управление ими. Здесь не работает подход «сверху-вниз», управляемый данными: для интеграции зачастую несовместимых приложений и инструментов сбора, регистрации, хранения, организации, анализа и представления данных используются Web-сервисы и средства grid.
Даже при наличии возможности решения вычислительных и интеграционных проблем требуется подход системного уровня для ликвидации разрыва в области совместной работы приложений. Такой подход должен включать совместное использование процессов, данных, информации и знаний вне пределов географических и организационных границ в контексте распределенных междисциплинарных, межорганизационных групп (так называемых «виртуальных организаций»). Наконец, требуются интуитивные методы динамической рационализации этих процессов в зависимости от их доступности, надежности и конкретных интересов врачей, хирургов, клинических экспертов, исследователей и конечных пользователей. Один из вариантов поддержки таких методов может опираться на научные потоки работ, когда на языке определения потоков работ выражаются потоки данных и действий от одного шага к другому.
В статье описывается основанная на grid система поддержки принятия решений в области инфекционных заболеваний ViroLab, которая используется для индивидуализированной классификации лекарственных средств при заболеваниях, вызываемых вирусом иммунодефицита человека (ВИЧ). Сложная проблема лекарственной устойчивости ВИЧ требует системного подхода. Во-первых, речь идет об углубляющейся общемировой проблеме, и терапия в сочетании с антиретровирусными препаратами оказывается неспособной к подавлению вируса для ряда ВИЧ-инфицированных пациентов. Во-вторых, лекарственная устойчивость ВИЧ — одна из немногих областей медицины, в которых широко доступна и многие годы используется общая информация. В дополнение к клиническим данным имеется большой объем информации о сложных генетических последовательностях.
Следующая статья — «Многошкальное моделирование: стандарты проекта защиты Physiome, инструменты и базы данных» (Multiscale Modeling: Physiome Project Standards, Tools, and Databases) — написана Питером Хантером (Peter Hunter), Уилфредом Ли (Wilfred Li), Эндрю Маккалохом (Andrew McCulloch) и Денисом Ноблом (Denis Noble). Биологическую сложность в количественном отношении можно понять только с использованием математики — языка количественной науки. Еще в 1865 году основатель экспериментальной физиологии Клод Бернар писал: «Все науки должны стремиться к применению математики к естественным явлениям». Будучи борцом за применение в физиологии экспериментальных методов, Бернар предвидел наступление времени, когда эта область науки станет математической. Однако биологическая сложность характеризуется тесной связью, существующей между шкалами разной длины: от нанометрового размера молекул до структурированных шкал метрового диапазона всего человеческого тела. Тонкие изменения в молекулярной структуре вследствие мутации одного гена могут привести к катастрофическим расстройствам на уровне органов, таким как сердечная недостаточность. Имеются и потоки информации, движущиеся в противоположном направлении, — механорецепторы на клеточном уровне воспринимают механическую нагрузку опорно-двигательного аппарата и воздействуют на экспрессию генов через сигнальные трансдукционные пути. Таким образом, для интерпретации взаимодействий, происходящих между генами и протеинами с клетками, тканями, органами и системами органов, требуется многошкальная математическая инфраструктура моделирования. Еще более впечатляющим является диапазон временных шкал: от наносекундных молекулярных событий до процесса старения человека, который длится 2109 секунд.
Математические модели биологических процессов обеспечивают средства описания поведения этих процессов и количественное понимание связи таких компонентов, как протеины и малые молекулы, между собой и с поведением системы в целом. Мощность моделей частично связана с их возможностью априорного определения физических ограничений. Эта мощность также частично определяется возможностью описания на уровне модели биологических процессов, которые слишком сложно было бы понять с помощью других методов, и возможностью обеспечения численных предсказаний поведения, которые исследователи могут впоследствии проверить на основе экспериментов. Для описания биологических процессов разработаны три стандартных языка: CellML, Systems Biology Markup Language и FieldML.
Цель проекта Physiome — создание каркаса для многошкального анатомического и биофизического моделирования человеческого тела. Проект очень сложен и требует большого числа вычислительных ресурсов. Кроме развития стандартов языков разметки и модельных репозиториев, он также вносит инновации в области управления научными потоками работ, интеграции и обеспечения доступа к информации, вычислений на основе кластеров и grid, а также организации сред международного сотрудничества.
Последнюю статью тематической подборки представили 14 авторов из десяти американских университетов. Первыми в списке числятся два автора из университета Индианы Бет Плейл (Beth Plale) и Денис Гэннон (Dennis Gannon). Статья называется «CASA и LEAD: адаптивная киберинфраструктура для многошкального предсказания погоды в реальном времени» (CASA and LEAD: Adaptive Cyberinfrastructure for Real-Time Multiscale Weather Forecasting). В то время как сегодняшние предсказания генерируются на основе фиксированного расписания, новые радарные технологии и усовершенствованные методы физики делают возможными предсказания «по запросу» в соответствии с текущими погодными событиями. Эти предсказания основываются на региональных атмосферных данных, поступающих в реальном времени, и для них требуются значительные вычислительные ресурсы также в реальном времени.
В двух взаимосвязанных проектах Collaborative Adaptive Sensing of the Atmosphere (www.casa.umass.edu) и Linked Environments for Atmospheric Discovery (lead.ou.edu) разрабатывается аппаратная и программная инфраструктура для обеспечения многошкальных предсказаний погоды в реальном времени. CASA и LEAD являются автономными системами, предоставляющими разные возможности сообществам своих пользователей, но при совместном использовании они представляют смену парадигмы науки об атмосфере в двух отношениях. Во-первых, метеорологи могут напрямую взаимодействовать с данными, поступающими от инструментов, а также самостоятельно управлять этими инструментами. Во-вторых, в отличие от традиционных подходов к предсказанию погоды, при использовании которых генерируются статические предсказания с фиксированным циклом, в CASA и LEAD образуется интерактивный замкнутый цикл между анализом предсказаний и инструментами. Инструментами управляют данные, которые для обеспечения более правильных предсказаний уточняются в повторяющемся цикле.
Мезомасштабная метеорология состоит в исследовании мелкомасштабных погодных явлений, таких как сильные штормы, торнадо и ураганы. В этом контексте наука системного уровня несет ответственность за имеющиеся модели предсказания погоды, а также за крупномасштабные вычислительные ресурсы, на основе которых генерируются предсказания. Преследуются четыре строго определенные цели.
- Возможность динамической самонастройки потоков работ. Предсказания формируются в контексте потока работ, или графа задач. Необходима возможность динамической реконфигурации потоков работ в соответствии с возникновением новых событий.
- Динамическое выделение ресурсов. Система должна быть в состоянии динамически распределять ресурсы, включая радары и технологии удаленного наблюдения, для оптимизации сбора данных, а также запрашивать громадные объемы вычислительных ресурсов «на лету».
- Непрерывное выявление признаков и анализ данных. Система должна непрерывно выявлять существенные погодные признаки и анализировать данные, поступающие из наблюдательных инструментов, для уточнения процесса выявления признаков.
- Самонастраиваемость моделей. Вычислительные модели часто выполняются по два часа и больше. В идеале модели должны сами динамически реагировать на изменения в атмосферных условиях.
Полностью адаптивную инфраструктуру было бы невозможно реализовать ни в одном из двух проектов в отдельности.
Еще две большие статьи не вошли в тематическую подборку. Статья «Будущее имитационного моделирования: поле чудес» (The Future of Simulation: A Field of Dreams?) написана Джошуа Йи (Joshua Yi), Лиевеном Екхаутом (Lieven Eeckhout), Дэвидом Лилья (David Lilja), Брэдом Калдером (Brad Calder), Лизой Джон (Lizy John) и Джеймсом Смитом (James Smith). По причине сложности компьютерных систем исследователи используют симуляторы для моделирования поведения систем и генерации количественных оценок ожидаемой эффективности. Симуляторы используются также для моделирования и оценки эффективности будущих усовершенствуемых и создаваемых заново систем. К примеру, на первом Международном симпозиуме по компьютерным архитектурам только два доклада из 28 посвящались имитационному моделированию, а в 1985 году доля таких докладов составило 27,9%, в 1993-м — 71,9%, а в 2004-м — 87%. Эти цифры показывают, что имитационное моделирование является важным компонентом исследований компьютерных архитектур. Однако имеется несколько важных вопросов.
Действительно ли популярные симуляторы правильно моделируют поведение процессоров и систем? Имеются ли бреши в технологии имитационного моделирования, и, если да, то в чем они состоят? Какими должны быть существенные свойства будущих симуляторов? Действительно ли эталонные тестовые наборы отражают свойства типичных приложений? Как можно разрабатывать репрезентативные эталонные тесты без придания набору тестов свойства избыточности? Каким образом запускать тестовые наборы для отражения реальной рабочей нагрузки? Являются ли методологии симуляции достаточно точными, чтобы допускать независимое воспроизведение результатов? Можно ли добавить в эти методологии научную строгость?
На Международном симпозиуме по анализу производительности систем и программного обеспечения в 2004 году была организована панельная дискуссия, посвященная инфраструктуре имитационного моделирования, эталонным тестовым наборам и методологии симуляции. Большая часть этих вопросов касается исследователей, однако некоторые из них затрагивают также проектировщиков компьютеров и разработчиков, которые полагаются на имитационное моделирование в процессе разработки. Более того, методы, используемые в академии, могут, в конце концов, распространиться и на производство.
Статью «Разработка интегрированной архитектуры шлюзов безопасности содержимого сетей» (Designing an Integrated Architecture for Network Content Security Gateways) написали Йинг-Дар Лин (Ying-Dar Lin), Чин-Вей Ян (Chih-Wei Jan), По-Чинг Лин (Po-Ching Lin) и Юань-Ченг Лай (Yuan-Cheng Lai). Большинство систем поддержки безопасности содержимого сетей, распознающих и блокирующих вирусы, спам и другие вторжения, разрабатывается в расчете на независимое функционирование или на перенаправление трафика от других устройств.
Исследователи в этой области концентрируются на повышении производительности. Например, системы могут быть распределенными, разделяя общий трафик на порции приемлемого объема. Кроме того, можно ускорять обработку содержимого пакетов, например, разработаны различные алгоритмы для ускорения классификации пакетов, а алгоритмы, основанные на сопоставлении сигнатур, ускоряют проверку контента как на аппаратном, так и на программном уровнях. В других реализациях анализируются архитектурные аспекты. Однако недостаточное внимание уделяется интегрированным архитектурам безопасности контента. Производители коммерческих систем, таких как шлюзы безопасности Astaro, продукты FortiGat компании Fortinet, экраны L7 Networks, провозглашают интеграцию различных функций, таких как обнаружение и блокировка вторжений, блокирование спама и Web-фильтрация. Однако эти продукты являются «черными ящиками», не допускающими изучения принципов их работы.
Авторы интегрируют пять популярных пакетов категории Open Source, предназначенных для поддержки безопасности содержимого. Snort (www.snort.org) — система выявления и предотвращения сетевых вторжений, захватывающая сетевые пакеты и анализирующая их содержимое на предмет соответствия сигнатурам различных атак и зондирований. Система может блокировать злоумышленный трафик, а также распознавать и регистрировать его. ClamAV (www.clamav.net) — набор антивирусных средств, включающих демон и команду сканирования вирусов, библиотеку для разработки сканеров вирусов и базу данных об известных вирусах. В SpamAssassin (spamassassin.apache.org) используются различные проверки для выявления сигнатур спама — программа, написанная на языке Perl, работает с многочисленными почтовыми серверами, включая Sendmail и Postfix. Также написанная на Perl программа amavisd (www.ijs.si/software/amavisd) обеспечивает интерфейс между агентом доставки почты и системами проверки контента (в частности, с ClamAV и SpamAssassin). DansGuardian (dansguardian.org) — фильтр Web-контента, анализирующий Web-страницы с использованием методов сопоставления фраз, URL-фильтрации и т.д. Программа работает с прокси-системами наподобие Squid (www.squid-cache.org).
Используя набор внешних и собственных тестовых наборов, авторы сравнивали интенсивность потока пакетов при проверке контента в случае использования слабо интегрированных средств с соответствующим показателем при использовании интегрированного шлюза поддержки безопасности контента. Исследования показали, что эта новая архитектура позволяет существенно снизить накладные расходы на межпроцессные взаимодействия и переключения между режимами пользователя и ядра.
До следующей встречи, Сергей Кузнецов (kuzloc@ispras.ru).
* Перевод статьи см. в текущем выпуске журнала «Открытые системы». — Прим. ред.