
- •230100.68 Информатика и вычислительная техника
- •«Компьютерный анализ и интерпретация данных»
- •Системы обработки данных (сод)
- •Параллельная сортировка Бэтчера
- •2. Вычисление корня алгебраического или трансцендентного уравнения
- •3. Решение системы линейных алгебраических уравнений методом простой итерации
- •Архитектура olap приложений
- •Что такое хранилище данных?
- •Типичная структура хранилищ данных
- •Таблицы измерений
- •“Разрезание” куба
- •Иерархии и уровни
- •Архитектура olap приложений
- •Требования к спп.
- •Понятие Статистики
- •Понятие Машинного обучения
- •Понятие Искусственного интеллекта
- •Классификация стадий Data Mining
- •Сравнение свободного поиска и прогностического моделирования с точки зрения логики
Системы обработки данных (сод)
СОД – это совокупность технических средств и программного обеспечения предназначенная для информационного обслуживания пользователей и технических объектов. В состав технических средств входит оборудование для ввода, хранения, преобразования и вывода данных, в том числе ЭВМ, устройства сопряжения с ЭВМ, аппаратура передачи.
Программное обеспечение (ПО) – это совокупность программ, реализующих возложенные на систему функции.
Функции СОД состоят в выполнении требуемых актов обработки данных: ввода, хранения, преобразования и вывода. Примером СОД являются вычислительные системы для решения научных, инженерно-технических, планово-экономических, и учебно-статистических задач. Основой СОД являются технические средства, т.к. их производительностью и надежностью в наибольшей степени определяется эффективность СОД.
Типы СОД:
Одномашинные СОД
Одномашинные СОД построены на базе единственной ЭВМ с однопроцессорной структурой. Создание их, включая разработку ПО не вызывает трудностей, однако имеет ограничения по производительности (до нескольких миллионов операций в секунду) и допускает простой системы в течение нескольких часов, из-за отказа оборудования. Быстродействие определяется быстродействием ИС и приближается к физическому пределу и производительности ЭВМ на уровне 10 миллионов операций в секунду. Из-за ограничения абсолютной надежности базы Одномашинные СОД частично удовлетворяют потребности в автоматизации обработки данных.
Вычислительные комплексы (ВК).
Для увеличения производительности СОД несколько ЭВМ (CPU) связываются между собой образуя многомашинный вычислительный комплекс (ММВК). ММВК различают с косвенной и прямой связью между ЭВМ.
Структурная схема ММВК с косвенной связью
Здесь связь осуществляется через общее запоминающее устройство, т.е. за счет доступа с общим набором данных. Связь называется косвенной и оказывается эффективной только в том случае, когда ЭВМ взаимодействует достаточно редко (при отказе одной ЭВМ или при начале и окончании обработки данных).
Более оперативное взаимодействие ЭВМ осуществляется при прямой связи через адаптер, обеспечивающий обмен данными между каналами ввода/вывода двух ЭВМ и передачу сигналов прерыванию.
Структурная схема ММВК с прямой связью
В схеме создаются
хорошие условия для координации процессов
обработки данных, и увеличивается
оперативность процессов обмена данными,
что позволяет увеличить производительность
СОД. Здесь все процессы имеют доступ ко
всему объему данных, хранимых в ОЗУ, и
могут взаимодействовать со всеми
периферийными устройствами комплекса
ММВК.
ММВК, содержащий несколько процессоров с общим ОЗУ и периферийными устройствами называется многопроцессорным.
В структурной схеме процессоры через средства коммутации подключены к модулю памяти. Каналы ввода/вывода обслуживают периферийные устройства. Средства коммутации обеспечивают доступ каждого CPU к любому модулю ОП, каналам ввода/вывода, обеспечивают возможность передачи данных между последними. Отказы отдельных устройств в меньшей мере влияют на работоспособность ВК, т.к. каждый CPU имеет доступ ко всем данным, хранимым в общей ОП и ПУ, поэтому ВК может параллельно обработать не только независимые данные, но и блоки одной задачи.
ММВК и многопроцессорный ВК являются базовыми средствами для создания СОД различного назначения, поэтому в них включают общесистемное ПО.
Вычислительные системы
СОД настроенная на решение задач конкретной области называется вычислительной системой (ВС). ВС включает в себя технические средства и ПО, ориентированное на решение определенных задач. ВС бывает двух типов:
ВС на основе ЭВМ и ВК общего применения,
ВС на основе специализированных ЭВМ и ВК.
В первом случае, ВС универсальны и используют прикладные программы. Во втором – ВС более быстродействующие и используются для решения задач векторной и матричной алгебры, распознавания образов. Широкое распространение получили адаптивные системы и системы с динамической структурой. При этом соединения между CPU, МП и ПУ устанавливается динамически в соответствие с требованиями задач в текущий момент времени. Это обеспечивает высокую производительность ВС, устойчивость к отказам.
Системы телеобработки (СТ)
Системы предназначены для обработки данных, передаваемых по каналам связи называют системами телеобработки.
Пользователи взаимодействуют с системой посредством терминалов (абонентских пунктов), подключаемых через каналы связи к средствам обработки данных ЭВМ или ВК. Данные передаются по каналам связи в форме сообщений, блоков данных, несущих в себе, кроме собственно данных, служебную информацию, необходимую для управления процессами передачи и защиту данных от искажений. ПО содержит специальные средства необходимые для управления техническими средствами управления связи между ЭВМ и абонентами, передачи данных между ними и организации взаимодействия пользователей с программами обработки данных. Телеобработка значительно увеличивает оперативность информационного обслуживания пользователей и расширяет их доступ к данным и процедурам их обработки.
Вычислительные сети
Вычислительная сеть объединяет территориально разрозненный СОД в единый комплекс с помощью каналов передачи данных с единым ПО и обеспечивает доступ к данным и процедурам их обработки всех пользователей, связанных общей сферой деятельности.
Узлы связи (УС) принимают данные и передают их в направлении обеспечить доставку данных абонентам. Ядром сети является базовая сеть передачи данных (СПД), которая включает УС и каналы связи. ЭВМ подключают к узлам базовой сети передачи данных, что обеспечивает обмен данными между любыми каналами ЭВМ.
Совокупность ЭВМ, объединенных СПД образует сеть ЭВМ.К ЭВМ непосредственно или с помощью каналов связи подключены терминалы, через которые пользователи взаимодействуют с сетью. Совокупность терминалов и средств связи для подключения их к ЭВМ образуют терминальную сеть. Таким образом, вычислительная сеть представляет собой композицию СПД, сеть ЭВМ и терминальную сеть.
Вычислительные сети используют для объединения ЭВМ в пределах региона, страны или континента. Оснащены все ЭВМ специальными программными средствами для сетевой обработки данных. На сетевое ПО возлагают широкий комплекс функций:
- управление аппаратурой сопряжения и каналов связи,
- установление соединений между взаимодействующими процессами и ЭВМ,
- управление процессами передачи данных,
- ввод и выполнение заданий от удаленных терминалов,
- доступ программ к набору данных, размещенных в удаленных ЭВМ.
Локальная вычислительная сеть (ЛВС).
ЛВС – это совокупность близко расположенных ЭВМ, которые связаны последовательными интерфейсами и оснащены программными средствами, обеспечивающими информационное взаимодействие между процессами в различных ЭВМ.
Как видно из схемы, ЭВМ связываются с помощью моноканала, единого для всех ЭВМ сети. В моноканале наиболее часто используется витая пара, коаксиальный кабель или волоконно-оптический кабель. Длина моноканала не превышает нескольких сотен метров. Пропускная способность порядка 105-107 бит/сек, что достаточно для информационной связи между десятками ЭВМ.
Сетевые адаптеры (СА) – контроллеры, реализующие операции ввода-вывода через моноканал. Моноканал упрощает процедуру установления соединений и обмена данными между ЭВМ. Поэтому сетевое ПО оказывается более простым, чем в вычислительных сетях, содержащих сеть передачи данных, и легко встраивается даже в микро-ЭВМ.
ЛВС является эффективным средством построения сложных СОД на основе мини- и микро-ЭВМ, систем автоматизации проектирования, управления производством, транспортом и т.д.
Классификация СОД
СОД классифицируются в зависимости от способа их построения. СОД, построенные на основе отдельных ЭВМ, вычислительных комплексов и систем, образуют класс сосредоточенных (централизованных) систем, в которых вся обработка реализуется ЭВМ, вычислительным комплексом или специальный системой. Системы телеобработки и вычислительные сети относятся к классу распределенных систем, в которых процессы обработки данных рассредоточены по многим компонентам. При этом системы телеобработки считаются распределенными условно т.к. основные функции обработки данных здесь реализуются централизованно в одной ЭВМ или в вычислительном комплексе.
Интерфейсы СОД
Существенное влияние на организацию СОД оказывают интерфейсы. Все интерфейсы, используемые СОД, делятся на три класса:
Параллельные
Последовательные
Связанные
Параллельный интерфейс состоит из большого числа линий, данные по которым передаются параллельно, в параллельном коде, в виде 8-128 разрядных слов со скоростью 106-108 бит/сек. Длина линий от нескольких метров до десятков (реже сотен) метров.
Последовательный интерфейс – одна линия. Данные передаются в последовательном коде со скоростью 105 – 107 бит/сек. Длина – от десятков метров до километров.
Связанные интерфейсы содержат каналы связи с ретранслятором. Скорость передачи данных порядка 103-105 бит/сек. Расстояние не ограничено.
В сосредоточенных системах используются параллельные интерфейсы и только для подключения периферийных устройств – последовательные. В распределенных системах из-за значительных расстояний используются только последовательные и связанные интерфейсы, что исключает возможность передачи сигналов прерывания между устройствами и требует представлении данных в виде сообщений, передаваемых с помощью операций ввода-вывода.
Лекция 3.
ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ДАННЫХ
Большие задачи и суперкомпьютеры. Суперкомпьютеры в компьютерном мире. Примеры современных суперкомпьютеров, Top500, производительность, объемы оперативной и внешней памяти, энергопотребление, размещение. Вычислительно сложные задачи, примеры, разнообразие задач в различных прикладных областях. Развитие элементной базы компьютеров и их архитектуры, их влияние на увеличение производительности компьютеров. Последовательная, параллельная и конвейерная обработка данных. Ускорение выполнения программ. Пиковая и реальная производительность компьютеров. История появления параллелизма и конвейерности в архитектуре компьютеров. Иерархия памяти в компьютерах как средство повышения скорости выполнения программ, локальность вычислений и локальность использования данных, кэш-память. Закон Амдала и его следствия, суперлинейное ускорение. Последовательные и параллельные алгоритмы. Проблема отображения программ и алгоритмов на архитектуру параллельных вычислительных систем. Этапы решения задач на параллельных вычислительных системах.
Архитектура параллельных вычислительных систем. Компьютеры с общей и распределенной памятью, принципы организации, сходства и различия, достоинства и недостатки. Соответствие двум основным задачам параллельных вычислений. Архитектуры SMP, NUMA, ccNUMA. Компьютеры с общей памятью. Коммутация процессоров и модулей памяти, степень неоднородности доступа к памяти. Причины снижения производительности на реальных программах. Компьютеры с распределенной памятью. Вычислительные узлы и коммуникационная сеть, топология связи между узлами, свойства топологий. Вычислительные кластеры: узлы, коммуникационные технологии, программное обеспечение, латентность и пропускная способность, вспомогательные сети. Причины снижения производительности на реальных программах. Скалярные и векторные команды. Скалярные, конвейерные и векторные функциональные устройства. Соотношение между понятиями двух блоков: "функциональное устройство, команда, обработка, компьютер" и "скалярный, векторный, конвейерный". Векторно-конвейерные компьютеры. Структура памяти и регистров, функциональные устройства, различные уровни параллельной и конвейерной обработки. Векторизация программ. Причины снижения производительности на реальных программах. Архитектуры с параллелизмом на уровне машинных команд, VLIW, суперскалярность, EPIC. Мультитредовость/гипертрейдинг. Неоднородные распределенные вычислительные системы и среды, понятие метакомпьютинга. Отличительные свойства вычислительных сред. Понятие GRID, базовые компоненты и сервисы, существующие проекты GRID-сегментов. Компьютеры с реконфигурируемой архитектурой, FPGA, концепция data-flow компьютеров. Современные микропроцессоры, особенности архитектуры, иерархия памяти. Эффективность выполнения программ.
Технологии параллельного программирования. Схемы вычислительного процесса для параллельных программ: SPMD, Мастер/Рабочие. Процессы и нити, адресное пространство, синхронизация, обмен данными. Традиционные последовательные языки и распараллеливающие компиляторы, проблема выделения потенциального параллелизма последовательных программ. Спецкомментарии и директивы компилятору. Расширения существующих языков программирования. Специальные языки параллельного программирования. Программирование с использованием библиотек и интерфейсов передачи сообщений. Параллельные предметные библиотеки. Специализированные пакеты и программные комплексы высокого уровня. Технологии параллельного программирования: эффективность, продуктивность, переносимость. Технологии параллельного программирования MPI, OpenMP, Linda: структура параллельной программы, базовые конструкции, достоинства и недостатки, связь с архитектурой компьютера. Вспомогательный инструментарий для создания эффективных параллельных программ.
Производительность параллельных вычислительных систем. Универсальность и специализация компьютеров, производительность спецпроцессоров. Закон Мура. Методы оценки производительности. Введение единого числового параметра, Mflops, MIPS. Пиковая и реальная производительность компьютеров. Тест Linpack и его варианты. Наборы взаимодополняющих тестовых программ, STREAM, NPB, HPCC, APEX.
Введение в теорию анализа структуры программ и алгоритмов. Графовые модели программ. Граф управления и информационный граф программы, информационная и операционная история реализации программ. Взаимосвязь графовых моделей. Граф алгоритма как компактная параметрическая форма представления информационной истории. Информационная независимость операций и возможность их параллельного исполнения. Построение графа алгоритма для линейного класса программ. Длина критического пути графа алгоритма как мера степени параллельности. Ярусно-параллельная форма графа алгоритма, высота, ширина, каноническая ЯПФ. Виды параллелизма: конечный, массовый, координатный, скошенный. Эквивалентные преобразования программ, элементарные преобразования циклов. Зависимость степени параллелизма программ от формы записи алгоритма и выбора структур данных.
Лекция 4.
Параллельные алгоритмы обработки данных