programming

Классификация архитектур многопроцессорных ассоциаций

Автор классификации - Майкл Флинн (M. Flynn)

  • Поток инструкций
  • Поток данных
  • ОКОД (SISD - Single Instruction, Single Data Stream) - компьютер с единственным ЦП.
  • ОКМД (SIMD - Single Instruction. Multiple Data stream) - матричная обработка данных.
  • МКОД (MISD - Multiple Instruction, Single Data stream) - ?
  • МКМД (MIMD - Multiple instruction& Multiple Data stream) - множество процессоров одновременно выполняют различные последовательности команд над своими данными. (наиболее интересный нам тип)

MIMID-системы

Иерархия

  • Системы с распределённой оперативной памятью про объединение компьютеров.
  • UMA - единый для всех доступом в память. (все процессоры равносильны относительно доступа к памяти)
    • SMP - Symmetrical MultiProcessing (общая шина - бутылочное горлышко системы)
  • NUMA - разделённый доступ.

SMP-системы

Синхронизация кэша.

  • Поведение кэш-памяти с отслеживанием при чтении/записи
ОперацииЛокальный кэшКэш других процессоров
Промах при чтенииЗапись из памяти в кэшНичего
Попадание при чтенииИспользование кэшаНичего (операция “не видна”)
Промах при записиЗапись в памятьСоответствующая запись в кэше удаляется
Попадание при записиЗапись в память и кэшСоответствующая запись в кэше удаляется

NUMA-системы

NUMA: Процессорные элементы работают на общем адресном пространстве, но характеристики доступа процессора к ОЗУ зависят от того, куда он обращается.

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

Иерархия MIMD-систем

Системы с распределённой оперативной памятью представляются как объединение компьютерных узлов, каждый из которых состоит из процессора и ОЗУ, непосредственный доступ к которой имеет только “свой” процессорный элемент. Класс наиболее перспективных систем.

MPP - Massively Parallel Processors

Специализированные дорогие ВС. Высокоэффективны в определённом узком классе задач. (дёшево для этого класса задач и дорого для остальных)

  • Примеры топологий MPP-систем
  • Топология фиксированная

COW - Cluster Of Workstations

Специализированная высокопроизводительная локальная сеть. “Суперкомпьютер для бедных”.

  • Кластер как вычислительный узел (высокопроизводительная система)
  • Кластеры, которые обеспечивают надёжность (сохранение работоспособности при возможном снижении производительности)
  • “Прозрачная” архитектура
  • Относительная “универсальность” (широкий спектр задач)
  • Проблемная топология

Сети. Терминальные Комплексы.

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

  • Мультиплексор - устройство, позволяющее подключить несколько устройств к одному порту.
  • Терминальные устройства - устройства ввода/вывода.
  • Модем - модулятор/демодулятор. Преобразует цифровой сигнал в аналоговый и наоборот. (телефонная связь была аналоговой)

Имеем удалённый доступ к машине -> компактность.

Линии связи / каналы

Организация канала

  • Коммутируемый канал. Физически коммутируемая линия может иметь различные топологии.
    • маршрут выбирается при создании канала
  • Выделенный канал. Обеспечивает доступ к системе на постоянной основе.
    • отсутствие отказа занятости
    • детерминированное качество соединения
    • деградация системы для остальных пользователей сети

Организация канала

  • Канал точка-точка. Один абонент общается с одним абонентом. (подключение к удалённому терминалу без мультиплексирования)
  • Многоточечный канал. Подключение терминала через локальный мультиплексор.

Направление движения информации

  • Симплексные каналы - односторонний канал.
  • Дуплексные каналы - двусторонний канал.
  • Полудуплексные каналы - односторонний канал с переменным направлением.

Компьютерные сети

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

Коммуникационная среда - каналы и средства передачи данных.

Составляющие сети:

  • Хосты - абонентские или основные компьютеры
  • Коммуникационные или вспомогательные компьютеры (шлюзы, маршрутизаторы)

Модели построения компьютерной сети

Сообщение - логически целостная порция данных произвольного размера.

Сеть коммутации каналов

Обеспечивает выделение коммуникаций абонентам на весь сеанс связи.

  • Плюсы:
    • После установления соединения сеть находится в состоянии готовности
    • Требования к коммуникационному оборудованию минимальны
    • Минимизируются накладные расходы по передаче данных
    • Детерминированная пропускная способность
  • Недостатки:
    • Требование избыточности сети
    • Период ожидания соединения (канала) недетерминирован
    • Неэффективное использование выделенного канала
    • В случае сбоя или отказа повторная передача информации

Сеть коммутации сообщений

Взаимодействие представляется в виде последовательности обменов сообщениями.

  • Преимущества:
    • Отсутствие занятости канала на недетерминированный промежуток времени.
  • Недостатки:
    • Сообщения могут быть произвольного размера (необходимость наличия средств буферизации неопределённых характеристик)
    • Необходимость в специализированном коммуникационном оборудовании и ПО
    • Повтор передачи всего сообщения в случае сбоя

Сеть коммутации пакетов

Каждое сообщение разбивается на блоки фиксированного размера - пакеты. Структура пакета (заголовок, данные)

  • Преимущества:
    • Определённые требования для коммутационных узлов. Возможна оценка размера буфера и времени доставки пакетов.
  • Недостатки:
    • Увеличение трафика из-за наличия заголовочной информации
    • Проблема сборки пакетов (пакеты могут приходить в произвольном порядке)

История

Пакетная коммутация была предложена Леонардом Клейнроком в 1961 г. (MIT)

  • По заказу DARPA (Defence Advanced Research Projects Agency) в 1967 году был создан проект ARPANET (1969 год.)
  • Это дало толчок развитию интернета.
  • В начале 60-х бизнес активно использовал компьютерные сети (такие сети были несовместимы друг с другом как аппаратно, так и программно)

Модель ISO/OSI организации взаимодействия в сети

  • ISO - организация
  • OSI - open system interface

Семиуровневая модель ISO/OSI

  1. Физический уровень
    • Стандартизация среды передачи данных
    • Передача потока двоичной информации
    • Сигналы и аппаратные интерфейсы соединения
  2. Канальный уровень
    • Передача данных
    • Правила доступа
    • Вопросы синхронизации
    • Выявление и попытка исправления ошибок при передаче данных
  3. Сетевой уровень
    • Решаются проблемы взаимодействия сетей
    • Уровень декларирует интернет (межсетевое взаимодействие)
    • Адресация
    • Маршрутизация
  4. Транспортный уровень
    • Организация взаимодействия между программами на разных компьютерах
    • Организация виртуального канала, передающий так же данные о корректности доставки
    • Либо отправить пакет в сеть и забыть о нём
  5. Сеансовый уровень
    • Определяются полномочия сторон
  6. Представительский уровень (уровень представления)
    • Решение задачи унификации представления данных (форматы)
  7. Прикладной уровень
    • Формализация организации и взаимодействия прикладных систем (ssh, почта, работающая с почтовыми протоколами)

Осталась как академическая модель сетевого взаимодействия. Канула в историю.

Основные понятия

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

Интерфейс - правила взаимодействия вышестоящего уровня с нижестоящим.

Служба (сервис) - набор операций, предоставляемых нижестоящим уровнем вышестоящему.

Стек протоколов -перечень разноуровневых протоколов, реализованных в системе.

Логическое взаимодействие сетевых устройств по i-му протоколу

  • Взаимодействие посредством протоколов
  • Протоколы связаны только на 1-м (физическом) уровне
  • Взаимодействие реализуется передачей информации по уровням (с i-го вниз, затем на i-й наверх)

Семейство протоколов TCP/IP

Уровни

  1. Уровень доступа к сети
  2. Межсетевой уровень
    • IP
  3. Транспортный уровень
    • TCP / UDP
  4. Уровень прикладных программ

Соответствие модели ISO/OSI

Уровень модели TCP/IPУровень модели ISO/OSI
1. Уровень доступа к сети
Вопросы кодирования и передачи по проводам
Канальный уровень
Физический уровень
2. Межсетевой уровень
Маршрутизация
Сетевой уровень
3. Транспортный уровень
Доставка данных. Логические соединения между прикладными программами. Не всегда корректирует ошибки (в отличие от OSI)
Сеансовый уровень
Транспортный уровень
4. Уровень прикладных программ
Прикладные программы сами стандартизируют представление данных
Уровень прикладных программ
Сетевой уровень

Свойства протоколов семейства TCP/IP

  • Открытые (общедоступные) стандарты протоколов
  • Независимость от аппаратного обеспечения сети передачи данных
  • Общая схема именования сетевых устройств (IP)
  • Стандартные протоколы прикладных программ (TCP, UDP)

Взаимодействия между уровнями протоколов TCP/IP

  • На каждом уровне взаимодействие происходит в пакетном режиме (фрейм, дейтаграмма)

Уровень доступа к сети

Средства для передачи данных другим устройствам в сети

  • Например Ethernet - разработка исследователей компании Xerox. Единая шина - широковещательная сеть.
  • Пакет отправляется в сеть, получается всеми устройствами в сети, после каждое устройство проверяет, ему ли адресован этот пакет.
  • Для сетевых устройств обеспечивается множественный доступ с контролем и обнаружением конфликтов (Carrier Sense Multiple Access with Collision Detection)
  • Недостатки:
    • Высокая нагрузка на шину
    • При большом количестве устройств и интенсивном их использовании шина деградирует
  • Каждое устройство имеет уникальный адрес (MAC address)
История
  • Каоксиал
  • Витая пара
  • Оптоволокно

Межсетевой уровень. Протокол IP

  • Система адресации 32bit
  • Позволяет иметь уникальный адрес каждому устройству в локальной сети
  • Маска сети + адрес конкретной машины
  • Классы:
    • А - оставшиеся 7 разрядов от старшего байта выделяются для адреса сети. Оставшиеся 24 для адреса конкретной машины. Класс используется сетей с огромным количеством устройств. Используются в крупных компаниях (в Intel, Microsoft, Apple). Таких может быть в мире.
    • B - 14 разрядов - адрес локальной сети. Таких может быть в мире.
    • С - сетевых устройств в такой сети чуть меньше . Таких сетей не больше .
    • D - специальный. Обсуждать не будем.
    • E - специальный. Обсуждать не будем.
Дейтаграммы

Дейтаграмма - пакет протокола IP

Шлюз - устройство, передающее пакеты между различными сетями.

Маршрутизация - процесс выбора шлюза или маршрутизатора.

Маршрутизация дейтаграмм

  • Пакет с прикладного уровня А1
    1. Опускается в сеть A
    2. Попадает через G1 в B
    3. Оттуда из G2 в C
    4. Из сети C принимается A2
    5. Поднимается обратно на прикладной уровень

Транспортный уровень

  • Протокол контроля передачи (TCP - Transmission Control Protocol).
    • В случае утери/повреждения пакета отправляется повторно.
    • Утеря/повреждение пакет определяется неналичием обратной связи об успешном получении.
  • Протокол пользовательских дейтаграмм (UDP - User Datagram Protocol)
    • Отправляет пакеты, не контролируя их доставку.

Уровень прикладных программ

  • На основе TCP работают прикладные протоколы
  • Протоколы, опирающиеся на TCP:
    • TELNET - Network Terminal Protocol
    • FTP - File Transfer Protocol
    • SMTP - Simple Mail Transfer Protocol
  • Протоколы, опирающиеся на UDP:
    • DNS - Domain Name Service
    • RIP - Routing Information Protocol
    • NFS - Network File System