- •Информационные технологии
- •Информационные технологии
- •Введение
- •Ит как составная часть информатики
- •Три аспекта рассмотрения информации
- •Виды информации
- •Виды иерархии информации
- •Информационная технология как система
- •Система информационных технологий
- •1. Наличие структуры.
- •2. Наличие единой цели функционирования.
- •3. Устойчивость к внешним и внутренним возмущениям.
- •Современные информационные технологии и их классификация
- •Сетевые информационные технологии
- •История развития ит
- •Распространенные информационные технологии
- •Структура информационной технологии и законы ее построения
- •Структура базовой информационной технологии
- •Логический уровень создания ит. Модели базовой ит
- •Понятие и структура информационного процесса
- •Характеристики сигналов
- •Процесс накопления данных
- •Модель процесса обработки
- •Модель процесса передачи
- •Потери при информационном воздействии
- •Выбор хранимых данных
- •Модель планирования вычислительного процесса
- •Модель дискретного канала связи
- •Исправление ошибки
- •Информационный процесс представления знаний
- •Базовые информационные технологии
- •Мультимедийные технологии
- •Статистические информационные технологии
- •Автоматизация офиса
- •Информационная технология управления
- •Информационные технологии автоматизированного проектирования
- •Информационные технологии в образовании
- •Информационные технологии в промышленности и экономике
- •Информационные технологии организационного управления (корпоративные информационные технологии)
- •Технологии искусственного интеллекта
- •Телекоммуникационные технологии
- •Case-технологии
- •Технология защиты информации
- •Геоинформационные технологии
- •Бухгалтерские информационные системы (буис)
- •Информационные системы
- •Классификация информационных систем
- •Классификация по признаку структурированности решаемых задач
- •Классификация по функциональному признаку и уровню управления
- •Классификация по степени автоматизации
- •Классификация по характеру использования информации
- •Классификация по сфере применения.
- •Примеры информационных систем
- •Характеристика и назначение информационных систем
- •Техническая организация распределенных систем
- •Основные особенности архитектуры «клиент-сервер»
- •Суперкомпьютер
- •Концепция grid
- •Проект Globe
- •Технология х-Соm
- •Кластерные технологии
- •Потребность в данных коллективного пользования
Суперкомпьютер
Незаметно, но неотвратимо параллельные вычисления и распределенная обработка данных входят в нашу жизнь - то, что еще десять лет назад было привилегией избранных, теперь становится массовым. Уникальные возможности дает Internet, потенциально позволяя создать самый большой параллельный компьютер. Главное - научиться эффективно использовать уже имеющийся потенциал Сети.
Еще совсем недавно мы восхищались архитектурой и потрясающими возможностями параллельных компьютеров ILLIAC IV, Сгау-1 и Connection Machine, как им на смену пришли сначала IBM SP-1, Cray T3D и HP V-Class, а затем IBM pSeries 690, Cray XI и HP Superdome. Если раньше подобные компьютеры ассоциировались лишь с рейтингом TopSOO, включающим самые мощные компьютеры мира, то сейчас установка многопроцессорного сервера в информационном центре крупной компании не вызывает удивления.
Все первые параллельные вычислительные системы были уникальны: оригинальная архитектура, последние достижения микроэлектроники, специальное программное обеспечение, специализированные сервис и поддержка. Но уникальность означает высокую цену и недоступность. Сегодня ситуация совсем иная. Вычислительный кластер может собрать любая лаборатория, отталкиваясь от своих реальных потребностей в вычислительной мощности и доступного бюджета. Для большого класса задач, где не предполагается тесного взаимодействия между параллельными процессами, решение на основе обычных ПК и сети Fast Ethernet будет вполне эффективным. А чем такое решение принципиально отличается от локальной сети современного предприятия? С точки зрения прикладного программиста - почти ничем. Если у него появится возможность использования подобной конфигурации для решения своих задач, то она и станет параллельным компьютером.
Уникальные возможности дает Internet. Глобальную сеть можно рассматривать как самый большой параллельный компьютер, состоящий из множества компьютеров, своего рода метакомпьютер. В принципе, роль коммуникационной среды метакомпьютера может играть любая сетевая технология. Вместе с тем, к Internet всегда был и будет особый интерес, поскольку никакая отдельная вычислительная система не сравнится по своей мощности с потенциальными возможностями Глобальной сети. Главное - научиться этот потенциал эффективно использовать.
Конструктивные идеи использования распределенных вычислительных ресурсов для решения сложных задач появились относительно недавно. Первые прототипы систем метакомпьютинга стали доступными с середины 90-х годов. Некоторые претендовали на универсальность, часть же была сразу ориентирована на решение конкретных задач; где-то ставка делалась на использование выделенных высокопроизводительных сетей и специальных сетевых протоколов, а где-то за основу брались обычные каналы и протокол HTTP. Например, расширение PACX-MPI поддерживает объединение в метакомпьютер нескольких МРР-систем, возможно, с различными реализациями MPI. Система Condor (www.cs.wisc.edu/condor/) распределяет задачи по существующей корпоративной сети рабочих станций, используя время, когда компьютеры простаивают без нагрузки, например, ночью или в выходные. Проект SETI@home для решения задачи поиска внеземных цивилизаций объединил миллионы компьютеров по всему миру для распределенной обработки поступающих с радиотелескопа данных. Проект GIMPS (Great Internet Mersenne Prime Search, mersenne.org) направлен на поиск простых чисел Мерсена (числа вида 2р-1, где Р - простое число). В ноябре 2001 года в рамках данного проекта было найдено максимальное на данное время число Мерсена, содержащее в своей десятичной записи более 4 млн. цифр. Десятки тысяч компьютеров по всему миру, отдавая часть своих вычислительных ресурсов, работали над этой задачей два с половиной года.
Связав различные вычислительные системы, сегодня можно сформировать специальную единую вычислительную среду. Какие-то компьютеры могут подключаться или отключаться, однако с точки зрения пользователя эта виртуальная среда неизменно остается единой. Работая в такой среде, пользователь лишь выдает задание на решение задачи, а остальное метакомпьютер делает сам: компилирует и собирает задание, ищет доступные вычислительные ресурсы, отслеживает их работоспособность, осуществляет передачу данных, если требуется, выполняет преобразование данных в формат компьютера, на котором будет выполняться задача, и т.п. Пользователь может и не узнать, ресурсы какого именно компьютера были ему предоставлены. Если потребовались вычислительные мощности для решения задачи, то подключаемся к метакомпьютеру, формулируем задание и - получаем результат.
Проводя ставшую популярной аналогию между энергетической сетью и метакомпьютером, хотелось бы перенести столь же простой способ использования электричества для решения пользователем своих бытовых задач и на вычислительные среды. Но вот тут-то и возникают основные проблемы, определяемые сложностью организации самого метакомпьютера. В отличие от традиционного компьютера метакомпьютер имеет целый набор присущих только ему особенностей.
Огромные ресурсы, не сравнимые с ресурсами обычных компьютеров: десятки и сотни тысяч доступных процессоров, колоссальный объем оперативной и внешней памяти, большое число активных приложений, пользователей и т.п. Задумайтесь, как должна быть устроена ваша программа, чтобы эффективно использовать хотя бы часть этих ресурсов? Как должна быть организована сама вычислительная среда, чтобы эффективно управлять столь сложной системой?
Распределенный характер. Компоненты метакомпьютера могут быть удалены друг от друга на тысячи километров, что неизбежно вызовет большую латентность и, следовательно, скажется на оперативности их взаимодействия.
Динамичность конфигурации. Состав физических компонентов метакомпьютера постоянно меняется. На системе поддержки работы лежит поиск подходящих ресурсов, проверка их работоспособности, распределение поступающих задач, отслеживание корректного хода их выполнения вне зависимости от текущей конфигурации метакомпьютера в целом.
Неоднородность. Разные операционные системы, различные системы команд и форматы представления данных, различная загрузка и каналы, принципиально различные архитектуры, начиная с домашних персональных компьютеров и учебных классов и заканчивая мощнейшими векторными, массивно-параллельными и SMP-суперкомпьютерами. Объединение ресурсов различных организаций. Политика доступа и использования конкретных ресурсов может сильно меняться в зависимости от их принадлежности к той или иной организации. Метакомпьютер не принадлежит кому-либо одному. Политика его администрирования может быть определена лишь в самых общих чертах; согласованность работы огромного числа составных частей метакомпьютера предполагает обязательную стандартизацию работы всех его служб.
Речь идет не просто об аппаратуре или о программах, а о целой инфраструктуре. В комплексе должны рассматриваться такие вопросы, как средства и модели программирования, распределение и диспетчеризация заданий, технологии организации доступа, интерфейс с пользователями, безопасность, надежность, политика администрирования, средства доступа и технологии распределенного хранения данных, мониторинг состояния различных подсистем и др.
Системы метакомпьютинга
Работы по созданию и апробации систем метакомпьютинга активно идут по трем направлениям.
Первое направление - создание универсальных метакомпьютерных сред. Практически все основные производители (в том числе, IBM, HP и Sun Microsystems) работают в данном направлении. Многие берут в качестве стандарта Globus (www.globus.org), создавая программную инфраструктуру для своих платформ, формируются глобальные полигоны, объединяющие в рамках супервысокоскоростных сетей значительные распределенные ресурсы. Проводятся серии экспериментов, направленные на отработку новых сетевых технологий, методов диспетчеризации и мониторинга в распределенной вычислительной среде, интерфейса с пользователем, моделей и методов программирования.
Потенциал этого направления, безусловно, огромен, но число нерешенных проблем пока перевешивает реальный эффект; впрочем, отдельные элементы универсальных распределенных сред уже удается успешно применять в рамках масштабных проектов, подобных TeraGrid (www.teragrid.org) и European DataGrid (www.eu-datagrid.org).
Второе направление - развитие первого. Здесь универсальность среды заменяет четкая ориентация на конкретные задачи. Речь идет о создании специализированных метакомпьютерных сред для решения предопределенного набора многократно используемых «тяжелых» вычислительных задач (своего рода специализированных вычислительных порталов). Это направление намного проще реализовать на практике, чем первое. Структура задачи, для которой создается среда, заранее понятна, особенности и целесообразность работы задачи на всех видах вычислительных ресурсов среды можно оценить заранее, проблема переноса с платформы на платформу также решается в момент создания среды. С помощью специально спроектированных средств оформляется, скажем, Web-интерфейс к программе, которая предварительно уже подготовлена к выполнению в рамках метакомпьютерной среды. Пользователь не занимается явным программированием; ему нужно лишь задать набор входных данных, формируя, тем самым, запрос на решение задачи, не вникая в детали того, где и как реально программа будет выполнена. Данное направление находит применение в коммерческом секторе: класс задач определен, компьютеры есть на столе практически каждого сотрудника, а проблемы безопасности естественным образом решаются в рамках корпоративной сети. Одним из возможных средств создания подобных сред является система UNICORE.
Третье направление состоит в разработке инструментария для организации распределенных вычислительных экспериментов. Безусловно, универсальная среда - это здорово, но когда она появится? Да и всем ли дадут ей пользоваться? Globus Toolkit - стандарт де-факто, но он слишком тяжел в установке и сложен в использовании. А что делать, если 2 тыс. компьютеров организации могут отдать лишь на ночь или на два выходных дня? А если системные администраторы не хотят устанавливать на свои компьютеры ничего лишнего? Нужен простой инструментарий, который помог бы быстро создать распределенное приложение и использовать доступные вычислительные ресурсы. По этому пути несколько лет назад мы пошли, отрабатывая различные технологии организации и проведения распределенных вычислительных экспериментов.
Основные требования к системе были сформулированы так:
ориентация на вычислительные задачи;
работа через Internet, возможность использования всех доступных в Сети вычислительных ресурсов раз личной мощности;
минимум дополнительных действий и системного вмешательства на используемых ресурсах;
масштабируемость системы, устойчивость к неоднородности и изменению конфигурации вычислитель ной среды;
простота адаптации прикладных программ.
Созданная система получила название Х-Соm (meta.parallel.ru). К настоящему времени она прошла апробацию в ряде экспериментов с использованием широкого спектра ресурсов: от простых домашних компьютеров до мощных параллельных вычислительных систем, от использования Internet до работы на выделенном гигабитном полигоне Московского университета.
