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

Организация параллельных потоков. Часть 1. Лабораторный практикум
Название: Организация параллельных потоков. Часть 1. Лабораторный практикум
Автор:
Жанры: Руководства | Книги о компьютерах | Техническая литература | Прочая образовательная литература
Серии: Нет данных
ISBN: Нет данных
Год: Не установлен
О чем книга "Организация параллельных потоков. Часть 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;

– виртуальный процессор.


Заметим, что независимо от физической конфигурации компьютера, операционная система представляет все вычислительные устройства как виртуальные процессоры.

Задание. Запустите Task Manager (Диспетчер задач) и определите следующие параметры:

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

– размер доступной оперативной памяти;

– число выполняемых процессов;

– число потоков – общее и в каждом процессе;

– уровень загрузки процессора в целом и каждого виртуального процессора.

2. Организация вычислительных экспериментов

2.1. Конфигурация компьютера

Возможности улучшения вычислительной производительности компьютера ограничены его конфигурацией. Поэтому нам предстоит познакомиться со своим компьютером.

Задание. Ознакомьтесь с конфигурацией компьютера и параметрами системы с помощью следующих средств:

– свойства компьютера;

– диспетчер устройств;

– параметр окружения NUMBER OF PROCESSORS;

– сайт производителя процессора;

– диспетчер задач.

Опишите в отчёте конфигурацию и состояние системы:

– процессор;

– разрядность процессора;

– число ядер;

– поддержка HyperThreading;

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

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

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

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

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

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

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

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

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

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

Community Edition.

Дистрибутив находится на сайте

VisualStudio.com.

Рекомендуется использовать английскую версию среды программирования.

Обратите внимание на название каталога, в который установлен компилятор.

В случае 32-разрядной ОС можно установить только 32-разрядные приложения. Каталог для установки:

Program Files.

В случае 64-разрядной ОС можно установить как 32-разрядные, так и 64-разрядные приложения. Каталоги для установки – соответственно:

Program Files (x86)

Program Files.

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

Задание. Проверьте наличие компилятора на компьютере. Если компилятор установлен, запустите его. Если компилятор отсутствует, установите его.

Опишите в отчёте параметры компилятора:

– версия;

– язык интерфейса;

– разрядность.

3. Приёмы программирования

3.1. Программа Hello, World!

Hello, World – это первая программа для знакомства со средой разработки и процедурой компиляции.

Запустите Visual Studio. Создайте новый проект.

File – New – Project.

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

Create a new project – Empty project – Next.

Укажите название проекта:

Project name.

Каталог для хранения проекта:

Location.

Ставим галочку в строке:

Place solution and project in the same directory.

Нажмите кнопку

Create.

Добавьте файл с исходным текстом к проекту:

Solution Explorer – Source Files – [Контекстное меню] – Add – New Item.

В окне

Add New Item

установите

Visual C++ – Code – C++ File (.cpp).

Укажите название файла и его расположение. Нажмите кнопку Add.

Введите текст программы (рис. 3.1).


Рис. 3.1. Программа Hello, World


Сохраните файл, нажав комбинацию клавиш:

Ctrl + S.

Установите конфигурацию проекта

Release;

х86.

Чтобы скомпилировать исполняемый файл, вызываем в верхнем меню

Build – Solution.

Для запуска программы на выполнение используем комбинацию клавиш:

[Ctrl + F5].

Сохранение файла вызывается с помощью следующей комбинации клавиш:

[Ctrl + S].

Рекомендуем создавать проекты в подкаталогах одного рабочего каталога. Названия проектов, файлов и каталогов должны быть короткими и информативными. Чем короче путь к файлу, тем легче будет до него добраться в командной строке.

Задание. Ознакомьтесь с историей программы «Hello, World» на сайте Википедии. Выясните, как правильно переводится эта фраза на русский язык.

Задание. Прочитайте в Википедии статью Консоль. Выясните, что означает слово «консоль».

Задание. Создайте проект и запустите программу на выполнение:

– Создайте новый проект.

– Добавьте файл типа *.С.

– Введите исходный текст программы.

– Скомпилируйте проект и запустите программу.

– Скомпилируйте проект.

– Запустите программу из среды разработки.

– Запустите программу из Проводника Windows.

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

[Win + R] – cmd – OK.

Чтобы перейти на нужный диск, введите букву и двоеточие. Например, для перехода на диск D:, нужно ввести

d:

Переход между каталогами – команда 


С этой книгой читают
Изучая операционные системы, важно и понимать теорию, и уметь практически работать на компьютере. Функции любой операционной системы сводятся к понятию управления. Реализация этих функций – это выбор интерфейса пользователя: командная строка, файловый менеджер или оконная система. В курсе ОС мы рассматриваем все три вида интерфейса – практически, но с пониманием теории. Для упражнений будем использовать популярную ОС, название которой буквально п
Гистограмма – это один из самых простых инструментов статистического управления качеством производства. В этой работе будет использоваться электронная таблица для создания исходных данных, а также для построения и анализа гистограммы. Можно также использовать любой другой программный инструмент, позволяющий строить гистограммы.
Перед вами продолжение серии пособий, позволяющих познакомиться с основными технологиями бизнес-аналитики. Многое можно сделать в рамках электронной таблицы, которая превращается в интуитивно понятный интерфейс к продвинутым инструментам анализа данных.В данной работе мы рассмотрим создание реляционной модели и визуализацию иерархии в агрегированных данных с использованием специализированных надстроек.
Системы бизнес-аналитики работают с различными источниками данных с помощью функций ETL (Extract-Transform-Load). Название ETL можно перевести как «извлечение, преобразование и загрузка данных». Имеется в виду загрузка в хранилище данных для дальнейшей обработки в системе бизнес-аналитики.В простейшем случае это загрузка данных в виде одной, объединённой, консолидированной таблицы. В данной работе мы познакомимся с основными этапами ETL на пример
Сборка шахматных партий гроссмейстеров кроссвордным методом по чертежам. Придётся вспомнить школьный курс программирования по построению блок-схем.
В моём пособии нет глупеньких советов наподобие: носите с собой крупную сумму денег, это притягивает удачу; развесьте по дому надписи «я могу», «я стану богатым» и прочей ерунды. У меня только практические советы по накоплению начального капитала и удачного его вложения в бизнес.
Ежегодно через среднестатистической семейный бюджет проходят в среднем 300 000—2 000 000 руб. Посчитайте, сколько вы зарабатываете в год. Почему мы их не чувствуем? Куда они уплывают? Как их сохранить? На эти вопросы я постараюсь дать вам ответ в своей книге, расскажу о том, как экономить на мелочах, чтобы сохранить миллионы.
В книге подробно описывается уникальная система личностного роста, благодаря которой можно полностью изменить свою жизнь и добиться небывалых высот в работе, бизнесе, спорте или творчестве. Разбудите в себе спящий потенциал, взрастите своего внутреннего Исполина и начните жить той жизнью, о которой мечтаете!
Альберт Эйнштейн – гений от физики, прекрасный ученый, революционер. Про него много шуток и мемов, невероятных историй и анекдотов. Каковы его главные достижения и как его теории перевернули мир? Краткая биография легендарного Эйнштейна просто и понятно объяснит вам, в чем заключается ценность этого человека.Будьте в курсе науки – всего за час!
Освоение космоса давно шагнуло за рамки воображения:– каждый год космонавты отправляются за пределы Земли;– люди запускают спутники, часть которых уже сейчас преодолела Солнечную систему;– огромные телескопы наблюдают за звездами с орбиты нашей планеты.Кто был первым первопроходцем в небе? Какие невероятные теории стоят за нашими космическими достижениями? Что нас ждет в будущем? Эта книга кратко и понятно расскажет о самых важных открытиях в обл
Вторая книга из серии  "Любовь во мраке" После знакомства Кати с миром мистики, прошел месяц. Она пытается забыть Маркуса и жить нормальной жизнью. Фортуна дает такой шанс. Знакомство с интересным парнем зарождает надежду на счастливое будущее. Но судьба коварна и вскоре Катя вновь попадает в водоворот ужасающих и опасных событий. Смерть вновь тянет к ней костлявые руки, желая утащить за собой. Удастся ли Кате выжить? Сумеет ли она не потеря
Действие романа «Тайное правительство. Орден» – это воспоминание о прошлой жизни студентки из 21 века Марии Филатовой. Обычная девушка видит во сне свою жизнь в 18 веке, во времена Великой Французской революции. И жизнь эта связанна с деятельностью таинственного и могущественного ордена вампиров - «Тривольгинов». Орден пишет не только историю Франции, но и историю мира. Образование государства США, появление доллара,