Валентин Юльевич Арьков - Организация параллельных потоков. Часть 1. Лабораторный практикум

Шрифт
Фон

Организация параллельных потоков. Часть 1

Лабораторный практикум


Валентин Юльевич Арьков

© Валентин Юльевич Арьков, 2020


Введение

Большинство современных процессоров в настольных компьютерах и мобильных устройствах  многоядерные. Чтобы эффективно использовать такие вычислительные ресурсы, необходимо составлять параллельные программы. Для этого можно задействовать параллельные потоки либо параллельные процессы.

В данной работе рассматривается технология параллельного программирования потоков Microsoft Windows встроенными средствами, без специальных библиотек. Для составления и компиляции программ на Си используется бесплатная интегрированная среда разработки Microsoft Visual StudioCommunity Edition.

Общие теоретические сведения об организации параллельных вычислений можно найти в соответствующей литературе [16]. В данной работе мы рассматриваем только основы организации параллельных потоков.

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;

 версия операционной системы;

 разрядность операционной системы;

 число выполняемых потоков на ядро;

 число виртуальных процессоров;

 объём занятой оперативной памяти;

 объём виртуальной памяти

 наличие подкачки.

2.2. Среда разработки

Данная работа выполняется с использованием среды разработки Microsoft Visual Studio. Далее рассматриваются примеры программ на языке программирования С, хотя компилятор поддерживает также и С++.

В работе используется бесплатная версия среды разработки:

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3