Темой ноябрьского номера журнала является масштабирование науки системного уровня («Scaling System-Level Science»). Этой теме посвящены три больших статьи журнала и объемная вводная заметка приглашенных редакторов, в качестве которых на этот раз выступают Ян Фостер и Карл Кессельман (Ian Foster, Argonne National Laboratory, Carl Kesselman, USC Information Sciences Institute). Их заметка называется «Масштабирование науки системного уровня: научные исследования и последствия для IT» («Scaling System-Level Science: Scientific Exploration and IT Implications»).
В качестве эпиграфа к заметке использовано часто цитируемое высказывание профессора Принстонского университета Роберта Калдербанка (Robert Calderbank): «Иногда путем героических усилий вы может что-то заставить работать. Однако для достижения следующего порядка масштабируемости требуется понять, почему это работает, обобщить и упростить задачу.»
В 1994 г. вследствие Нортриджского землетрясения был серьезно поврежден дом Карла Кессельмана в Санта-Монике, шт. Калифорния. Естественно, у него имеется вопрос: насколько вероятно, что при следующем землетрясении будет разрушен новый дом, находящийся всего кварталах от предыдущего? Удивительно, но оказывается, что ответ на этот вопрос не является полностью недоступным.
Хотя все еще невозможно предсказать, когда произойдет следующее землетрясение, компьютерные технологии в принципе позволяют предсказать, как будет происходить землетрясение, и, следовательно, к каким разрушениям оно приведет. Возможность таких предсказаний основывается на совместном использовании знаний о том, как разлом землетрясения зарождается в системе разломов, как разлом создает волны сжатия на земной поверхности, как эти волны сжатия вызывают перемещение земной поверхности и, наконец, как это перемещение воздействует на здания.
Ученые, изучающие такие вопросы, вовлекаются в науку системного уровня: интеграцию разнообразных источников знаний о составляющих частях сложной системы с целью получения понимания свойств системы в целом. Такие подходы системного уровня становятся важными во все возрастающем числе областей, от астрономии до зоологии.
Эти тенденции имеют существенные последствия для информационной технологии, поскольку в науке системного уровня интегрируются не только различные дисциплины, но также и программные системы, данные, вычислительные ресурсы и люди. Наука системного уровня обычно является групповым делом. Данные поступают из разных источников, разные группы разрабатывают модели компонентов, члены группы обеспечивают специализированную экспертизу, и часто сами вычислительные ресурсы являются разнородными и распределенными. Таким образом, для самой науки системного уровня требуется создание нового вида систем, в которых могло бы объединяться большое число физических и людских компонентов.
Эти сложности означают, что объединение людей, инфраструктуры, программного обеспечения и политик, требуемых для решения сложной проблемы системного уровня, может быть трудной задачей. Даже сегодня, несмотря на наличие значительного числа инструментальных средств, для успешного решения проблем требуется героическое (по крайней мере, существенное) программирование. Важность и сложность исследований системного уровня вызывает желание у специалистов в области компьютеров понять, что можно сделать для облегчения построения сообществ и программных систем, поддерживающих науку системного уровня. В частности, следуя Роберту Калдербанку, можно задать вопрос: что мы можем сделать для облегчения масштабирования науки системного уровня, исходя из масштабности проблемы, количества имеющихся ресурсов и числа участников проекта?
Для ответа на этот вопрос требуется анализ природы науки системного уровня и ее проблематики, а также архитектурных конструкций и технологий, которые могут оказаться полезными при решении этих проблем. Сквозная природа проблем науки системного уровня не позволяет использовать традиционные способы построения программ для поддержки конкретных исследований и склоняет к созданию научных средств, доступных в виде независимых и постоянно доступных сервисов, которые могут использоваться исследователями в различных крупномасштабных проектах.
Первая основная статья из тематической подборки называется «От молекулы к человеку: поддержка принятия решений в индивидуализированном электронном здравоохранении» («From Molecule to Man: Decision Support in Individualized E-Health»). Авторами статьи являются Петер Слут, Альфредо Тирадо-Рамос, Илкай Алтинтас, Мариан Бубак и Чарльз Бучер (Peter M.A. Sloot, University of Amsterdam, Alfredo Tirado-Ramos, University of Amsterdam, Ilkay Altintas, University of California, San Diego, Marian Bubak, AGH University of Science and Technology, Charles Boucher, Utrecht University).
Сложные человеческие системы включают уникальные и различимые компоненты: биологические клетки состоят из тысяч молекул, иммунные системы включают миллиарды клеток, а наше общество насчитывает более 6 миллиардов индивидуумов. Каждый ген в клетке, каждая клетка в иммунной системе, каждый индивидуум в человеческом обществе обладает характерным поведением и вносит уникальный вклад в систему.
Полный каскад от генома, протеома, метаболома и физиома до здоровья образует многошкальные междисциплинарные системы, обладающие существенно разными пространственными и временными характеристиками. При взаимодействиях между этими системами порождаются сложные сети, в которых каждый компонент контактирует со многими партнерами. Понимание и количественная оценка меры этой сложности, а также умение совладать с ней входят в число величайших научных проблем нашего времени.
Компьютерная наука обеспечивает язык, требуемый для изучения и понимания этих систем. В архитектуре компьютерных систем отражаются законы и принципы организации, аналогичные тем, на основе которых строятся индивидуализированные биомедицинские системы, и это может привести к изменениям в областях физиологии, терапии и исследований реакций на воздействие лекарственных средств.
В биомедицине возрастает число приложений, позволяющих, в дополнение к исследованиям в естественных и лабораторных условиях, проводить исследования с использованием компьютеров путем моделирования большего числа деталей биомедицинских процессов. Использование этих модельных процессов помогает врачам принимать решения на основе исследования различных сценариев. Примерами таких процессов являются предоперационное моделирование и визуализация сосудистой хирургии, а также применение экспертных систем для классификации лекарственных средств.
В то же время появляется возможность использования новых видов компьютерных ресурсов и данных. В области высокопроизводительных вычислений по мере перехода к параллельным и распределенным вычислениям новаторские продукты распространяются в области физики, химии, биологии, а теперь и медицины. Кроме того, достижения в областях технологии Internet и Grid позволяют использовать огромные объемы данных, поступающих от сенсоров и генерируемых в различных натурных и модельных экспериментах. Однако между используемыми приложениями и доступными технологическими достижениями все еще имеется значительный разрыв: недоиспользуются имеющиеся вычислительные и интеграционные возможности, недостаточно применяются средства совместной работы нескольких приложений и их взаимодействия.
Для ликвидации этого разрыва в системной биологии требуется построение и интеграция различных моделей, а также эффективное управление ими. Здесь не работает подход «сверху-вниз», управляемый данными. Для интеграции зачастую несовместимых приложений и инструментальных средств сбора, регистрации, хранения, организации, анализа и представления данных используются Web- и Grid-сервисы.
Даже при наличии возможности решения вычислительных и интеграционных проблем требуется подход системного уровня для ликвидации разрыва в области совместной работы приложений и их взаимодействия. Такой подход должен включать совместное использование процессов, данных, информации и знаний вне пределов географических и организационных границ в контексте распределенных междисциплинарных, межорганизационных объединенных групп, или виртуальных организаций.
Наконец, требуются интуитивные методы динамической рационализации этих процессов в зависимости от их доступности, надежности и конкретных интересов врачей, хирургов, клинических экспертов, исследователей и конечных пользователей. Один из вариантов поддержки таких методов может опираться на научные потоки работ, когда на языке определения потоков работ выражаются потоки данных и действий от одного шага к другому.
Описывается основанная на использовании Grid система поддержки принятия решений в области инфекционных заболеваний ViroLab. Система используется для индивидуализированной классификации лекарственных средств при заболеваниях, вызываемых вирусом иммунодефицита человека (ВИЧ). Сложная проблема лекарственной устойчивости ВИЧ используется в качестве основы разработки общего подхода системного уровня по двум причинам. Во-первых, лекарственная устойчивость ВИЧ является углубляющейся общемировой проблемой, и терапия в сочетании с антиретровирусными препаратами оказывается неспособной к подавлении вируса для ряда ВИЧ-инфицированных пациентов. Во-вторых, лекарственная устойчивость ВИЧ является одной из немногих областей медицины, в которых широко доступна и многие годы используется общая информация. В результате, в дополнение к клиническим данным доступно большое число сложных генетических последовательностей.
Следующая статья - «Многошкальное моделирование: стандарты проекта Physiome, инструментальные средства и базы данных» («Multiscale Modeling: Physiome Project Standards, Tools, and Databases») - написана Питером Хантером, Вилфредом Ли, Эндрью Маккулохом и Денисом Ноблом (Peter J. Hunter, Bioengineering Institute, University of Auckland, Wilfred W. Li, San Diego Supercomputer Center, University of California, San Diego, Andrew D. McCulloch, University of California, San Diego, Denis Noble, University Laboratory of Physiology, Oxford).
Биологическую сложность в количественном отношении можно понять только с использованием математики, языка количественной науки. Еще в 1865 г. основатель экспериментальной физиологии Клауд Бернард (Claude Bernard) писал, что «все науки должны стремиться к применению математики к естественным явлениям». Будучи борцом за применение в физиологии экспериментальных методов, Бернард предвидел наступление времени, когда эта область науки станет математической.
Однако биологическая сложность характеризуется тесной связью, существующей между шкалами разной длины: от нанометрового размера молекул до структурированных шкал метрового диапазона всего человеческого тела. Тонкие изменения в молекулярной структуре вследствие мутации одного гена могут привести к катастрофическим расстройствам на уровне органов, таким как сердечная недостаточность по причине возвратной аритмии, ведущей к фибрилляции желудочков.
Но имеются и потоки информации, движущиеся в противоположном направлении. Механорецепторы на клеточном уровне воспринимают механическую нагрузку опорно-двигательного аппарата и воздействуют на экспрессию генов через сигнальные трансдукционные пути. Таким образом, для интерпретации взаимодействий, происходящих между генами и протеинами с клетками, тканями, органами и системами органов, требуется многошкальная математическая инфраструктура моделирования. Еще более впечатляющим является диапазон временных шкал: от нано- или микросекундных молекулярных событий до процесса старения человека, который к 70 годам длится 2 × 109 секунд.
Математические модели биологических процессов, основанных, например, на сигнальном трансдукционном пути или наборе трансмембранных ионных каналов, обеспечивают средства описания поведения этих процессов и количественное понимание связи таких компонентов, как протеины и малые молекулы, между собой и с поведением системы в целом.
Мощность моделей частично связана с их возможностью априорного определения физических ограничений, таких как сохранение массы или заряда. Эта мощность также частично определяется возможностью описания на уровне модели биологических процессов, которые слишком сложно было бы понять с помощью других методов, и возможностью обеспечения численных предсказаний поведения, которые исследователи могут впоследствии проверить на основе экспериментов. Для описания биологических процессов разработаны три стандартных языка: CellML, Systems Biology Markup Language и FieldML.
Целью проекта Physiome является обеспечение каркаса для многошкального анатомического и биофизиологического моделирования человеческого тела. Проект является очень сложным и требует большого числа вычислительных ресурсов. Кроме развития стандартов языков разметки и модельных репозиториев, он также вносит инновации в области управления научными потоками работ, интеграции и обеспечения доступа к информации, вычислений на основе кластеров и Grid, а также организации сред международного сотрудничества.
Последнюю статью тематической подборки представили 14 авторов из 10 университетов США. Первыми в списке числятся два автора из университета штата Индиана: Бет Плейл и Денис Гэннон (Beth Plale, Dennis Gannon, Indiana University Bloomington). Статья называется « CASA и LEAD: адаптивная киберинфраструктура для многошкального предсказания погоды в реальном времени» («CASA and LEAD: Adaptive Cyberinfrastructure for Real-Time Multiscale Weather Forecasting»).
Современные достижения в области аппаратуры и программного обеспечения компьютеров ведут к революции в области метеорологических исследований и предсказаний. В то время как сегодняшние предсказания генерируются на основе фиксированного расписания, новые радарные технологии и усовершенствованные методы физики делают возможными предсказания «по запросу» в соответствии с текущими погодными событиями. Эти предсказания основываются на региональных атмосферных данных, поступающих в реальном времени, и для них требуются значительные вычислительные ресурсы также в реальном времени.
В двух взаимосвязанных проектах Collaborative Adaptive Sensing of the Atmosphere и Linked Environments for Atmospheric Discovery разрабатывается аппаратная и программная инфраструктура для обеспечения многошкальных предсказаний погоды в реальном времени. CASA и LEAD являются автономными системами, предоставляющие разные возможности своим сообществам пользователей, но при совместном использовании они представляют смену парадигмы науки об атмосфере в двух отношениях. Во-первых, метеорологи могут напрямую взаимодействовать с данными, поступающими от инструментов, а также самостоятельно управлять этими инструментами. Во-вторых, в отличие от традиционных подходов к предсказанию погоды, при использовании которых генерируются статические предсказания с фиксированным циклом, в CASA и LEAD образуется интерактивный замкнутый цикл между анализом предсказаний и инструментами. Инструментами управляют данные, которые для обеспечения более правильных предсказаний уточняются в повторяющемся цикле.
Мезомасштабная метеорология состоит в исследовании мелкомасштабных погодных явлений, таких как сильные штормы, торнадо и ураганы. В этом контексте наука системного уровня несет ответственность за имеющиеся модели предсказания погоды, а также за крупномасштабные вычислительные ресурсы, на основе которых генерируются предсказания. Преследуются четыре строго определенные цели. Возможность динамической самонастройки потоков работ. Предсказания формируются в контексте потока работ, или графа задач. Должна иметься возможность динамической реконфигурации потоков работ в соответствии с возникновением новых событий. Динамическое выделение ресурсов. Система должна быть в состоянии динамически распределять ресурсы, включая радары и технологии удаленного наблюдения, для оптимизации сбора данных, а также запрашивать громадные объемы вычислительных ресурсов «на лету». Непрерывное выявление признаков и анализ данных. Система должна быть в состоянии непрерывно выявлять существенные погодные признаки и анализировать данные, поступающие из наблюдательных инструментов, для уточнения процесса выявления признаков. Самонастраиваемость моделей. Вычислительные модели часто выполняются по два часа и больше. В идеале модели должны сами реагировать на изменения в атмосферных условиях в течение своего выполнения.
Полностью адаптивную инфраструктуру было бы невозможно реализовать ни в одном из двух проектов в отдельности. Этой цели удается достичь только при объединении обоих проектов.
В ноябрьском номере также опубликованы две большие статьи, не вошедшие в тематическую подборку. Статья «Будущее имитационного моделирования: поле чудес?» («The Future of Simulation: A Field of Dreams?») написана Джошуа Йи, Лиевеном Екхаутом, Дэвидом Лийа, Брэдом Калдером, Лизой Джон и Джеймсом Смитом (Joshua J. Yi, University of Minnesota, Minneapolis, Lieven Eeckhout, Ghent University, Belgium, David J. Lilja, University of Minnesota, Minneapolis, Brad Calder, University of California, San Diego, Lizy K. John, University of Texas at Austin, James E. Smith, University of Wisconsin-Madison).
По причине огромной сложности компьютерных систем исследователи используют симуляторы для моделирования поведения систем и генерации количественных оценок ожидаемой эффективности. Исследователи также используют симуляторы для моделирования и оценки эффективности будущих усовершенствуемых и создаваемых заново систем. Симуляторы, вероятно, являются наиболее важными инструментальными средствами для исследователей компьютерных архитектур. Современные системы имитационного моделирования обладают сбалансированными характеристиками стоимости, временных затрат и гибкости.
По этим причинам исследователи архитектур все более полагаются на использование симуляторов. В частности, на первом Международном симпозиуме по компьютерным архитектурам (International Symposium on Computer Architecture) только два доклада из 28 (7.1%) посвящались имитационному моделированию. В 1985 г. число таких докладов составило 27.9%, в 1993 г. - 71.9%, в 1997 г. - 80% и в 2004 г. - 87%. Эти цифры показывают, что имитационное моделирование является важным компонентом исследований компьютерных архитектур. Хотя имеется серьезная (и возрастающая) зависимость от общей технологии имитационного моделирования, архитекторы используют разнообразные методологии, эталонные тестовые наборы и наборы данных. В результате возникает несколько важных вопросов по поводу процесса симуляции.
Действительно ли популярные симуляторы правильно моделируют поведение процессоров и систем? Имеются ли бреши в технологии имитационного моделирования, и, если имеются, в чем они состоят? Какими должны быть существенные свойства будущих симуляторов? Действительно ли эталонные тестовые наборы отражают свойства типичных приложений? Как можно разрабатывать репрезентативные эталонные тесты без придания набору тестов свойства избыточности? Каким образом запускать тестовые наборы для отражения реальной рабочей нагрузки? Являются ли методологии симуляции достаточно точными, чтобы допускать независимое воспроизведение результатов? Можно ли добавить в эти методологии научную строгость?
Для стимулирования анализа этих вопросов на Международном симпозиуме по анализу производительности систем и программного обеспечения в 2004 г. была организована панельная дискуссия, посвященная инфраструктуре имитационного моделирования, эталонным тестовым наборам и методологии симуляции. Большая часть этих вопросов касается исследователей, однако некоторые из них затрагивают также проектировщиков компьютеров и разработчиков, которые полагаются на имитационное моделирование в процессе разработки. Более того, методы, используемые в академии, могут, в конце концов, распространиться и на производственную практику.
Заключительная большая статья называется «Разработка интегрированной архитектуры шлюзов безопасности содержимого сетей» («Designing an Integrated Architecture for Network Content Security Gateways»). Статью написали Йинг-Дар Лин, Чин-Вей Ян, По-Чинг Лиин и Юань-Ченг Лай (Ying-Dar Lin, Chih-Wei Jan, Po-Ching Lin, National Chiao Tung University, Hsinchu, Taiwan, Yuan-Cheng Lai, National Taiwan University of Science and Technology, Taipei, Taiwan).
Большинство систем поддержки безопасности сетевого содержимого, распознающих и блокирующих вирусов, червей, Троянских коней, спам и другие вторжения, разрабатывается в расчете на независимое функционирование или на перенаправление трафика от других устройств. Возрастающая мощность компьютеров делает экономически целесообразной интеграцию нескольких функций в едином шлюзе, но в индустрии существуют разногласия относительно предпочтительности такого решения. Отдельные устройства могут нацеливаться на выполнение конкретных функций и являются более надежными и масштабируемыми. С другой стороны, управление многочисленными разнородными системами приводит к значительным временным и денежным затратам.
Исследователи в этой области концентрируются, прежде всего, на повышении производительности. Например, системы сетевой безопасности для повышения уровня масштабируемости могут делаться распределенными, и общий трафик разделяется на порции приемлемого объема. Кроме того, можно ускорять обработку содержимого пакетов. Например, разработаны различные алгоритмы для ускорения классификации пакетов, а алгоритмы, основанные на сопоставлении сигнатур, ускоряют проверку контента как на аппаратном, так и на программном уровнях. В других работах анализируются архитектурные аспекты, такие как программные каркасы для обеспечения более устойчивой защиты на основе брандмауэров, сплайсинг NPC для ускорения перенаправления пакетов в прокси-системах приложений, возможности использования множественных нитей управления.
Однако недостаточное внимание уделяется интегрированным архитектурам безопасности контента. Производители коммерческих систем, таких как шлюзы безопасности Astaro, продукты FortiGat компании Fortinet , брандмаэры L7 Networks, провозглашают интеграцию различных функций, таких как обнаружение и блокировка вторжений, блокирование спама и фильтрация Web. Однако эти продукты являются «черными ящиками», не допускающими изучения внутренних принципов их работы.
С целью исследования этой проблемы авторы интегрируют пять популярных пакетов категории open source, предназначенных для поддержки безопасности содержимого. Snort - это система выявления и предотвращения сетевых вторжений, захватывающая сетевые пакеты и анализирующая их содержимое на предмет соответствия сигнатурам различных атак и зондирований. Система может блокировать злоумышленный трафик, а также просто распознавать и регистрировать его. ClamAV - это набор антивирусных инструментальных средств, включающих демон и команду сканирования вирусов, библиотеку для разработки сканеров вирусов и базу данных об известных вирусах. В SpamAssassin используются различные проверки для выявления сигнатур спама. Программа, написанная на языке Perl, работает с многочисленными почтовыми серверами, включая Sendmail и Postfix. Также написанная на Perl программа amavisd обеспечивает интерфейс между агентом доставки почты и системами проверки контента (в частности, с ClamAV и SpamAssassin). DansGuardian - это фильтр Web-контента, анализирующий Web-страницы с использованием методов сопоставления фраз, фильтрации URL и т.д. Программа работает с прокси-системами, такими как Squid.
Используя набор внешних и собственных тестовых наборов, авторы сравнивали интенсивность потока пакетов при проверке контента с использованием слабо интегрированных средств с соответствующим показателем при использовании интегрированного шлюза поддержки безопасности контента. Исследования показали, что эта новая архитектура позволяет существенно снизить накладные расходы на межпроцессные взаимодействия и переключения между режимами пользователя и ядра. Исследования также продемонстрировали, что основными «узкими местами» обработки контента являются сопоставление строк в ходе Web-фильтрации и обращения к RAM-диску при обработке почты.