Организация параллельных потоков. Часть 1. Лабораторный практикум
Валентин Юльевич Арьков
В данной лабораторной работе рассматриваются основы организации параллельных потоков с помощью стандартных вызовов операционной системы.В работе используется бесплатная интегрированная среда разработки. Приводятся примеры программ на языке Си.
Организация параллельных потоков. Часть 1
Лабораторный практикум
Валентин Юльевич Арьков
© Валентин Юльевич Арьков, 2020
ISBN 978-5-4498-3657-1
Создано в интеллектуальной издательской системе Ridero
Введение
Большинство современных процессоров в настольных компьютерах и мобильных устройствах – многоядерные. Чтобы эффективно использовать такие вычислительные ресурсы, необходимо составлять параллельные программы. Для этого можно задействовать параллельные потоки либо параллельные процессы.
В данной работе рассматривается технология параллельного программирования потоков Microsoft Windows встроенными средствами, без специальных библиотек. Для составления и компиляции программ на Си используется бесплатная интегрированная среда разработки Microsoft Visual StudioCommunity Edition.
Общие теоретические сведения об организации параллельных вычислений можно найти в соответствующей литературе [1—6]. В данной работе мы рассматриваем только основы организации параллельных потоков.
1. Общие сведения о работе
Целью работы является изучение технологии программирования параллельных потоков Microsoft Windows.
Основные этапы выполнения работы:
– Процессы и потоки
– Процессоры и ядра
– Компилятор
– Параллельные потоки
– Состояние процесса
– Время выполнения
– Ускорение и эффективность
– Привязка задач к ядрам
– «Гонка» за доступ к данным
– Критическая секция
По результатам выполнения работы оформляется отчёт.
1.1. Составление и оформление отчёта
Отчёт оформляется в виде рабочей книги Microsoft Excel.
Состав отчёта:
– Титульный лист
– Оглавление
– Остальные листы
Для удобства навигации вкладки листов нумеруем.
В оглавлении делаем ссылку на каждый лист.
Подробнее оформление отчёта в пакете Excel описано в работе [7].
Задание. Создайте файл отчёта и оформите титульный лист и оглавление.
1.2. Ключевые определения
Перед началом выполнения работы необходимо определиться с основными терминами.
Задание. Выясните, что означают перечисленные термины:
– прикладная программа (application);
– алгоритм программы
– исходный текст программы;
– компилятор;
– вычислительный процесс (process);
– поток исполнения / выполнения (thread);
– многопоточность;
– центральный процессор (CPU);
– ядро микропроцессора (Core);
– HyperThreading;
– виртуальный процессор.