Темой ноябрьского номера журанала является "Power-Aware Computing". Как и два года назад (см. обзор декабрьского номера за 2003 г.), я перевожу это длинной, но достаточно точной фразой "Организация вычислений в условиях осведомленности о потребляемой мощности". У тематической части номера нет специального редактора, и она содержит всего три статьи.
Первая из них называется "Разнородные мультипроцессоры на кристалле" ("Heterogeneous Chip Multiprocessors"). Авторы статьи: Ракеш Кумар, Дин Таллсен, Номан Юппи и Партасарати Ранганатан (Rakesh Kumar, Dean M. Tullsen, University of California, San Diego, (Norman P. Jouppi, Parthasarathy Ranganathan, HP Labs). После появления многоядерных микропроцессоров от компаний Intel, AMD, IBM и Sun Microsystems мультипроцессоры на кристалле (Chip Multiprocessors, CMP) перешли из исследовательской области в область реального производства. Если к CMP по-прежнему применим закон Мура, можно ожидать возрастания числа ядер в геометрической прогрессии по мере уменьшения размеров элементов. Важнейшим вопросом CMP являются размер и мощность процессорных ядер. Для многих серверных приложений, прежде всего, важно соотношение производительности и показателей стоимости и потребляемой мощности.
В идеале, в CMP, направленных на поддержку таких приложений, должно использоваться много небольших процессорных ядер, потребляющих мало энергии. Многие исследования в области CMP исходно ориентировались именно на эти виды приложений. Однако пользователи настольных компьютеров в большей степени заинтересованы в эффективности одного или нескольких приложений в данный момент времени. CMP, разработанные в расчете на таких пользователей, вероятно, должны основываться на небольшом числе более крупных, потребляющих большую мощность ядер, которые обладают повышенной однопотоковой производительностью. Тем самым, проектировщики CMP сталкиваются с проблемой конфликтующих требований к построению процессорных ядер.
В действительности приложение далеко не всегда можно точно отнести к одному из упомянутых классов. Многие приложения в одних точках своего выполнения могут нуждаться в повышенной скорости крупного процессорного ядра, а в других - в эффективности небольших ядер. Более того, наилучшее соответствие приложения процессору может зависеть и от контекста использования системы, например, от того, работает ли лаптоп с питанием от батарей или от сети. Поэтому авторы статьи полагают, что наилучшим решением является неоднородный мультипроцессор на кристалле, включающий как упрощенные, так и более сложные ядра.
Проводимые в настоящее время исследования в области неоднородных, или асимметричных CMP показывают их существенное преимущество перед традиционными симметричными CMP по отношению к производительности и потребляемой мощности. Кроме того, применение асимметричных CMP позволяет снизить влияние закона Амдала на производительность параллельных вычислений.
Закон Амдала (см., например, http://cs.nju.edu.cn/~gchen/teaching/fpc/amdahl.ps) утверждает, что увеличение быстродействия параллельного приложения ограничено частью приложения, являющейся последовательной. В современных CMP важным ограничением является рассеяние мощности. В одном из современных исследований (скачать PDF) предлагается следующий подход использования асимметричных CMP. При выполнении последовательных частей приложения весь энергетический потенциал кристалла используется для питания одного крупного процессорного ядра, позволяя ему работать с максимально возможной скоростью. При выполнении параллельных частей приложения энергетический потенциал используется более эффективно для обеспечения питания небольших ядер с низким потреблением мощности. Это позволяет максимизировать отношение показателей производительности и рассеяния мощности.
Для использования преимуществ асимметричных CMP требуется обеспечить ряд новых возможностей программного обеспечения. В частности, системное программное обеспечение должно использовать характеристики выполнения каждого приложения для предсказания его будущих процессорных потребностей и планировать выполнение разных частей приложения на ядрах, которые в наибольшей степени отвечают этим требованиям.
Авторы следующей статьи тематической подборки - Кэк Камерон, Ронг Ге и Ксижоу Фенг (Kirk W. Cameron, Rong Ge, Xizhou Feng, Virginia Tech). Название статьи: "Высокопроизводительные распределенные вычисления для научных приложений в условиях осведомленности о потребляемой мощности" ("High-Performance, Power-Aware Distributed Computing for Scientifc Applications"). Компьютерные модели углубляют наше понимание сложных явлений и косвенно способствуют улучшению качества жизни. Биологическое моделирование последовательностей ДНК и свертывания белка способствует развитию здравоохранения и обнаружению новых лекарственных средств. Математическое моделирование мировой экономики помогает вырабатывать правильные политические линии. Гидродинамическое моделирование климата позволяет более точно предсказывать погоду и предупреждать население о природных катаклизмах. Наномоделирование обеспечивает возможность совершенствования компьютерных технологий.
Развивающиеся параллельные и распределенные системы, разрабатываемые для приложений научного моделирования, отличаются чрезвычайной сложностью и высоким уровнем энергопотребления. Уже сегодня появляются компьютеры, способные выполнять триллион операций с плавающей запятой в секунду (Tflops), а к концу десятиления ожидается появление петафлопных (Pflops) систем, выполняющих квадрильон плавающих операций в секунду. Поскольку у экспертов в области суперкомпьютеров нет общего согласия относительно того, какими должны быть базовые технологии, вероятно, эти системы будут разнообразными. Тем не менее, большинство из них будет строиться на основе коммерческих компонентов в виде интегрированных и масштабируемых кластеров симметричных мультипроцессоров.
Такие решения будут обеспечивать высокий уровень параллелизма на основе использования десятков тысяч ЦП, тера- или даже петабайтной основной памяти и внешней памяти объемом в десятки петабайт. Развитые программные средства будет синхронизовать вычисления и коммуникации различных операционных систем и тысяч компонентов. При том, что возрастающие вычислительные потребности научных приложений ведут к экспоненциальному росту пиковой производительности вычислительных систем, они же приводят к аналогичному росту энергопотребления и сложности крупномасштабных систем, основанных на использовании коммерческих приложений.
Для эффективного использования будущих систем требуется оптимизация соотношения "производительность-энергопотребление". Для сокращения энергопотребления нужна информация о существенных деталях производительности приложения и схеме синхронизации. Возможно централизованное управление, но дополнительные расходы на сбор управляющей информации об энергопотреблении в распределенной системе делают предпочтительными децентрализованное управление.
Для удовлетворения этих потребностей авторы разработали среду PowerPack для профилирования, анализа и управления энергопотреблением в научных приложениях. В PowerPack 1.0 сочетается использование непосредственных измерений энергопотребления с использованием мультиметров, интеллектуальных источников питания и усовершенствованного интерфейса конфигурирования системы и управления энергопитанием (Advanced Configuration and Power Interface, ACPI), а также программных средств сбора, анализа данных и управления. С использованием PowerPack разработчики могут профилировать производительность и энергопотребление компонентов и сокращать энергопитание ЦП в периоды слабой рабочей нагрузки с целью экономии энергии, поддерживая при этом высокий уровень производительности. Библиотечные программы PowerPack позволяют пользователям встраивать в приложения вызовы ACPI и понижать скорость ЦП на основе технологии динамического масштабирования напряжения (Dynamic Voltage Scaling, DVS).
При подаче пониженного напряжения процессор потребляет меньшую мощность, и его производительность уменьшается. Для сохранения высокой производительности научных приложений PowerPack может снижать энергопотребление ЦП на тех фазах выполнения приложения, когда эффективность определяется не скоростью процессора, а возможностями основной памяти или коммуникационной среды. Авторы отмечают, что предлагаемый ими подход может подвергаться критике на основе того, что суперкомпьютеры разрабатываются, прежде всего, с ориентацией на высокую производительность, и снижение пиковой скорости для сохранения энергии равносильно разработке менее производительной машины. Однако они считают подобную логику некорректной.
Существующим сегодня приложениям не всегда требуется пиковая производительность вычислительной системы. Кроме того, число компонентов систем возрастает почти экспоненциально, а надежность этих компонентов возрастает не так быстро. Временное снижение вольтажа на некоторых компонентах системы продлевает их долговечность и способствует общему повышению надежности системы. Наконец, операционная стоимость и надежность системы являются важными факторами разработки машин с предельно высокой производительностью, поскольку о них зависит возможность использования общедоступных компонентов при наличии бюджетных ограничений.
Последняя статья, относящаяся к теме номера, написана Роберто и Оскаром Касасами (Roberto Casas, Oscar Casas, Technical University of Catalonia, Spain) и названа ими "Уточнение состояния батарей при разработке систем, осведомленных об источниках энергии" ("Battery Sensing for Energy-Aware System Design"). Технология портативных электронных устройств быстро развивается. Появляются все более миниатюрные устройства с более развитой функциональностью, более емкой памятью, более быстрыми процессорами, усовершенствованными средствами коммуникации. Повышение уровня полезности этих устройств позволяет предвидеть появление развитых сред "всепроникающих" (pervasive) вычислений и инструментальных систем в форме беспроводных сенсорных сетей.
К сожалению, технологии энергопитания и хранения данных развиваются не настолько же быстро. В то время как скорость процессоров и доступная емкость основной памяти за последние годы увеличились на несколько порядков, плотность энергии батарей всего лишь утроилась. Важной проблемой стало обеспечение должного функционирования портативных устройств в течение максимально возможного времени в условиях ограниченных ресурсов питания.
Кроме совершенствования емкости батарей и сокращения энергопотребления аппаратуры, исследования в этой области включают сбор энергии окружающей среды, разработку более эффективных алгоритмов управления энергопотреблением и методов оптимизации использования батарей. Особой важностью отличаются исследования, связанные с выработкой методов определения степени заряженности батарей (State-Of-Charge, SOC), или их оставшейся энергии.
В то время как большинство предыдущих работ в области контроля аккумуляторных источников энергии фокусировалось на моделировании использования батарей с использованием параметризованных измерений SOC, авторы данной статьи анализируют эти параметры и предлагают коммерческие устройства и практические наборы значений параметров, пригодные к использованию в реальных приложениях, в которых требуется контроль аккумуляторных источников энергии. В наиболее традиционных случаях такой контроль используется для предсказания ожидаемого времени жизни энергоресурса, чтобы предотвращать ситуации неожиданного прекращения подачи питания. Примером такого использования является предупреждение пользователю лаптопа или мобильного телефона, означающее, что он должен либо подсоединить устройство к сети, либо сменить батареи.
Для оптимизации скорости разрядки батарей и избегания необратимого ущерба, который может принести чрезмерная разрядка аккумуляторов в более крупных системах (таких как сенсорные сети или среды всепроникающих вычислений), предупреждение может инициироваться при достижении заранее заданного уровня разрядки. В сенсорных сетях, кроме того, для продления времени жизни сети можно использовать протоколы, позволяющие использовать энергию, оставшуюся в узлах, для вычисления оптимальных коммуникационных маршрутов.
Разработчики портативных устройств должны оценить полезность и важность оценки степени заряженности батарей и подвести баланс между требуемой точностью, сложностью и объемом ресурсов, потребных для оценивания. Для простых и дешевых устройств, не требующих высокой точности контроля оставшейся энергии, наилучшим выбором часто является измерение напряжения. Для более дорогих интеллектуальных аккумуляторов и мониторов уровня заряда батарей должны обеспечиваться более точные предсказания. По мере повышения мощности доступной аппаратуры соответствующие решения можно будет получить на основе реализации усложненных параметризованных моделей.
Вне тематической подборки в ноябрьском номере опубликованы еще две большие статьи. Статью "Возможности и потребности физических вычислительных систем" ("Opportunities and Obligations for Physical Computing Systems") представили Джон Станкович, Инсап Ли, Алоизиус Мок и Радж Раджкумар (John A. Stankovic, University of Virginia, Insup Lee, University of Pennsylvania, Aloysius Mok, mok@cs.utexas.edu, University of Texas at Austin, Raj Rajkumar, Carnegie Mellon University). Наблюдаемое в настоящее время слияние технологий встроенных систем и систем реального времени с беспроводными, сенсорными и сетевыми технологиями приводит к созданию инфраструктуры технической, экономической и социальной революции. Основываясь на бесшовной интеграции вычислений с физическим миром на основе сенсоров и актуаторов, эта революция принесет много пользы. Потенциальное воздействие этой революции может быть сопоставимо с тем, что наблюдается в связи с Internet. Можно предвидеть появление данных и услуг, которые будут доступны в любое время и в любом месте всем людям, а не только технически умудренным организациям и индивидуалам. Наиболее важные системы, используемые на транспорте, в производстве, защите инфраструктуры, управлении процессами и электросетях, станут более эффективными и умелыми. Повысится уровень жизни людей; они будут чувствовать себя более защищенными. Реальностью станут приложения, которые невозможно даже вообразить сегодня.
Хотя составные части этой предвидимой картины существуют уже несколько лет, и она не слишком отличается от известной концепции "всепроникающих" вычислений, авторы статьи полагают, что разработчики должны сфокусироваться на физических аспектах всепроникающих вычислений, на аспектах, относящихся к встроенным системам и системам реального времени. Авторы называют эту область исследований и разработок физическими вычислительными системами.
Для реализации потенциала всепроникающих вычислений разработчики должны создавать не только высокоуровневые программные системы и прикладные решения, но также обеспечивать и низкоуровневые решения на уровне встроенных систем. Для лучшего понимания преимуществ физических вычислений авторы рассматривают три прикладные области: уход за престарелыми людьми (assisted living), системы реагирования на чрезвычайные ситуации и защита важнейших инфраструктур на национальном уровне.
В большинстве развитых стран наблюдается увеличение процентного состава пожилых людей. Многие пожилые люди живут отдельно от молодых родственников. Возможность удаленного мониторинга физического состояния пожилых людей позволяет не только сохранять их жизнь, но и способствует душевному спокойствию родственников.
На удовлетворение этой возрастающей потребности нацелены сенсорные информационные системы ухода за престарелыми (Sensor Information Systems for Assisted Living, SISAL). Такие системы, вероятно, окажут серьезное влияние на общественное благополучие. В общих чертах, SISAL включает интеллектуальные мониторы, самоуправляющиеся устройства, сенсорные сети и информационные системы, разработанные для оказания помощи престарелым и инвалидам. Хотя время жизни некоторых компонентов SISAL достигать 10-20 лет, вычислительные и коммуникационные платформы, поддерживающие инфраструктуру таких систем, могут изменяться гораздо быстрее. Недопустимо возникновение связанных с этим проблем, прерывающих обслуживание пользователей.
Для построения систем с подобными характеристиками требуется проведение ряда исследовательских работ. Физические вычислительные системы в виде беспроводных сенсорных сетей обладают большим потенциалом для обеспечения быстрого реагирования на чрезвычайные ситуации, такие как землетрясения, аварийные разливы химикатов, лесные пожары и террористические атаки.
Для эффективного реагирования на такие чрезвычайные ситуации потребуется быстрое развертывание тысяч сенсорных узлов, возможно, с привлечением авиации. Узлы должен быть дешевыми, и, по-видимому, они будут обладать ограниченными способностями. Однако при совместной работе узлов сеть будет в состоянии оценить ситуацию, определить наличие оставшихся в живых, послать информацию в ближайшую группу службы спасения, определить безопасные пути выхода из зоны бедствия и осуществлять мониторинг дальнейших событий.
Для реализации подобных систем необходимо решить много технических проблем. Например, поскольку сенсорные сети имеют дело с ситуациями реального мира, предоставляемые ими службы должны отвечать определенным временным ограничениям. При наличии ограниченных ресурсов сети и в условиях непредсказуемых ситуаций невозможно гарантировать соблюдение таких ограничений. Более практичными кажутся решения с вероятностным гарантированием ограничений.
Для защиты и совершенствования важных инфраструктур требуется проведение долгосрочных исследований в области технологии физических систем. Нужны новые концепции для реализации надежных и безопасных инфраструктур в сложных сетях взаимодействующих физических систем, таких как электрические сети, телекоммуникации, банки и транспортные системы. Эти динамически реконфигурируемые системы должны иметь дело с реальным миром. Имеющиеся инфраструктуры являются уязвимыми, поскольку традиционные цифровые управляющие системы и системы диспетчерского контроля и сбора данных не интегрированы должным образом с компьютерными сетями, информационной технологией, компьютерной безопасностью и другими аспектами физических вычислительных систем.
Эти инфраструктурные системы становятся все более взаимозависимыми. Например, в системах управления воздушным движением должны учитываться возможности физических или компьютерных атак. Каждый день летают миллионы людей. Воздушное пространство США контролируется с помощью около 500 башен управления воздушным движением вместе со ста восьмьюдесятью радарными управляющими системами и двадцатью маршрутными центрами.
Все эти системы зависят от наличия электропитания. Атаки на электросеть могут повлиять на управление воздушным движением, телекоммуникации и все другие сектора, зависящие от питания. Решения, основанные на физических вычислительных системах, могут быть применены к важнейшим инфраструктурам для повышения их надежности, безопасности и эффективности. Например, можно улучшить физическую безопасность путем окружения физической инфраструктуры беспроводной сенсорной сетью.
Фундаментальной проблемой являются способы эффективного построения крупномасштабных встроенных систем реального времени. Для этого требуется глубокое понимание подходов к моделированию и анализу совокупного поведения крупномасштабных систем. Такое понимание необходимо для предсказания поведения системы и управления им, для надежного и эффективного построения и поддержки таких желательных черт, как простота композиции, анализа, тестирования, диагностики, обеспечение должного качества обслуживания и высоких эксплуатационных характеристик. Авторы классифицируют требуемую исследовательскую работу на следующие категории: теория, моделирование и анализ; абстракции программирования, аппаратное и программное обеспечение встроенных систем; системная интеграция; безопасность и конфиденциальность; верификация и сертификация. Приводится расширенное описание каждой категории.
Последняя большая статья ноябрьского номера - "Научный подход к обнаружению кибератак" ("A Scientific Approach to Cyberattack Detection") - написана Нонг Йе и Тони Фарли (Nong Ye, Toni Farley, Arizona State University). Несмотря на все попытки противодействия, кибератаки на компьютерные и сетевые системы продолжают угрожать глобальной информационной инфраструктуре, нацеливаясь на файлы данных и сервисы. К сожалению, применяемые в настоящее время методы противодействия - предотвращение, обнаружение и реагирование - оказываются неэффективными, неточными и ограниченными. Например, механизмы предотвращения атак затрудняют атаки, но не могут полностью блокировать опытных атакующих, поскольку в компьютерах и сетях имеются мириады неизвестных уязвимостей. Механизмы обнаружения отслеживают системные действия на предмет признаков атаки, но они не могут хорошо работать при наличии новых видов атак или при нестандартном обычном поведении системы.
Наконец, подходы к реагированию направлены на установление и диагностирование маршрутов атак, введении причинно-следственных паттернов и выполнении соответствующих действий, но эти подходы обычно основываются на медленной ручной работе с небольшим пониманием причинно-следственных паттернов и соответствующих данных. Разработчики систем обнаружения, в частности, обычно полагаются на эмпиризм и эвристики, т.е. используют стратегию, лишенную глубокого понимания сигналов, которые атакующий может генерировать в киберпространстве.
Несостоятельными оказываются два наиболее распространенных подхода к распознаванию атак - распознавание сигнатур и обнаружение аномалий. В первом подходе, который в контексте обнаружения кибератак представляет собой распознавание атаки (attack recognition), опытные аналитики фиксируют паттерны сигнатур атак вручную или обнаруживают их автоматически путем анализа данных об активности компьютера или сети под воздействием атаки и при нормальном функционировании. Затем система распознавания атак сопоставляет активности и файлы компьютера или сети с сохраненными сигнатурами атак. При обнаружении сигнатуры атаки (например, трижды отвергнутой попытки входа в систему, что может сигнализировать об атаке с целью нахождения пароля) система инициирует сигнал тревоги. Однако, поскольку система не может знать паттерн сигнатуры новой атаки, распознавание срабатывает не во всех случаях.
У подхода обнаружения аномалий, или отклонения от нормы (non-norm detection) также имеются ограничения, поскольку для него требуется установившаяся модель нормального поведения системы, или профиль нормы (norm profile), чтобы отслеживать активности и измерять отклонения от нормы. Проблемы возникают в тех случаях, когда естественное поведение системы является нерегулярным, из-за чего может возникать много неправильных сигналов тревоги. По этой причине данный подход не применяется в коммерческих системах обнаружения, несмотря на потенциальную возможность обнаружения новых атак.
Другим недостатком обоих подходов является то, что оба они часто не позволяют различить сигнатуры атак и профили нормы. При любой атаке данные об атаке и нормальном использовании перемешиваются, так что результирующие характеристики данных являются слабыми и трудно опознаваемыми. Невозможность разобраться в этой смеси приводит к генерации ложных сигналов тревоги и отсутствию реакции в случае реальной атаки.
Авторы считают, что при наличии этих брешей в точности обнаружения атак наслало время обратить внимание на более научные принципы, подобные тем, на которых основаны модели опознавания сигналов, приспособленные к обработке смеси сигнальных и шумовых данных. При использовании таких моделей было бы возможно разделить характеристики атак и нормы, обеспечивая минимум релевантных данных для точного и эффективного обнаружения широкого диапазона атак. Устойчивые системы, основанные на технологии опознавания сигналов, обеспечили бы глубокое понимание характеристик сигналов и шума. Эти знания, в свою очередь, позволили бы построить математические и статистические модели, позволяющие точно опознать сигнал атаки среди шума нормального использования системы, даже если атака едва различима.