Опубликован: 23.05.2008 | Доступ: свободный | Студентов: 1564 / 389 | Оценка: 4.80 / 4.10 | Длительность: 15:29:00
Специальности: Программист
Лекция 16:

Тенденции в области распределенных систем

< Лекция 15 || Лекция 16: 12
Аннотация: Нерешенные и перспективные проблемы теории и практики распределенных систем. Направления исследований. Обработка информации в суперсетях (Грид). Архитектура Грид. Мобильный компьютинг. Тотальный (pervasive) компьютинг. Глобальное "умное" пространство

В одной из своих статей в 2001 году Дж. Бэкус отметил, что компьютерная революция испытала три волны. Первая волна началась с коммерциализацией кремниевых чипов и продолжалась 10-15 лет. Вторая волна связана с развитием технологий программного обеспечения и началась приблизительно в середине 80-х годов XX века. Третья волна началась в конце 90-х годов XX века и связана с развитием сетей и использованием их для коммуникаций компьютеров.

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

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

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

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

Эти задачи выдвигают требования к компьютерным системам, которые не могут быть удовлетворены в рамках просто "высокопроизводительных вычислений", например, с помощью параллельных суперкомпьютеров.

Вот только некоторые из требований и ограничений:

  1. Пространственная распределенность компонент приложения и ресурсов системы, их динамическая природа (компоненты приложения и ресурсы могут динамически создаваться, перемещаться, становиться недоступными, уничтожаться).
  2. Увеличивающаяся важность соединения в одно логическое целое (при сохранении физической разделенности) структурированных и неструктурированных ресурсов распределенных данных.
  3. Мультидисциплинарные приложения требуют обеспечения взаимодействия отдельных моделей в рамках объединенной модели, требуют совместной работы исследователей, находящихся в разных научных центрах.
  4. Высокая степень взаимодействия пользователей требует значительной гибкости при проектировании, реализации, сопровождении и модификации компонент программного обеспечения – в поддержке жизненного цикла систем.
  5. Преобладание "нерегулярных" вычислений, не укладывающихся в циклы простой структуры с элементами массивов простого строения (что было бы так удобно для реализации на параллельном суперкомпьютере).
  6. Применение методов, первоначально появившихся в исследованиях по искусственному интеллекту, для решения задач управления программными приложениями на различных этапах их жизненного цикла.

Одним из новых направлений в распределенных системах, в рамках которых есть надежда продвинуться вперед в удовлетворении перечисленных требований, является Grid computing – обработка информации в суперсетях (Грид).

В основе Грида лежат (в дополнение к распределенному компьютингу) федеративное объединение сообществ пользователей (без жесткой централизации), виртуализация ресурсов, стандартизация, маскирование неоднородности условий работы.

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

Стандартизация означает, что федерация построена на открытых стандартах, протоколах и интерфейсах. Маскирование неоднородностей означает, что программное обеспечение промежуточного уровня в Грид должно обеспечить "стирание различий" между программными обеспечениями промежуточного уровня виртуальных организаций.

Можно написать условную "формулу":

Грид компьютинг = распределенный компьютинг + {федеративное объединение сообществ, 
 виртуализация, стандартизация, маскирование неоднородностей}

Грид отличается от Интернета (точнее, его службы WWW) прежде всего тем, что поддерживает не только работу с распределенной информацией, но и использование распределенных вычислительных мощностей для выполнения приложений пользователей.

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

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

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

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

Грид привлекателен тем, что его почти не надо создавать – он вырастает сам. Это объективная реальность, как говорят философы. Только его рост нужно направлять, культивируя положительные изменения и своевременно предупреждая проблемы. Но для этого нужен план.

Грид требует переосмысления применяемых вычислительных моделей, средств их поддержки. Здесь недостаточно традиционных постулатов "открытых систем" – обеспечения интероперабельности систем управления различными ресурсами, масштабируемости и проч. Эти постулаты не теряют своего значения. Но требуется создание новых абстракций, языков программирования, средств поддержки для того, чтобы Грид был более эффективным.

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

Что касается конечного пользователя, то ему требуется определенная унификация в доступе к различным ресурсам Грид, несмотря на их разнородность и принадлежность многообразным собственникам.

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

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

Архитектура Грид

Следуя традиционному построению распределенных систем, можно описать архитектуру Грид, состоящую из четырех слоев:

  1. Пользовательские интерфейсы, приложения и среда решения задач (problem-solving envieronment).
  2. Средства разработки, программные модели, языки программирования.
  3. Промежуточное программное обеспечение (middleware) Грид: управление ресурсами; фиксация информации и ее обнаружение; программное обеспечение безопасности; доступ к памяти; различные службы (вычислительные и коммуникационные).
  4. Неоднородные ресурсы и инфраструктура сетей.

В настоящее время не существует единой модели вычислений в Гриде. Однако можно выделить несколько типичных задач, которые должны решать пользователи. Это – запуск и выполнение заданий, управление данными, формирование потоков работ (workflow), работа в режиме on-line при совместных проектах и др.

Опишем несколько типов приложений в Грид и пользовательских профилей.

  1. Грид как большой компьютер. Здесь имеется в виду доступ одного пользователя к большой суперкомпьютерной мощности для решения его задачи.
  2. Грид как коллекция научных данных. Требуется обеспечение доступа к большим объемам научных данных (результатов экспериментов, астрономических наблюдений и т.д.), рассредоточенных по различным научным центрам, оптимизация при передаче этих данных и их обработке
  3. Единое информационное пространство и виртуальные организации. Обеспечение одновременной работы большого количества пользователей в некоторой предметной области и/или организации с доступом к общим данным, с разделением ресурсов и взаимодействием пользователей через Грид.
  4. Семантический Грид – Грид как всемирное хранилище знаний. Географически распределенная база знаний, поддерживающая интеллектуальный информационный поиск, извлечение знаний из "сырых" данных (data mining), принятие решений.

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

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

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

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

< Лекция 15 || Лекция 16: 12
Дмитрий Полянский
Дмитрий Полянский
Ольга Космодемьянская
Ольга Космодемьянская

Я прошла курс "Распределенные системы и алгоритмы". Сдала экзамен экстерном и получила диплом. Вопрос: можно ли после завершения теста посмотреть все вопросы, которые были на экзамене и все варианты ответов? Мне это необходимо для отчета преподавателю в моем ВУЗе. Заранее спасибо!