Валентин Арьков - Организация параллельных потоков. Часть 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:

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


С этой книгой читают
Изучая операционные системы, важно и понимать теорию, и уметь практически работать на компьютере. Функции любой операционной системы сводятся к понятию управления. Реализация этих функций – это выбор интерфейса пользователя: командная строка, файловый менеджер или оконная система. В курсе ОС мы рассматриваем все три вида интерфейса – практически, но с пониманием теории. Для упражнений будем использовать популярную ОС, название которой буквально п
Гистограмма – это один из самых простых инструментов статистического управления качеством производства. В этой работе будет использоваться электронная таблица для создания исходных данных, а также для построения и анализа гистограммы. Можно также использовать любой другой программный инструмент, позволяющий строить гистограммы.
Перед вами продолжение серии пособий, позволяющих познакомиться с основными технологиями бизнес-аналитики. Многое можно сделать в рамках электронной таблицы, которая превращается в интуитивно понятный интерфейс к продвинутым инструментам анализа данных.В данной работе мы рассмотрим создание реляционной модели и визуализацию иерархии в агрегированных данных с использованием специализированных надстроек.
Каждое новое название грозит заказчику повышением стоимости услуг: статистика, математическая экономика, эконометрика, бизнес-аналитика, наука о данных, машинное обучение… Все перечисленные технологии используют метод наименьших квадратов (классический регрессионный анализ), который мы и будем рассматривать – в самых разных видах. Нас ожидает парная и множественная, линейная и нелинейная регрессия, разное количество входов и выходов модели, учёт
Социальные сети давно уже превратились в нечто большее, чем просто интернет-ресурс для общения. Коммуникации в них отходят на второй план, а посетители сетей стремятся использовать другие их функции. Найти работу с помощью социальной сети давно уже не так сложно, как найти работу с помощью любого другого способа.
"100 лайфхаков с содой" – это практическое руководство, которое раскрывает множество удивительных и полезных способов применения соды в повседневной жизни. В книге собрано 100 лайфхаков, охватывающих различные области: от уборки и ухода за домом до использования соды в кулинарии, садоводстве и даже в уходе за автомобилем. Независимо от того, хотите ли вы избавиться от пятен, устранить запахи, улучшить состояние кожи или защитить растения в своем
Каждый родитель мечтает, чтобы его ребенок заговорил правильно и красиво. Но что делать, если малыш картавит, путает буквы или совсем молчит? Вам не обязательно сразу бежать к логопеду – в этой книге вы найдете простые и эффективные упражнения, которые помогут вашему ребенку развить правильную речь в домашних условиях. Веселые игры, артикуляционная гимнастика и проверенные методики специалистов сделают занятия легкими и интересными. Подходит для
Соль – это не только один из самых распространенных ингредиентов в кулинарии, но и настоящая сокровищница для самых разных бытовых и творческих решений! В этой книге собраны 100 удивительных и простых лайфхаков, которые помогут вам раскрыть весь потенциал соли в повседневной жизни. От улучшения вкуса блюд до создания уникальных художественных проектов – соль будет вашим незаменимым помощником.
Альберт Эйнштейн – гений от физики, прекрасный ученый, революционер. Про него много шуток и мемов, невероятных историй и анекдотов. Каковы его главные достижения и как его теории перевернули мир? Краткая биография легендарного Эйнштейна просто и понятно объяснит вам, в чем заключается ценность этого человека.Будьте в курсе науки – всего за час!
Освоение космоса давно шагнуло за рамки воображения:– каждый год космонавты отправляются за пределы Земли;– люди запускают спутники, часть которых уже сейчас преодолела Солнечную систему;– огромные телескопы наблюдают за звездами с орбиты нашей планеты.Кто был первым первопроходцем в небе? Какие невероятные теории стоят за нашими космическими достижениями? Что нас ждет в будущем? Эта книга кратко и понятно расскажет о самых важных открытиях в обл
Страшна любовь господина болот! Но за нелюбимого замуж – куда страшнее. Иве чудилось, она с жизнью прощалась, когда шла в запретную чащу и молила Хозяина болота о помощи. Одного она не ждала – что страшная сказка оживёт, а Хозяин отзовётся и примет жертву.
Размеренная жизнь юной герцогини Астрид оборвалась в тот день, когда ее отец дал согласие на свадьбу с наследным принцем земных драконов. Все мечты о счастливой семейной жизни полетели прахом, ведь оказавшись в замке, она столкнулась с грубостью, безразличием и жестокостью со стороны принца. Брачная ночь обернулась кошмаром после того, как новоявленный супруг проиграл ее невинность в кости… И как не потерять себя, оказавшись в полном одиночестве?