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