🗊 Презентация Взаимодействие между процессами

Нажмите для полного просмотра!
Взаимодействие между процессами, слайд №1 Взаимодействие между процессами, слайд №2 Взаимодействие между процессами, слайд №3 Взаимодействие между процессами, слайд №4 Взаимодействие между процессами, слайд №5 Взаимодействие между процессами, слайд №6 Взаимодействие между процессами, слайд №7 Взаимодействие между процессами, слайд №8 Взаимодействие между процессами, слайд №9 Взаимодействие между процессами, слайд №10 Взаимодействие между процессами, слайд №11 Взаимодействие между процессами, слайд №12 Взаимодействие между процессами, слайд №13 Взаимодействие между процессами, слайд №14 Взаимодействие между процессами, слайд №15 Взаимодействие между процессами, слайд №16 Взаимодействие между процессами, слайд №17 Взаимодействие между процессами, слайд №18 Взаимодействие между процессами, слайд №19 Взаимодействие между процессами, слайд №20 Взаимодействие между процессами, слайд №21 Взаимодействие между процессами, слайд №22 Взаимодействие между процессами, слайд №23 Взаимодействие между процессами, слайд №24 Взаимодействие между процессами, слайд №25 Взаимодействие между процессами, слайд №26 Взаимодействие между процессами, слайд №27 Взаимодействие между процессами, слайд №28 Взаимодействие между процессами, слайд №29 Взаимодействие между процессами, слайд №30 Взаимодействие между процессами, слайд №31 Взаимодействие между процессами, слайд №32 Взаимодействие между процессами, слайд №33 Взаимодействие между процессами, слайд №34 Взаимодействие между процессами, слайд №35 Взаимодействие между процессами, слайд №36 Взаимодействие между процессами, слайд №37 Взаимодействие между процессами, слайд №38 Взаимодействие между процессами, слайд №39 Взаимодействие между процессами, слайд №40 Взаимодействие между процессами, слайд №41 Взаимодействие между процессами, слайд №42 Взаимодействие между процессами, слайд №43 Взаимодействие между процессами, слайд №44 Взаимодействие между процессами, слайд №45 Взаимодействие между процессами, слайд №46 Взаимодействие между процессами, слайд №47 Взаимодействие между процессами, слайд №48 Взаимодействие между процессами, слайд №49 Взаимодействие между процессами, слайд №50 Взаимодействие между процессами, слайд №51 Взаимодействие между процессами, слайд №52 Взаимодействие между процессами, слайд №53 Взаимодействие между процессами, слайд №54 Взаимодействие между процессами, слайд №55 Взаимодействие между процессами, слайд №56 Взаимодействие между процессами, слайд №57 Взаимодействие между процессами, слайд №58 Взаимодействие между процессами, слайд №59 Взаимодействие между процессами, слайд №60 Взаимодействие между процессами, слайд №61 Взаимодействие между процессами, слайд №62 Взаимодействие между процессами, слайд №63 Взаимодействие между процессами, слайд №64 Взаимодействие между процессами, слайд №65

Содержание

Вы можете ознакомиться и скачать презентацию на тему Взаимодействие между процессами. Доклад-сообщение содержит 65 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Параллельное программирование Взаимодействие между процессами
Описание слайда:
Параллельное программирование Взаимодействие между процессами

Слайд 2


План лекции Модели вычислителей с общей и разделяемой памятью Реализация вычислений с разделяемой памятью Файлы Пайпы Мэйлслоты Общая память Сокеты
Описание слайда:
План лекции Модели вычислителей с общей и разделяемой памятью Реализация вычислений с разделяемой памятью Файлы Пайпы Мэйлслоты Общая память Сокеты

Слайд 3


Примеры параллельных вычислений Локальные
Описание слайда:
Примеры параллельных вычислений Локальные

Слайд 4


Примеры параллельных вычислений Глобальные
Описание слайда:
Примеры параллельных вычислений Глобальные

Слайд 5


Open-source software for volunteer computing Choose projects Download BOINC software Enter an email address and password.
Описание слайда:
Open-source software for volunteer computing Choose projects Download BOINC software Enter an email address and password.

Слайд 6


MilkiWay project Milkyway@Home uses the BOINC platform to harness volunteered computing resources, creating a highly accurate three dimensional model...
Описание слайда:
MilkiWay project Milkyway@Home uses the BOINC platform to harness volunteered computing resources, creating a highly accurate three dimensional model of the Milky Way galaxy using data gathered by the Sloan Digital Sky Survey. This project enables research in both astroinformatics and computer science.

Слайд 7


Архитектура памяти параллельных вычислителей Две основных модели: С общей памятью С разделяемой памятью
Описание слайда:
Архитектура памяти параллельных вычислителей Две основных модели: С общей памятью С разделяемой памятью

Слайд 8


Архитектура памяти параллельных вычислителей 1. Общая память (Shared Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 1. Общая память (Shared Memory)

Слайд 9


Общая память (1/4) Все процессоры имеют доступ к общей памяти Процессоры работают независимо Исключение hyperthreading Изменение памяти одним из...
Описание слайда:
Общая память (1/4) Все процессоры имеют доступ к общей памяти Процессоры работают независимо Исключение hyperthreading Изменение памяти одним из процессоров видят все остальные процессоры

Слайд 10


Общая память Uniform Memory Access (2/4) Несколько однотипных процессоров Одинаковое время доступа ко всей памяти для всех процессоров
Описание слайда:
Общая память Uniform Memory Access (2/4) Несколько однотипных процессоров Одинаковое время доступа ко всей памяти для всех процессоров

Слайд 11


Общая память Non Uniform Memory Access (3/4) Несколько однотипных процессоров Быстрое время доступа к своей памяти Медленное время доступа к памяти...
Описание слайда:
Общая память Non Uniform Memory Access (3/4) Несколько однотипных процессоров Быстрое время доступа к своей памяти Медленное время доступа к памяти другого процессора

Слайд 12


Общая память Достоинства и недостатки (4/4) Достоинства Достаточно простая модель программирования Быстрый и одинаковый доступ к любым данным...
Описание слайда:
Общая память Достоинства и недостатки (4/4) Достоинства Достаточно простая модель программирования Быстрый и одинаковый доступ к любым данным Недостатки Необходимо использование примитивов синхронизации для корректной работы с общей памятью Слабая масштабируемость (вертикальная) Количество процессоров ограничено Количество памяти ограничено

Слайд 13


Архитектура памяти параллельных вычислителей 2. Распределенная память (Distributed Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 2. Распределенная память (Distributed Memory)

Слайд 14


Распределенная память (1/2) Все процессоры имеют локальную память Полная изоляция данных между процессорами Процессоры работают независимо Требуется...
Описание слайда:
Распределенная память (1/2) Все процессоры имеют локальную память Полная изоляция данных между процессорами Процессоры работают независимо Требуется канал связи между процессорами Задача программиста – обеспечить передачу необходимых для вычисления данных к процессору

Слайд 15


Распределенная память Достоинства и недостатки (2/2) Достоинства Хорошая масштабируемость (горизонтальная) А также отказоустойчивость Быстрый доступ...
Описание слайда:
Распределенная память Достоинства и недостатки (2/2) Достоинства Хорошая масштабируемость (горизонтальная) А также отказоустойчивость Быстрый доступ процессора к локальной памяти Пакетная обработка - задача + данные Можно использовать широко распространенные недорогие ресурсы Гиперконвергентные среды Недостатки Более сложная модель программирования Сложный переход от вертикального к горизонтальному масштабированию Пример TravelLine: Sheduler, SQL, хранилище Доступ к данным на удаленном вычислителе – очень длительная операция

Слайд 16


Архитектура памяти параллельных вычислителей 3. Гибридная архитектура (Hybrid Distributed-Shared Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 3. Гибридная архитектура (Hybrid Distributed-Shared Memory)

Слайд 17


Гибридная архитектура (1/2) Современные системы используют оба подхода одновременно Shared memory – ОЗУ + GPU Distributed memory - сеть
Описание слайда:
Гибридная архитектура (1/2) Современные системы используют оба подхода одновременно Shared memory – ОЗУ + GPU Distributed memory - сеть

Слайд 18


Гибридная архитектура Достоинства и недостатки (2/2) Достоинства Те же что и в предыдущих случаях Высокая степень масштабируемости Недостатки Те же...
Описание слайда:
Гибридная архитектура Достоинства и недостатки (2/2) Достоинства Те же что и в предыдущих случаях Высокая степень масштабируемости Недостатки Те же что и в предыдущих случаях Высокая сложность

Слайд 19


Модели параллельных вычислений Потоки Общая память Распределенная память / Обмен сообщениями Параллельная обработка данных Гибридные архитектуры...
Описание слайда:
Модели параллельных вычислений Потоки Общая память Распределенная память / Обмен сообщениями Параллельная обработка данных Гибридные архитектуры Single Program/Instruction Multiple Data (SPMD, SIMD) Multiple Program/Instruction Multiple Data (MPMD , MIMD)

Слайд 20


Модели параллельных вычислений Общая память (Shared Memory)
Описание слайда:
Модели параллельных вычислений Общая память (Shared Memory)

Слайд 21


Shared memory Именованная область памяти, которая разделяется между несколькими процессами на одном компьютере. Процессы имеют общую память, которую...
Описание слайда:
Shared memory Именованная область памяти, которая разделяется между несколькими процессами на одном компьютере. Процессы имеют общую память, которую они читают и пишут асинхронно Должны использоваться механизмы синхронизации доступа к памяти

Слайд 22


Преимущества Простое использование Быстрый обмен данными между вычислителями Нет необходимости реализации коммуникаций между вычислителями Наиболее...
Описание слайда:
Преимущества Простое использование Быстрый обмен данными между вычислителями Нет необходимости реализации коммуникаций между вычислителями Наиболее распространенная модель вычислений в Web приложениях TravelLine BackEnd TravelLine ChannelManager

Слайд 23


Недостатки Сложно не нарушить инкапсуляцию данных отдельных задач Все что можно нарушить будет нарушено Требуются реализация коммуникаций между...
Описание слайда:
Недостатки Сложно не нарушить инкапсуляцию данных отдельных задач Все что можно нарушить будет нарушено Требуются реализация коммуникаций между вычислителями

Слайд 24


Реализация Модель может быть реализована как на Shared Memory архитектуре так и на Distributed Memory с использованием дополнительных библиотек или...
Описание слайда:
Реализация Модель может быть реализована как на Shared Memory архитектуре так и на Distributed Memory с использованием дополнительных библиотек или аппаратных реализаций. Проект SHMEM (Symmetric Hierarchical Memory access)

Слайд 25


Пример с созданием разделяемого блока памяти hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, “MyMem”); void*...
Описание слайда:
Пример с созданием разделяемого блока памяти hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, “MyMem”); void* buf = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE); … UnmapViewOfFile(buf); CloseHandle(hMapFile);

Слайд 26


Пример с работой с готовым разделяемым блоком памяти hMapFile = OpenFileMapping( FILE_MAP_ALL_ACCESS, FALSE, “MyMem”); А дальше все то же самое …
Описание слайда:
Пример с работой с готовым разделяемым блоком памяти hMapFile = OpenFileMapping( FILE_MAP_ALL_ACCESS, FALSE, “MyMem”); А дальше все то же самое …

Слайд 27


Модели параллельных вычислений Потоки (Threads)
Описание слайда:
Модели параллельных вычислений Потоки (Threads)

Слайд 28


Потоки Разновидность реализации модели с общей памятью Один тяжелый процесс может иметь несколько легковесных нитей
Описание слайда:
Потоки Разновидность реализации модели с общей памятью Один тяжелый процесс может иметь несколько легковесных нитей

Слайд 29


Реализация Исторически разработчики аппаратного обеспечения разработали разные стандартны параллельной обработки. Позже были разработаны два...
Описание слайда:
Реализация Исторически разработчики аппаратного обеспечения разработали разные стандартны параллельной обработки. Позже были разработаны два непохожих стандарта: POSIX Определены стандартном IEEE POSIX 1003.1c в 1995 году только для языка C Изначально были частью Unix систем Реализованы в библиотеках Явный паралеллизм OpenMP Стандарт, разработанный группой крупных компаний Поддержка на уровне компилятора Изначально мультиплатформенный Позволяет гибко менять степень паралеллизма Другие реализация Microsoft Windows Threads

Слайд 30


Достоинства и недостатки Наследуют все от модели Shared Memory Более легковесны
Описание слайда:
Достоинства и недостатки Наследуют все от модели Shared Memory Более легковесны

Слайд 31


Модели параллельных вычислений Распределенная память. Обмен сообщениями. (Distributed Memory. Messaging)
Описание слайда:
Модели параллельных вычислений Распределенная память. Обмен сообщениями. (Distributed Memory. Messaging)

Слайд 32


Распределенная память. Разные роли вычислителей Требуется канал коммуникации Обмен при помощи сообщений Как правило есть контроперации send/receive...
Описание слайда:
Распределенная память. Разные роли вычислителей Требуется канал коммуникации Обмен при помощи сообщений Как правило есть контроперации send/receive Клиент серверная архитектура К некоторых случаях размытая граница с системами распределенной памяти

Слайд 33


Достоинства и недостатки Достоинства Высокая степень инкапсуляции данных Предоставляются через API Высокая степень защищенности данных Географическая...
Описание слайда:
Достоинства и недостатки Достоинства Высокая степень инкапсуляции данных Предоставляются через API Высокая степень защищенности данных Географическая удаленность Шифрование канала Недостатки Сложность реализации Ненадежный канал Дублирование сообщений Идемпотентные протоколы Медленный канал Асинхронный UI

Слайд 34


Обмен сообщениями 1. Оконные сообщения
Описание слайда:
Обмен сообщениями 1. Оконные сообщения

Слайд 35


Оконные сообщения Серия сообщений WM_USER+I Можно передать два числа по 4 байт или 8 байт в сумме Сообщения WM_COPYDATA Можно передать произвольный...
Описание слайда:
Оконные сообщения Серия сообщений WM_USER+I Можно передать два числа по 4 байт или 8 байт в сумме Сообщения WM_COPYDATA Можно передать произвольный массив данных

Слайд 36


Оконные сообщения WM_USER+N #define MY_CUSTOM_MESSAGE (WM_USER+1) #define MY_NEXT_CUSTOM_MESSAGE (WM_USER+2) SendMessage - синхронно PostMessage –...
Описание слайда:
Оконные сообщения WM_USER+N #define MY_CUSTOM_MESSAGE (WM_USER+1) #define MY_NEXT_CUSTOM_MESSAGE (WM_USER+2) SendMessage - синхронно PostMessage – асинхронно Два параметра lParam - контекст wParam - контекст

Слайд 37


Оконные сообщения Не WM_USER+N Допустимо, но не рекомендуется При желании можно управлять другим приложением, как будто им управляет пользователь
Описание слайда:
Оконные сообщения Не WM_USER+N Допустимо, но не рекомендуется При желании можно управлять другим приложением, как будто им управляет пользователь

Слайд 38


Оконные сообщения SendMessage - синхронно PostMessage – асинхронно Два параметра lParam - контекст wParam - контекст
Описание слайда:
Оконные сообщения SendMessage - синхронно PostMessage – асинхронно Два параметра lParam - контекст wParam - контекст

Слайд 39


Оконные сообщения WM_COPYDATA If (strlen(cmdLine) != 0) { COPYDATASTRUCT cds; cds.cbData = strlen(cmdLine) + 1; cds.lpData = cmdLine;...
Описание слайда:
Оконные сообщения WM_COPYDATA If (strlen(cmdLine) != 0) { COPYDATASTRUCT cds; cds.cbData = strlen(cmdLine) + 1; cds.lpData = cmdLine; SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM)&cds); }

Слайд 40


Преимущества Просто Работает «прямо из коробки»
Описание слайда:
Преимущества Просто Работает «прямо из коробки»

Слайд 41


Недостатки Работает только под Windows Надо искать Handle второго процесса Все работает только на одной машине Отсылка сообщений может подвисать,...
Описание слайда:
Недостатки Работает только под Windows Надо искать Handle второго процесса Все работает только на одной машине Отсылка сообщений может подвисать, если процессор загружен и второй процесс сейчас не выполняется

Слайд 42


Обмен сообщениями 2. Named Pipes
Описание слайда:
Обмен сообщениями 2. Named Pipes

Слайд 43


Pipes “Быстрые файлы”, которые работают по локальной сети У пайпа есть имя Можно одновременно читать и писать Обычно с пайпами работают в потоках
Описание слайда:
Pipes “Быстрые файлы”, которые работают по локальной сети У пайпа есть имя Можно одновременно читать и писать Обычно с пайпами работают в потоках

Слайд 44


Имя pipe-канала Имя удаленного pipe-канала: \\\Pipe\ - IP, DNS, NetBIOS – уникальное имя Имя pipe-канала внутри одного компьютера: \\.\Pipe\
Описание слайда:
Имя pipe-канала Имя удаленного pipe-канала: \\\Pipe\ - IP, DNS, NetBIOS – уникальное имя Имя pipe-канала внутри одного компьютера: \\.\Pipe\

Слайд 45


Pipes API CreateNamedPipe – создать именованный канал ConnectNamedPipe – ждать подключения, подключиться (синхронно или асинхронно)...
Описание слайда:
Pipes API CreateNamedPipe – создать именованный канал ConnectNamedPipe – ждать подключения, подключиться (синхронно или асинхронно) DisconnectNamedPipe – отключиться

Слайд 46


Pipes API: обмен сообщениями CreateFile – открыть канал (как файл); ReadFile(Ex) – читать из файла (файл – абстракция); WriteFile(Ex) – записать в...
Описание слайда:
Pipes API: обмен сообщениями CreateFile – открыть канал (как файл); ReadFile(Ex) – читать из файла (файл – абстракция); WriteFile(Ex) – записать в файл; TransactNamedPipe – чтение и запись одновременно; PeekNamedPipe – просматривает данные из буфера пайпа без их извлечения;

Слайд 47


Преимущества Быстрее файлов Работают по локальной сети Есть если не везде, то много где (в Linux/MacOS X/Windows)
Описание слайда:
Преимущества Быстрее файлов Работают по локальной сети Есть если не везде, то много где (в Linux/MacOS X/Windows)

Слайд 48


Недостатки Не работают через интернет Нужны потоки (в отличие от оконных сообщений)
Описание слайда:
Недостатки Не работают через интернет Нужны потоки (в отличие от оконных сообщений)

Слайд 49


Обмен сообщениями 3. Mailslots
Описание слайда:
Обмен сообщениями 3. Mailslots

Слайд 50


Mailslots обеспечивают «ненадежную» связь в режиме широковещания; серверы и клиенты ящиков: связь только в одну сторону Имя ящика: \\\Mailslot\ - IP,...
Описание слайда:
Mailslots обеспечивают «ненадежную» связь в режиме широковещания; серверы и клиенты ящиков: связь только в одну сторону Имя ящика: \\\Mailslot\ - IP, DNS, NetBIOS < имя_ящика> – уникальное имя

Слайд 51


Схема взаимодействия через Mailslots
Описание слайда:
Схема взаимодействия через Mailslots

Слайд 52


Mailslots API: сервер CreateMailslot – создать ящик; SetMailslotInfo – установить настройки; GetMailslotInfo – получить настройки и статистику;...
Описание слайда:
Mailslots API: сервер CreateMailslot – создать ящик; SetMailslotInfo – установить настройки; GetMailslotInfo – получить настройки и статистику; ReadFile – читать данные (используется дескриптор ящика).

Слайд 53


Mailslots API: клиент CreateFile – открыть ящик \\*\Mailslot\\... \\\Mailslot\\... WriteFile – отправить сообщение; широковещательное – до 424 байт
Описание слайда:
Mailslots API: клиент CreateFile – открыть ящик \\*\Mailslot\\... \\\Mailslot\\... WriteFile – отправить сообщение; широковещательное – до 424 байт

Слайд 54


Преимущества ??
Описание слайда:
Преимущества ??

Слайд 55


Недостатки Односторонняя передача данных Нет гарантии доставки 424 БАЙТА МАКСИМУМ случайности не случайны (424000) To send messages that are larger...
Описание слайда:
Недостатки Односторонняя передача данных Нет гарантии доставки 424 БАЙТА МАКСИМУМ случайности не случайны (424000) To send messages that are larger than 424 bytes between computers, use named pipes or Windows Sockets instead.

Слайд 56


Обмен сообщениями 4. Сокеты
Описание слайда:
Обмен сообщениями 4. Сокеты

Слайд 57


Сокеты Сокет – программный интерфейс сетевого обмена между процессами Прямое соединение IP Порт
Описание слайда:
Сокеты Сокет – программный интерфейс сетевого обмена между процессами Прямое соединение IP Порт

Слайд 58


Сокеты Синхронные Асинхронные Блокирующие Неблокирующие TCP UDP
Описание слайда:
Сокеты Синхронные Асинхронные Блокирующие Неблокирующие TCP UDP

Слайд 59


Сокет: Сокет: создается; настраивается на заданный режим работы; применяется для организации обмена; ликвидируется.
Описание слайда:
Сокет: Сокет: создается; настраивается на заданный режим работы; применяется для организации обмена; ликвидируется.

Слайд 60


семейство протоколов семейство протоколов локальный IP-адрес удаленный IP-адрес номер локального порта номер удаленного порта
Описание слайда:
семейство протоколов семейство протоколов локальный IP-адрес удаленный IP-адрес номер локального порта номер удаленного порта

Слайд 61


s = socket(INT AF, INT type, INT protocol), где: s = socket(INT AF, INT type, INT protocol), где: AF (address_family) - набор протоколов (Internet,...
Описание слайда:
s = socket(INT AF, INT type, INT protocol), где: s = socket(INT AF, INT type, INT protocol), где: AF (address_family) - набор протоколов (Internet, Unix, Appletalk и т. д.); type - тип коммуникаций (SOCK_STREAM, SOCK_RAW, и SOCK_DGRAM); protocol - код конкретного протокола из указанного набора (заданного AF) (например, IPPROTO_TCP или IPPROTO_UDP).

Слайд 62


Схема взаимодействия
Описание слайда:
Схема взаимодействия

Слайд 63


Обмен данными write(s, buf, len); read(s, buf, len); send(s, buf, len, flags); recv(s, buf, len, flags), где s — дескриптор сокета, buf — имя...
Описание слайда:
Обмен данными write(s, buf, len); read(s, buf, len); send(s, buf, len, flags); recv(s, buf, len, flags), где s — дескриптор сокета, buf — имя массива, подлежащего пересылке (или предназначенного для приема), len — длина этого массива flags - флаги диагностики и управления передачей данных

Слайд 64


Преимущества и недостатки Преимущества Работают везде Высокий уровень масштабируемости Недостатки Высокая сложность Все проблемы, связанные с сетью
Описание слайда:
Преимущества и недостатки Преимущества Работают везде Высокий уровень масштабируемости Недостатки Высокая сложность Все проблемы, связанные с сетью

Слайд 65


Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию