Тематическая подборка содержит четыре большие статьи, а приглашенным редактором является Энн Собель (Ann Sobel), которая не стала писать развернутую вводную заметку, а ограничилась одним абзацем на странице содержания номера. По ее словам, несмотря на то что сложность систем компьютерной безопасности за последнее десятилетие чрезвычайно возросла, высшие чиновники правительства США признают, что усилия, предпринятые в стране для защиты от кибератак, недостаточны. Современное киберпространство включает в себя заказное и серийное коммерческое ПО, открытое ПО, множество унаследованных систем, и общая проблема обеспечения потребителей надежным, проверенным программным обеспечением кажется неразрешимой. Попыткам ее хотя бы частичного решения посвящены статьи тематической подборки журнала.

Первую статью написали Нэнси Мид (Nancy Mead) и Джо Яжомбек (Joe Jarzombek) и называется она «Совершенствование проверенности программного обеспечения на основе государственно-частного сотрудничества» (Advancing Software Assurance with Public-Private Collaboration). В соответствии с определением Комитета США по национальным системам безопасности, надежность, или проверенность, программного обеспечения (Software Аssurance, SwA) означает наличие определенного уровня доверия к тому, что в программах отсутствуют уязвимости, как внесенные преднамеренно, так и появившиеся случайно в любой точке его жизненного цикла, и что программное обеспечение функционирует в соответствии со спецификациями.

В программе обеспечения надежности ПО (Software Assurance Program) отделения национальной кибербезопасности (National Cyber Security Division) Министерства внутренней безопасности США предлагаются механизмы, позволяющие стандартизировать и автоматизировать задачи снижения уровня угроз компьютерной безопасности и выявления программного обеспечения, пригодного для поддержки кибербезопасности. Сообществу SwA предоставляется практическая инфраструктура (рис. 1) для сотрудничества в целях повышения уровня доверия к программному обеспечению на протяжении всего его жизненного цикла (software development life cycle, SDLC). В программе также предусматривается создание более совершенных средств диагностики ПО и поддержки сотрудничества при обнародовании поучительной практики разработки, схем эталонного тестирования, а также соответствующих стандартов безопасности программного обеспечения.

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

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

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

Статью «Движение по направлению к проверенным системам: суть исследований и разработок» (Moving Toward Trustworthy Systems: R&D Essentials) представили Фредерик Шелдон (Frederick Sheldon) и Клэр Вишик (Claire Vishik). В феврале 2010 года бывший директор консорциума OpenNet Initiative Дэннис Блейр информировал Конгресс США о том, что «киберактивность возрастает с невиданной скоростью», и констатировал недостаточность усилий, предпринимаемых в США для защиты от кибератак. С тех пор Пентагон подвергся серии атак, интенсивность которых в настоящее время составляет в среднем 5 тыс. в день. В этих условиях становится критичным надежное ПО, обеспечивающее доверие на всех уровнях: персональном, правительственном и общегосударственном.

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

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

Авторы статьи преследуют цель проинформировать читателей о наиболее существенных результатах исследований и новых проектах, направленных на решение проблем кибербезопасности с новых междисциплинарных позиций. Проведенный анализ основывается на материалах недавних семинаров и совещаний, посвященных поиску новых подходов к обеспечению компьютерной безопасности. Точнее, авторы концентрируются на результатах работы рабочей группы 6th Annual Cyber Security and Information Intelligence Research Workshop (www.csiir.ornl.gov/csiirw)  и сообщества Federal Cybersecurity R&D Themes Kickoff Event, организованного в рамках программы Network and Information Technology Research and Development (NITRD; www.nitrd.gov/CSThemes.aspx).

Автором статьи «Встраивание дисциплины ‘Проверенность программного обеспечения’ в систему высшего образования» (Fitting Software Assurance into Higher Education) является Сэмуэль Редвайн (Samuel  Redwine). В разумной практике разработки программного обеспечения используются три принципа: выяснение требований, использование правильных процессов и демонстрация того, что создан правильный продукт. Третий принцип является фундаментальным для обеспечения надежности программного обеспечения, но обычно в вузах упор делается на втором принципе – использовании правильных процессов. В учебных программах, относящихся к инженерии программного обеспечения и управлению информацией, первый принцип (установка требований) затрагивается лишь частично, но обычно студентам выдаются спецификации, что позволяет им проигнорировать важный шаг выяснения требований. Еще хуже то, что в таких курсах проявляется тенденция к замалчиванию методов обеспечения надежности ПО и в разных учебных заведениях к студентам предъявляются разные требования при тестировании программ. Сплошь и рядом допускается, чтобы студенты производили тестирование только уже готовой программы, вместо того чтобы приучать их включать тестирование во все шаги разработки.

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

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

Потребуются время и готовность отказаться от старых подходов и воспользоваться учебниками, посвященными более актуальным вопросам безопасности и тестопригодности. В некоторых учебных заведениях, например, в Высшей школе военно-морских сил и Университете Джеймса Мэдисона уже предпринимаются попытки включить в учебную программу вопросы надежности ПО. В статье не предлагается какой-либо общий способ реализации необходимых изменений (вероятно, в разных учебных заведениях потребуется применять разные подходы), а лишь описываются составные части дисциплины «Надежность программного обеспечения», которым следует посвятить разделы учебных программ.

Последний материал тематической подборки – «Безопасность программного обеспечения в реальном мире» (Software Security in the Real World) – представляет собой интервью с директором по технологиям компании Cigital Гэри Мак-Гроу, который много сделал в сфере надежности программного обеспечения. Дисциплина «Надежность программного обеспечения» обрела зрелость в последние полтора десятилетия — за это время Мак-Гроу написал книги Building Secure Software (1999 год) и Software Security (2006 год). Сегодня вместе со своими коллегами он исследует актуальные проекты в области безопасности программного обеспечения и готовит отчеты о полученных результатах (Cigital – это консалтинговая компания в области безопасности и качества программного обеспечения).

По результатам своих исследований компания построила модель BSIMM (Building Security In Maturity Model – «Создание безопасности в зрелой модели», bsimm2.com). BSIMM базируется на изучении подходов к обеспечению безопасности программного обеспечения в 30 компаниях. На основании наблюдений за тем, что делают эти компании, с некоторой долей уверенности можно сказать, какие методы годятся для обеспечения безопасности программного обеспечения.

В конце интервью Энн Собель спросила Мак-Гроу, какой он ожидает увидеть область надежности программного обеспечения в 2020 году. Тот ответил, что в области безопасности программного обеспечения за последние 15 лет достигнут большой прогресс, было выпущено немало хороших книг (например, Gasser, M. Building a Secure Computer System. Reinhold, 1988) и статей (например, Smashing the Stack for Fun and Profit и Checking for Race Conditions in File Accesses), однако область безопасности программного обеспечения была крошечной и невозможно было убедить людей этим заниматься. Сегодня всем понятно, что безопасность программного обеспечения заслуживает самого пристального внимания, только не очень ясно, что же именно нужно делать.

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

Вне тематической подборки в сентябрьском номере журнала Computer опубликованы две статьи. Вей Тан (Wei Tan), Ян Фостер (Ian Foster) и Джиа Жанг (Jia Zhang) представили работу «Сетевой анализ научных потоков работ: путь к повторному использованию» (Network Analysis of Scientific Workflows: A Gateway to Reuse). Для ускорения насыщенных данными научных исследований во многих дисциплинах, включая биологию и биомедицину, применяются потоки работ для организации конвейеров обработки данных и Web-сервисы для выполнения вычислений. В этих потоках точно описывается многошаговая процедура компоновки задач и организации потока данных. Сервисная технология вычислений позволяет ученым представлять данные и вычислительные ресурсы в виде Web-сервисов, публично доступных для использования другими исследователями.

Коммерческие потоки работ, как правило, ориентированы на потребности отдельных компаний и редко выходят за их границы. В отличие от этого научный мир является более открытым, и исследователи часто публикуют спецификации потоков работ, чтобы поделиться своей методикой с коллегами, которые используют эти потоки работ в неизменном виде или компонуют на их основе новые потоки работ. В последние годы было образовано несколько специализированных онлайн-репозиториев потоков работ, включая английский проект myExperiment (www.myexperiment.org), собравший более 1000 потоков работ из области общественных наук. Авторы статьи проанализировали потоки работ, спецификации которых сохраняются в этом репозитории, и им удалось ответить на два важных вопроса: в чем состоят паттерны использования Web-сервисов в современных научных потоках работ и как можно извлечь эти знания, чтобы облегчить повторное использование? На основе результатов исследования авторы предлагают новую среду CASE (Collection, Annotation, Search, rEcommendation), поддерживающую повторное использование научных потоков работ (рис. 2).

Рис. 2. Среда CASE для поддержки повторного использования потоков работ

Последняя большая статья сентябрьского номера называется «Влияние систематических ошибок опущенных переменных на оценку качества оптимизации программ» (The Effect of Omitted-Variable Bias on the Evaluation of Compiler Optimizations), и написана она Тоддом Митковичем (Todd Mytkowicz), Амером Диваном (Amer Diwan), Матиасом Хаусвиртом (Matthias Hauswirth) и Питером Суини (Peter Sweeney). Центральное место в науке занимают эксперименты. В начале исследования эксперименты выполняются для понимания природы изучаемой системы, возможно, для выяснения критических параметров ее функционирования и других уязвимостей. Позже эксперименты выполняются для оценки поведения системы после ее изменений или для проверки гипотез. Неправильно поставленный эксперимент может привести к получению недостоверных результатов. Например, предположим, что мы производим опрос жителей какого-то небольшого американского городка и на основании результатов этого опроса предсказываем итоги общенациональных выборов. В США имеется множество различных групп людей с разными взглядами. В отдельном небольшом городе проживают только некоторые из этих групп, и пропорциональный состав населения не такой, как в целом в стране. Таким образом, этот эксперимент дефектен, поскольку в нем не учитывается систематическая ошибка выборки.

Если при организации эксперимента должным образом не учесть все переменные, которые могут повлиять на его результат (значимые переменные), то это может привести к появлению систематической ошибки в результатах этого эксперимента. В статистике ошибки этого вида называются систематическими ошибками опущенных переменных (omitted-variable bias, OVB).

Проблема OVB свойственна всем экспериментальным наукам. Допустим, мы постулируем, что некоторый метод L повышает производительность программ. Мы выполняем эксперимент для оценки этого метода в какой-то одной экспериментальной среде (программа, компьютер, входные данные и т. д.) и на основе этого эксперимента заключаем, что метод L является полезным в целом. Этот эксперимент дефектен. При использовании единственной экспериментальной среды игнорируется влияние многих значимых переменных, например влияние объема памяти машины. Если экспериментальная среда не является типичной, результаты эксперимента нельзя применить к общеупотребительным средам.

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

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

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

Макропроблемы микроустройств

Теме Trusted Hardware посвящены лишь две из пяти больших статей. Статью «Прекращение пиратства в области интегральных схем» (Ending Piracy of Integrated Circuits) написали Джаррод Рой (Jarrod Roy), Фариназ Кушанфар (Farinaz Koushanfar) и Игорь Марков (Igor Markov). Рост стоимости производства вынуждает компании, производящие полупроводниковую аппаратуру, переходить к использованию контрактной модели, в которой ведущие разработчики привлекают к производству и сборке иностранные предприятия с меньшими операционными расходами. Например, компания AMD передает производство некоторых видов своих интегральных схем предприятиям, разбросанным по всему миру, а Texas Instruments решила отказаться от внутреннего производства 45-нанометровых полупроводниковых устройств, передав его своим партнерам за пределами США.

Все более важной проблемой правительства и индустрии сегодня становится предотвращение краж конструкторских решений и пиратского воспроизведения интегральных схем партнерами компаний-производителей полупроводниковых приборов. EPIC (Ending Piracy of Integrated Circuits – "прекращение пиратства в области интегральных схем") – новый метод, защищающий чипы в кремниевой «мастерской» путем автоматического и уникального блокирования каждой интегральной схемы с помощью методов асимметричного шифрования, требующего специальный внешний ключ для дешифрации (рис. 3). Такой ключ уникален для каждого чипа, его невозможно воспроизвести, и его может сгенерировать только владелец соответствующих прав на интеллектуальную собственность. Кроме таких автоматически производимых идентификаторов чипов, EPIC опирается на новый комбинированный метод блокирования и оригинальное использование шифрования с открытым ключом (Public-Key Cryptography, PKC).

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

Статью «Надежные аппаратные средства: выявление и классификация аппаратных троянов» (Trustworthy Hardware: Identifying and Classifying Hardware Trojans) написали Рамеш Карри (Ramesh Karri), Джевавиян Раджендран (Jeyavijayan Rajendran), Курт Розенфельд (Kurt Rosenfeld) и Мохаммад Техранипур (Mohammad Tehranipoor). В течение десятилетий цифровые системы разрабатывались в предположении, что используемые аппаратные средства, хотя и не являются абсолютно надежными, но не содержат злонамеренных закладок, однако сегодня это предположение становится все более сомнительным. Во всей индустрии электронных аппаратных средств внутренние процессы компаний-поставщиков постепенно заменяются внешними, а собственные системы автоматизации проектирования этих компаний вытесняются коммерческим программным обеспечением. Свои библиотеки для синтеза логических ячеек замещаются «IP-ядрами» (intellectual property core) сторонних компаний. Производство фотошаблонов и изготовление полупроводниковых приборов отдается внешним компаниям, производящим также и постпроизводственное тестирование. Как можно обеспечить надежность систем при отказе от контроля за производством базовых аппаратных средств?

В соответствии с исследованием, выполненным в 2005 году научным советом министерства обороны США, Пентагоном потребляется только один или два процента интегральных схем от их общего объема потребления в Соединенных Штатах. Но хотя это составляет лишь малую долю коммерческого рынка, данные интегральные схемы критичны для национальной безопасности. Требуется отдельная, «безопасная» цепочка поставок таких чипов, однако это невозможно по экономическим соображениям — неизбежна зависимость критических систем от средств электроники, произведенных на заводах, которым невозможно полностью доверять, и нарушение безопасности может произойти на разных стадиях цепочки поставки электроники, а не только на стадии производства. ФБР США в 2004-2006 годах обнаружило контрафактные маршрутизаторы Cisco в оборонных, финансовых и университетских сетях — эти подделки отличались низким качеством производства и высокой интенсивностью сбоев. Что позволило контрафактной продукции проникнуть в цепочку поставок? ФБР установило, что американские компании закупали эти электронные устройства напрямую или через посредников у ненадежных зарубежных поставщиков. Кроме того, эти устройства приобретались в режиме онлайн на сайтах аукционов или реселлеров. Похоже, злоумышленники желали всего лишь заработать, однако данный пример живо иллюстрирует уязвимость типичных цепочек поставок.

Проблема низкого качества контрафактной электроники вторична по отношению к угрозе безопасности. К числу примеров возможных злонамеренных действий, производимых пиратскими интегральными схемами, относятся вывод системы из строя за счет срабатывания «кремниевой бомбы с часовым механизмом», похищение секретной информации с использованием некоторого «стороннего канала» (side channel) или нанесение вреда путем удаленного управления системой. Если раньше заклинаниями служили «проектирование с учетом технологических требований» (design for manufacturability) и «проектирование контролепригодных схем» (design for testability), то новым заклинанием должно стать «проектирование с учетом требований надежности» (design for trust). Надежные аппаратные средства должны отвечать следующим требованиям:

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

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

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

Вне тематической подборки в октябрьском номере журнала опубликованы три большие статьи. Статью «Реформирование учебных программ в области информационно-коммуникационной технологии с целью лучшего удовлетворения профессиональных потребностей» (Reforming ICT Graduate Programs to Meet Professional Needs) представили Серджио Лиус Торал (Sergio Luis Toral), Мария Росио Мартинес-Торрес (María Rocio Martínez-Torres) и Федерико Барреро (Federico Barrero). В эпоху знаний ИКТ обладают почти неограниченной сферой применений, и вузы должны этому содействовать. К сожалению, учебные программы в этой области не всегда поддерживают требуемые обществом и индустрией уровни компетентности и профессионализма. Осознавая наличие этого разрыва, многие страны Европейского союза стремятся реформировать свои системы высшего образования, например предпринимаются попытки к получению общего качественного выигрыша путем поддержки и развития стандартов образовательных систем в масштабе всей Европы. В частности, Болонский процесс концентрируется на выполнении правовых реформ, а также на развитии педагогической инфраструктуры, способствующей большему привлечению студентов к учебному процессу.

Одной из главных целей Болонского процесса является формирование Общеевропейского пространства высшего образования (European Higher Education Area, EHEA), содействующего большей ориентации образовательного процесса на учащихся. В свете этих изменений разработчики учебных программ должны стремиться к тому, чтобы студенты лучшее понимали изучаемые дисциплины и приобрели навыки, которыми должны обладать выпускники вуза. Эти компетенции должны также содействовать самообразованию на протяжении всей жизни профессионалов в своей и в соседних областях. Для определения таких компетенций в ЕС выполнялось несколько проектов, из которых наиболее заметны Tuning Project, Definition and Selection of Competencies (DeSeCo) и Career-Space. Наибольшее отношение к ИТ имеет проект Career-Space, результаты которого включают рекомендации правительства ЕС и ведущих представителей индустрии.

К сегодняшнему дню удалось создать углубленные профессиональные профили в области ИТ-образования, и чтобы способствовать лучшему понимаю компетенций, связанных с этими профилями, авторы статьи проанализировали учебные магистерские программы в области ИТ в странах Болонского процесса и сравнили эти программы с профилями, которые были получены при выполнении проекта Career-Space. Это сравнение показывает, что только в восьми из этих программ студенты получают компетенции более чем двух профилей, в частности, недостаточное внимание уделяется менеджменту в области ИТ. Результаты исследования могут лечь в основу плана реформ учебных программ, направленных на обеспечение более полного соответствия учебных программ требованиям практики.

Нир Кшетри (Nir Kshetri) представил статью «Облачные вычисления в развивающихся экономиках» (Cloud Computing in Developing Economies). Сектору облачных вычислений в развивающихся странах уделяется значительное внимание со стороны как международных, так и местных ИТ-компаний, национальных правительств и международных организаций. Например, IBM образовала центры облачных вычислений в Китае, Индии, Вьетнаме, Бразилии и Южной Корее. Активный поиск возможностей в развивающемся мире ведут другие игроки, работающие на ниве облаков: Microsoft, VMware, Salesforce и Parallels. Возможно, еще большее впечатление производит то, что в «облачный» фургон успели запрыгнуть и национальные компании развивающихся стран, в экономики которых течет венчурный капитал и другие инвестиции, имеющие отношение к облакам. Можно сказать, что большего внимания в связи ни с какой другой существенной технологической инновацией развивающийся мир еще не получал.

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

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

В ряде обзоров отмечается, что многие сомневаются в безопасности облаков. В апреле 2010 года аналитики IDC провели опрос в связи с облаками в Австралии, Китае, Гонконге, Индии, Южной Корее и Сингапуре. Лишь 10% респондентов уверены в безопасности облаков. Критики также отмечали наличие проблем, связанных с низкой пропускной способностью каналов связи и отсутствием взаимодействия заказчиков и поставщиков. Важнейшей проблемой облаков в развивающихся странах является разрыв между теорией и практикой.

Последнюю большую статью номера «Предсказание объема требуемых ресурсов на основе сценариев для обработки медийных данных с учетом QoS» (Scenario-Based Resource Prediction for QoS-Aware Media Processing) написали Хуан Хамерс (Juan Hamers) и Ливен Екхаут (Lieven Eeckhout). При проектирования встраиваемых процессоров чрезвычайно остро встает проблема обеспечения все более высокой производительности при снижении уровня энергопотребления. Это можно отчетливо видеть на примере эволюции рынка мобильных телефонов — сегодняшние смартфоны обеспечивают выполнение различных приложений: игры, поиск в Web, мгновенные сообщения, электронная почта и т.д. Вместе с тем, время жизни батарей значительно возросло. Индустрия встраиваемых процессоров перешла к использованию многоядерной обработки данных для обеспечения высокой производительности, одновременно с этим реализуя методы управления энергопотреблением, такие как динамическое масштабирование напряжения и частоты.

К большинству приложений, работающих на мобильных устройствах, предъявляются требования «мягкого» реального времени – например, медиа-декодеры должны декодировать видеокадры в пределах 30 миллисекунд. Аналогично, от интерактивных приложений требуется поддержка гарантированно небольшого времени отклика. Такие приложения должны обеспечивать определенный уровень качества обслуживания (Quality of Service, QoS), однако трудно предсказать объем требуемых ресурсов процессора и энергии, чтобы, например, успеть декодировать следующий кадр до истечения заданного промежутка времени. Задача обеспечения QoS усложняется при использовании многоядерных процессоров, поскольку на разных ядрах выполняются разные приложения, совместно потребляя ресурсы, в частности, батарей. Тем самым, проектировщики сталкиваются с проблемой снижения энергопотребления при одновременном обеспечении заданного уровня QoS для каждого из одновременно выполняющихся приложений.

Авторы разработали основанную на сценариях среду управления ресурсами процессора при одновременной поддержке QoS для современных многоядерных процессоров, на которых выполняются приложения обработки медиапотоков. Как показано на рис. 5, в среде поддерживаются пять основных шагов.

Получение характеристик медиапотоков. Сначала в режиме офлайн производится платформо-независимый анализ набора медиапотоков, описание которых присутствует в базе данных.

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

Аннотирование сценариев. Далее произвольные медиапотоки аннотируются метаинформацией сценариев. Это можно делать после кодирования медиапотока или в процессе его кодирования.

Профилирование клиентской платформы. Затем выполняются прифилирование клиентской платформы и привязка платформенно-независимых сценариев к платформо-зависимым данным о производительности процессора и источниках энергии.

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

Как обычно в это время года, хочу напомнить читателям, что пора оформить свое членство в IEEE Computer Society на будущий год и подписаться на издания этой организации.

До встречи в следующем номере, Сергей Кузнецов (kuzloc@ispras.ru).

Рис. 1. Взаимозависимости между физической инфраструктурой и киберинфраструктурой

Рис. 3. EPIC: a) маршрут проектирования с учетом возможности пиратства, б) активизация и тестирование чипа

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