Предстоящая эпоха: от настольных систем к распределённым вычислениям

Доклад на семинаре кафедры теоретических основ информатики ТГУ, 2 марта 2011 г.

Структура доклада

  1. Приветствие!
  2. Описание структуры доклада.
  3. Наблюдается тенденция к вытеснению настольных систем мобильными устройствами. Современные мобильные устройства способны выполнять многие задачи самостоятельно. Прикладные программы, необходимые пользователю в работе, реализуются в виде сервисов, доступ к которым осуществляеться через интернет.
  4. Наблюдаемые мировые тенденции описаны в письме Рэя Оззи, работавшего главным программным архитектором в компании Microsoft. Мнение особенно интересное, поскольку Microsoft имеет сильные позиции именно на рынке ПК.
  5. По прогнозам аналитиков доля настольных систем будет ниже доли мобильных устройств к 2013 г. Доля ноутбуков должна сокращаться похожим образом. Мобильные устройства дешевле и проще в обслуживании.
  6. Наряду с уменьшением доли настольных систем наблюдается увеличение предложений сервисов в Интернете, решающих различные прикладные задачи. Новые услуги будут выполнять те же полезные функции, что и большое количество прикладных программных пакетов на ПК. В первую очередь это корпоративные информационные системы.
  7. Приоритетной моделью получения ПО как сервиса станет к 2015 г. Большое количество ИТ-специалистов говорят о том, что новый подход потребует соответствующих знаний и повышения квалификации.
  8. Необходимо детально рассмотреть причины, по которым происходит переход от настольных систем к сервисам в сети. В основе лежат прежде всего экономические причины. Большинство современных пользователей не задействуют всех функций установленных программ, хотя стоимость неиспользуемых возможностей входит в оплату программных пакетов. Мобильные устройства стоят дешевле, и есть возможность заказать именно такие сервисы, какие действительно необходимы. Операционные системы для мобильных устройств значительно проще и требуют меньше обслуживания со стороны администратора. Таким образом, обслуживающий персонал занимается поддержкой только систем предоставления сервисов, но освобождается от контроля за правильным функционированием рабочих мест. Многие задачи, с которыми администраторы сталкиваются в повседневной работе, выполняются централизованно и проще. К ним относяться резервное копирование, защита от вирусов, контроль за несанкционированным доступом и пр. Если компания желает приступить к использованию нового продукта, то в случае сервисов она не несёт расходов по приобретению дополнительных вычислительных мощностей и развёртыванию ПО. Таким образом начальные денежные вложения значительно сокращаються.
  9. Три крупнейших компании: Apple, Google и Microsoft включились в конкурентную борьбу. Apple получила заметное примущество на рынке мобильной техники, на котором Google утверждает свои позиции с задержкой. При этом Google является бесспорным лидером в области предоставления сервисов в интернете. Microsoft долгое время не уделяла должного внимания мобильным устройствам и услугам через Интернет и включилась в борьбу относительно недавно.
  10. В серьёзности намерений Microsoft можно убедиться, изучив доступную информацию о Windows 8. По ней также видно ожидаемое снижение роли настольных систем. Главной особенностью являеться поддержка чипов на архитектуре ARM, которые позволяет значительно увеличить время автономной работы мобильного устройства без подзарядки. Идут дискуссии о том, можно ли считать планшетные компьютеры персональными. Если их признать таковыми, то доля Windows в сегменте ПК снижается и вскоре упадёт ниже 90%, в то время как долго держалась на уровне 95%.
  11. Примером компании, предоставляющей сервисы, может служить компания Salesforce. Перечень её основных услуг включает распространённые задачи, решаемые корпоративными информационными системами. В России похожие услуги предоставляет компания Naumen. В некоторых отраслях, таких как, например, поддержка бизнес-процессов в авиакомпаниях, наблюдается даже доминирование сервисов над традиционными формами приобретения ПО. Крупным поставщиком услуг в этой сфере является проект Navitaire компании Accenture.
  12. Необходимо ответить на вопрос: какие нужны технологии для создания новых сервисов? Создание сервисов неразрывно связано со сферой параллельных вычислений. Несмотря на то, что отрасль параллельных вычислений развивается достаточно давно и успешно применяеться для решения ряда академических задач, при создании сервисов возникают некоторые дополнительные трудности. Прежде всего, разработка сервиса должна вестись быстро и предсказуемо, поскольку чаще всего продукт должен быть представлен на рынке как можно раньше. Применяемое вычислительное оборудование должно быть дешёвым и находиться в массовом обращении. Коммерческие компании обычно не в состоянии приобретать дорогостоящие суперкомпьютеры. Используемое программное обеспечение должно позволять устранять неисправности без остановки всего вычислительного кластера, т. к. временный отказ от предоставления услуг часто приводит к крупным убыткам клиентов.
  13. Интересный подход к решению проблемы параллельных вычислений был предложен компанией Google. Согласно их философии, разработчики прикладных программ должны воспринимать дата-центр неограниченно большого размера как один очень большой "компьютер". Файловая система на локальном жёстком диске заменяется распределённой файловой системой. Программы разрабатываються при помощи специальной вычислительной модели, позволяющей упростить координацию вычислительнох узлов между собой. Обслуживающий персонал дата-центра способен легко вводить в эксплуатацию новые вычислительные узлы и останавливать узлы, вышедшие из строя, без остановки функционирования всей системы, и не контролируя, какие задачи выполняются в данный момент.
  14. Компания Google основывает свои сервисы на ряде закрытых внутренних продуктов. Их реализация никогда не покидает пределов компании, но доступны некоторые теоретические научные материалы. Файловая система Google File System позволяет распределённо хранить множество файлов в структуре, видимой для любого клиентского приложения как единая файловая система. Каждый фрагмент данных попадает одновременно на несколько узлов. При утрате одного из узлов система способна автоматически восстановить утраченные данные за счёт избыточного хранения. Администраторы способны произвольно останавливать вычислительные узлы при предварительной команде перенести хранимую информацию на другие. СУБД BigTable предоставляет похожие возможности, но данные организованы в табличном виде. Вычислительная стратегия MapReduce поддерживает работу прикладных программ. В её функции входит возможность определения узлов, вышедших из строя, и автоматического перезапуска невыполненных заданий. Насколько можно судить, впервые технология MapReduce была представлена публике в 2004 г. В ряде проведённых экспериментов было установлено, что она проигрывает по производительности существующим моделям параллельных вычислений, но получила широкое распространение за счёт простоты создания прикладных программ на её основе.
  15. Фонд Apache ведёт разработку пакета Hadoop — свободной реализации продуктов Google, которую каждая компания может использовать без лицензионных ограничений. Самое крупное внедрение Hadoop было в компании Yahoo!.
  16. Apache Hadoop можно применять на обычном оборудовании. Никаких особых требований вычислительная платформа не предъявляет.
  17. Необходимо рассмотреть математическую модель MapReduce. Каждая единица информации представлена в виде пары "ключ-значение". Пользователь должен предоставить реализацию двух функций: Map и Reduce. Входные и выходные данные храняться в распределённой файловой системе. Промежуточные значения также сохраняются в распределённом хранилище. Каждая задача может решаться за несколько фаз. Внутри каждой фазы выполняется стандартный цикл обработки с этапом Map и этапом Reduce.
  18. Платформа Hadoop имеет множество вспомогательных инструментов, позволяющих ускорить процесс разработки и оптимизировать время вычислений. Их применение не является обязательным, но значительно упрощает работу программистов. К их числу относится механизм загрузки данных из файловой системы, механизм выбора узла для проведения вычислений и механизм промежуточной компоновки для уменьшения сетевого траффика.
  19. На схеме приведены основные этапы обработки информации. Реализацию этапов Map, Combine и Reduce предоставляет пользователь. Этап Combine является необязательным.
  20. Алгоритм PageRank лежит в основе поисковой машины Google. Он выполняет подсчёт ссылок на некоторый документ и на основе их количества выставляет некоторый приоритет документа над остальными. На его упрощенном варианте в понятиях теории графов можно легко привести пример работы стратегии Mapreduce.
  21. Набор промежуточных пар "ключ-значение" содержит множество "сообщений", где ключом является индекс вершины, а значением — тип сообщения. В типе сообщения храниться информация о входящей или выходящей дуге. После выполнения этапа Reduce доступна информация о приоритете каждой вершины, которая согласно постановке алгоритма обозначает вероятность окончания в этой вершине случайного маршрута на графе.
  22. Приведённые технологии очень активно используются при создании различных систем для обработки текстовых документов. Большей частью эта отрасль хорошо исследована и создано много реализаций алгоритмов. Вести научные исследования в этой сфере в настоящее время особого смысла уже нет.
  23. Интересно рассмотреть вопрос, годиться ли MapReduce для реализации приложений других областей. Применение сервисов для задач ГИС может оказаться очень удобным, поскольку вычислительные кластеры способны обрабатывать данные больших объёмов, недоступных для настольных систем. Это также актуально и для растровых алгоритмов и алгоритмов на графах.
  24. Спасибо за внимание!

Источники

  1. Windows could slip below 90 percent market share.
  2. Yahoo! Hadoop blog.
  3. К 2015 г. "облачные" сервисы станут приоритетной моделью приобретения компаниями ИТ.
  4. Microsoft готовит "бомбу" на рынке планшетов.
  5. Microsoft доработает Windows для поддержки процессоров ARM.
  6. Microsoft рассказала правду о новой Windows.
  7. Мировой рынок SaaS растет на 15% в год.
  8. Настольные ПК проиграют планшетам через 3 года, ноутбуки — позже.

Литература

  1. Luiz Barroso The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines. Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, May 2009.
  2. J. Lin, M. Schatz Design patterns for efficient graph algorithms in MapReduce. In Proceedings of the Eighth Workshop on Mining and Learning with Graphs Workshop (MLG-2010), pages 78–85, Washington, D.C., 2010.