Первая статья – «Open Cirrus: всемирный испытательный стенд облачных вычислений» (Open Cirrus: A Global Cloud Computing Testbed) примечательна тем, что ее исключительно длинный список авторов (18 человек) возглавляет Арутюн Аветисян, ученый секретарь Института системного программирования РАН, хотя статья интернациональная: среди авторов специалисты из компаний Hewlett-Packard, Intel, университетов США и Германии, организаций Сингапура, Малайзии и Кореи.
В ИТ-сообществе растет интерес к облакам, однако часто оказывается трудно достигать надежных результатов без доступа к крупномасштабным распределенным центрам обработки данных. Кроме того, исследователям в области управления приложениями полезно иметь возможность контроля за процессом размещения и использования услуг средствами распределенного испытательного стенда облачных технологий.
Коммунальные компьютерные службы с оплатой услуг по мере их потребления, поддерживаемые, например, компанией Amazon, и новые инициативы компаний Google, IBM, Microsoft и Национального научного фонда США начали предоставлять доступ исследователям приложений в областях машинного обучения и научных вычислений к крупномасштабным кластерным ресурсам. Однако исследователи, разрабатывающие методы и программную инфраструктуру облаков, по-прежнему сталкиваются со сложностями при получении низкоуровневого доступа к таким ресурсам.
Стенд Open Cirrus (opencirrus.org) позволяет решить эту проблему, предоставляя разработчикам коммерческих и свободно доступных систем, приложений и служб единый испытательный полигон, состоящий из различных распределенных центров данных1.
Сегодня стенд состоит из десяти центров обработки данных в Северной Америке, Европе и Азии (рис. 1). В каждом центре имеется кластер, содержащий не менее тысячи процессорных ядер. Зарегистрированные пользователи могут обращаться для получения сервисов к любому узлу Open Cirrus.
Следующая статья называется «Стоит ли арендовать услуги в облаках хранения данных?» (To Lease or Not to Lease from Storage Clouds) и написана Эдвардом Уокером (Edward Walker), Уолтером Брисконом (Walter Brisken) и Джонатаном Ромни (Jonathan Romney).
В 2008 году во всем мире было продано около 590 млн устройств хранения данных на жестких дисках – по оценкам исследователей из Калифорнийского университета Беркли (www2.sims.berkeley.edu/research/projects/how-much-info-2003), 92% из пяти экзабайт новой информации, произведенной в 2002 году, хранилось на магнитных носителях, в основном на дисках.
В то же время расширяется бизнес по продаже инфраструктурных сервисов в облаках, что позволяет организациям и отдельным людям удовлетворять свои ИТ-запросы в удаленных центрах данных, платя только за предоставляемые услуги. В 2008 году общий объем облачной индустрии оценивался в 16 млрд долл., а к 2012 году ожидается рост до 42 млрд. Например, сервис S3 (Simple Storage Service) компании Amazon обеспечивает пользователям возможность хранения в репозиториях произвольных объектов объемом до 5 Гбайт. В конце 2008 года Amazon сообщила, что в S3 хранится более 40 млрд объектов.
Существенный рост требований к хранению данных и возможность аренды сервисов хранения ставят организации перед выбором: когда выгоднее покупать устройства хранения, а когда – арендовать соответствующие инфраструктурные сервисы? Разработаны многочисленные модели, призванные помогать компаниям при принятии решения, однако мало исследований по сравнительному применению этих моделей. Проведен серьезный анализ стоимости выполнения научных экспериментов с использованием облачных сервисов Amazon (www.cse.usf.edu/~anda/papers/AmazonS3_TR.pdf и montage.ipac.caltech.edu/publications/deelman_sc08_corrected.pdf), но результаты трудно обобщить вне контекста.
Предлагаемая авторами статьи модель позволяет произвести необходимые оценки и сравнение расходов. Эта модель, основанная на данных по стоимости дисковых устройств (данные собирались авторами по публикациям Pricewatch.com), нейтральна по отношению к приложениям, использующим облачные службы хранения данных. В собранных данных отслеживаются самые низкие цены на дисковые устройства SATA со времени появления этой технологии в 2003 году. Важность этих данных определяется тем, что именно технология SATA чаще всего используется в настольных ПК и серверах среднего класса.
Последнюю статью тематической подборки представили Картик Кумар (Karthik Kumar) и Юнг-Хсианг Лю (Yung-Hsiang Lu). Статья называется «Облачные вычисления для мобильных пользователей: может ли разгрузка вычислений сократить энергопотребление?» (Cloud Computing for Mobile Users: Can Offloading Computation Save Energy?).
В облаках ресурсами владеет и управляет провайдер сервисов, а пользователь получает доступ к ним через Интернет. Эта технология предоставляет множество преимуществ для компаний: более низкие капиталовложения, сокращенное время появления новых сервисов, меньшие эксплуатационные затраты, более высокий коэффициент использования за счет применения виртуализации, более простое восстановление после аварийных ситуаций и т.д. Во многих публикациях (например, в queue.acm.org/detail.cfm?id51646 и video.google.com/videoplay?docid=-6856727143023456694#) говорится о выгоде, получаемой при переносе вычислений в облачную среду из среды настольной.
А что можно сказать о пользе облаков для мобильных пользователей? Основными ограничениями мобильного компьютинга являются дефицит энергопитания и пропускной способности беспроводных сетей. Облачные технологии могут помочь мобильным пользователям сократить энергопотребление, хотя при этом возникает несколько особых проблем.
Мобильные системы, например смартфоны, для многих пользователей являются основной компьютерной платформой. Во многих исследованиях отмечается, что главным требованием пользователей к таким системам является возможность более долгой работы с питанием от батарей. Например, в исследовании компании ChangeWave (digitaldaily.allthingsd.com/20090821/iphone-owners-would-like-to-replace-battery-att) отмечается, что короткий срок службы батарей является наиболее частой претензией к iPhone 3GS, а опрос, проведенный компанией Nokia в 2009 году, показал, что недолгое время жизни батарей вызывает недовольство пользователей музыкальных телефонов.
Для многих приложений требуется слишком большая процессорная мощность, чтобы можно было выполнять их в мобильной системе. Если мобильному пользователю желательно использовать такие приложения, то вычисления лучше выполнять в облаках. Другие же приложения, например распознавание голоса, навигация и т.д., вполне можно поддерживать в мобильной системе, однако они потребляют достаточно много энергии. Можно ли сократить энергопотребление за счет выгрузки этих приложений в облачную инфраструктуру?
Идея перемещения вычислений на другую машину не нова, и популярная сегодня модель «клиент-сервер» позволяет мобильным пользователям через Web-браузеры искать в Internet или делать покупки. Отличие облаков от существующей модели состоит в применении виртуализации, позволяющей поставщикам облачных услуг выполнять любые приложения различных пользователей в виртуальных машинах (рис. 2).
Таким образом, поставщики облачных услуг предоставляют пользователям процессорную мощность, а пользователи могут применять ее для сокращения объема вычислений, выполняемых в мобильных системах, уменьшая тем самым энергопотребление.
Вне тематической подборки опубликованы три большие статьи. Авторами статьи «Обучение техническим и компьютерным наукам на основе решения головоломок» (Puzzle-Based Learning for Engineering and Computer Science) являются Николас Фолкнер (Nickolas Falkner), Збигнев Михалевич (Zbigniew Michalewicz) и Раджа Сооримарту (Raja Sooriamurthi).
В статье «Головоломные проблемы вычислительной техники», опубликованной в журнале Computer в марте 2009 года, описывался семинар в Калифорнийском университете в Санта-Барбаре, проведенный для привлечения первокурсников к компьютерным специальностям. Автор той статьи утверждал, что привлечение студентов к компьютерным наукам и техническим программам – это только один из путей решения проблемы сокращения числа подготовленных ИТ-специалистов. Он отметил, что требуются дополнительные способы мотивации студентов в добавление к тем стратегиям, которые указаны в рекомендациях по составу учебных программ от IEEE Computer Society и ACM.
На самом деле проблема еще шире. Сегодняшний рынок нуждается в большем числе подготовленных выпускников университетов, способных решать реальные проблемы инноваций в изменяющейся среде. В нынешних программах обучения техническим и компьютерным дисциплинам отсутствует направленность на развитие навыков решения проблем.
Хотя некоторые курсы отвечают этим требованиям, большинство студентов так и не узнает о том, как подходить к решению проблем в общем случае. Во время всего обучения они ограничиваются ответами на вопросы из учебников, для чего достаточно воспользоваться материалом соответствующей главы. Эта ограниченная форма подготовки не дает достаточной базы для решения проблем реального мира, когда студенты сталкиваются с задачами, для решения которых нет готовых указаний. Взять хотя бы задачу о плитке шоколада: прямоугольная плитка шоколада состоит из m х n маленьких прямоугольников и требуется разломать ее на составные части. На каждом шаге можно отломить только один кусок по любой вертикали или горизонтали. При каком способе потребуется минимальное число шагов?
Если ответ неизвестен, то в каком учебнике можно было бы найти решение? То же самое можно сказать про многие проблемы реального мира – в каком учебнике следует искать решение, если вы не обучены стратегии решения проблем независимо от природы задачи. В то же время преподавателям интереснее учить думать, чем заставлять студентов зубрить содержимое учебников, хотя еще недавно доминировал именно второй подход.
Кроме того, многие аналитики сетуют на снижение уровня математической подготовки студентов. В выпущенном в 2008 году внутреннем отчете университета Аделаиды говорится, что «имеется срочная надобность в поднятии авторитета математики среди молодежи» и что «упадок интереса к математике и родственным наукам свойствен не только Австралии».
В университетах Карнеги-Меллона и Аделаиды введен новый курс, цель которого состоит в повышении математического уровня студентов и привитии им навыков решения проблем на основе обсуждения разнообразных головоломок и стратегий их решения. Курс основан на лучших традициях, введенных Дьердем Пойа и Мартином Гарднером более шестидесяти лет тому назад.
Статью «Использование кодексов поведения для разрешения правовых споров» (Using Codes of Conduct to Resolve Legal Disputes) представили Питер Эйкен (Peter Aiken), Роберт Стэнли (Robert Stanley), Хуанита Биллингс (Juanita Billings) и Люк Андерсон (Luke Anderson).
При возникновении правовых споров основное внимание судей, присяжных заседателей и арбитражных комиссий привлекает интерпретация фактов. В случаях невыполнения условий контракта им требуется сопоставить имеющиеся факты с текстом контракта, в котором обычно говорится, что услуги должны предоставляться в соответствии с промышленными стандартами. Судьи руководствуются четко сформулированными стандартами, применимыми к данному случаю, и используют их для оценки поведения сторон, участвовавших в контракте. В случае же отсутствия пригодных опубликованных стандартов они все более полагаются на кодексы поведения (Сode of Сonduct, CoC) для установления объективного контекста. На самом деле они успешно применяют кодексы поведения (включая кодекс ACM/IEEE-CS) даже в тех случаях, когда стороны не имеют отношения к организациям, поддерживающим данный кодекс.
В статье иллюстрируется применение кодексов поведения в искусственно воссозданном случае неудачного внедрения ERP (на основе реальных подобных случаев). Истец и ответчик представили арбитражной комиссии противоречивые интерпретации одних и тех же фактов. С точки зрения истца, ответчик не смог осуществить обещанную миграцию системы ERP, ответчик же возражает на это, что миграцию задержало наличие дефектных и некачественных данных. Используя кодекс поведения ACM/IEEE-CS, эксперты уверили арбитражную комиссию в том, что позиция ответчика несостоятельна, и арбитражная комиссия присудила истцу многомиллионное возмещение убытков.
Список больших статей апрельского номера журнала завершает статья «Связывание разработки программного обеспечения с бизнес-стратегией на основе измерений» (Linking Software Development and Business Strategy Through Measurement), написанная группой авторов из Фраунгоферовского института экспериментальной программной инженерии, первым в списке которых числится Виктор Базили (Victor Basili).
Большинство организаций, разрабатывающих программное обеспечение, стараются сохранять свои конкурентные преимущества за счет уменьшения рисков. Для эффективного управления рисками требуется согласование бизнес-целей со стратегиями разработки и преобразование полученных результатов в количественный план управления проектом. Кроме того, организации должны обосновывать расходы и ресурсы, требуемые для разработки программного обеспечения, а также необходимость использования других ИТ-сервисов. Часто для этого требуется конкретная демонстрация того, каким образом данная разработка будет способствовать достижению общих бизнес-целей организации. Такому согласованию и обоснованию мешает отсутствие методов связывания бизнес-целей и усилий, относящихся к разработке программного обеспечения. Без глубокого понимания соответствия разработки программного обеспечения бизнес-целям организации лица, принимающие решения, не могут ни планировать развитие, ни оценивать успех стратегии разработки в масштабе всей организации.
Авторы разработали подход GQM+Strategies, основывающийся на логическом обосновании принятия решений относительно того, когда и как следует преобразовывать цели в операции и как следует оценивать успех стратегий в соответствии с этими целями. Как показывает название подхода, GQM+Strategies базируется на парадигме цель/вопрос/показатель (goal/question/metric, GQM, ftp.cs.umd.edu/pub/sel/papers/gqm.pdf), расширенной возможностью создания измерительных программ, обеспечивающих согласование целей и стратегий от наивысших уровней бизнес-стратегии до отдельных проектов по разработке программного обеспечения. Хотя этот подход возник из опыта разработки программного обеспечения, его можно применять и в других областях.
Как обычно, сейчас можно оформить подписку на членство и периодические издания IEEE Computer Society на второе полугодие 2009 года (www.computer.org/portal/web/membership/benefits) — рекомендую обратить на это внимание,
Сергей Кузнецов (kuzloc@ispras.ru).
В условиях компьютеризации множества сфер нашей жизни перед информатикой встают новые задачи по созданию моделей для областей исследований, которые невозможно описать математическими уравнениями. Однако соответствующих специалистов сегодня в стране не готовят.
http://www.osp.ru/os/2010/03/13001924