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

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

В данной лабораторной работе рассматриваются основы организации параллельных потоков с помощью стандартных вызовов операционной системы. В работе используется бесплатная интегрированная среда разработки. Приводятся примеры программ на языке Си.

Жанры: Научная литература, Компьютерная литература, Технические науки
Серии: -
Всего страниц: 7
ISBN: -
Год издания: 2020
Формат: Фрагмент

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


Еще от автора Валентин Юльевич Арьков
Организация параллельных потоков. Часть 2

При решении инженерных, экономических и научных задач используются высокопроизводительные вычисления — High Performance Computing или сокращённо HPC. Параллельные программы нужны для того, чтобы использовать вычислительные мощности многоядерных процессоров и графических ускорителей. В данной работе мы рассмотрим технологию автоматической организации параллельных потоков для многоядерных вычислительных машин.


Анализ и визуализация данных в электронных таблицах

Перед вами продолжение серии пособий, позволяющих познакомиться с основными технологиями бизнес-аналитики. Многое можно сделать в рамках электронной таблицы, которая превращается в интуитивно понятный интерфейс к продвинутым инструментам анализа данных. В данной работе мы рассмотрим создание реляционной модели и визуализацию иерархии в агрегированных данных с использованием специализированных надстроек.


Сетевые коммуникации

Общение в сети ничем особенно не отличается от обычного, прямого общения между людьми. Это такое же общение, то есть обмен словами, мыслями или эмоциями между людьми. Вы сможете практически познакомиться с общими правилами общения в сети на примере такого вроде бы простого действия, как составление отзыва. Если честно выполнить все предложенные задания, можно будет узнать что-то новое — о других и о себе.


Бизнес-аналитика. Сводные таблицы. Часть 2

Данная работа посвящена дальнейшему изучению методов бизнес-аналитики на примере «продвинутых» возможностей функций сводных таблиц. Мы продолжаем использовать общий подход к практическому освоению программного пакета: моделирование и исследование. Мы поработаем с генератором случайных чисел и сформируем реалистичные наборы данных для анализа.


Бизнес-аналитика. Извлечение, преобразование и загрузка данных

Системы бизнес-аналитики работают с различными источниками данных с помощью функций ETL (Extract-Transform-Load). Название ETL можно перевести как «извлечение, преобразование и загрузка данных». Имеется в виду загрузка в хранилище данных для дальнейшей обработки в системе бизнес-аналитики. В простейшем случае это загрузка данных в виде одной, объединённой, консолидированной таблицы. В данной работе мы познакомимся с основными этапами ETL на примере загрузки данных в электронные таблицы.


Корреляционный и регрессионный анализ в Excel

Методические указания к выполнению лабораторной работы на тему «Корреляция и регрессия». Работа выполняется в пакете Microsoft Excel.


Рекомендуем почитать
Ельцин и его генералы

Виктор Баранец — бывший пресс-секретарь министра обороны России, более десяти лет прослужил в Центральном аппарате Министерства обороны и Генерального штаба; был уволен из армии сразу после публикации отрывков из своей книги в газете “Совершенно секретно”.Непосредственный участник и свидетель многих событий, потрясших Вооруженные Силы России в 90-е годы, рассказывает о сенсационных и малоизвестных сторонах жизни Минобороны, о некоторых тайнах Генштаба —‘Белого дома на Арбате” — и его обитателях.Автор анализирует скрытые стороны сложных отношений Верховного главнокомандующего с высшим генералитетом, а также представляет галерею портретов многих известных военачальников.


Параллельная попытка

Главный герой - не герой в полном смысле этого слова, не десантник и не спецназовец, не инженер и не врач-хирург, обычный таксист и бывший представитель офисного планктона. Мир рухнул под ядерными ударами. А тут вдруг открылась возможность уйти в более чистый мир прошлого, но не менее агрессивного, чем родной - в мир 1941 года. Главный герой всегда считал, что геройство начинается там, где не нашлось место трезвому расчету. Вот и решил запланировать скрытое переселение и закрепление беженцев в 1941 году.


Грешники в руках разгневанного Бога

Во время второй волны того пробуждения, в 1740-41 годах, Джонатан Эдвардс посетил город Энфилд и проповедовал то, что было названо самой известной проповедью, сказанной из Библии. Она называлась «Грешники в руках разгневанного Бога», основываясь на тексте Второзакония 32:35. Вот свидетельство того дня: «В то время как люди в соседних городах испытывали великие душевные страдания за свои души, местные жители этого городка чувствовали себя безопасно, свободно и непринуждённо. Лекция была назначена в Энфилде; а люди из соседних мест были настолько впечатлены беззаботностью местных, и исполненные страха, что Бог, в Своём праведном суде, прошел мимо них, в то время как божественный дождь падал вокруг них, простирали перед Ним, моля о милости за их души.


Счастье потерянной жизни. Т. 3: Просто ученики

Автобиографический роман Николая Храпова — бесспорно, ярчайшая страница истории евангельского движения в бывшем Советском Союзе. Жизнь автора уникальна, поскольку фактически лишь за написание этой книги 66-летнего старика приговорили к трем годам тюремного заключения. Незадолго до окончания последнего пятого по счету срока, он «освобождается», уже навсегда. Ничто не сломило этого героя веры в его уповании на Бога: ни трудности жизни, ни прелесть соблазнов, ни угрозы со стороны КГБ. Он был и остался победителем".


Пришельцы рядом

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


О "летающих тарелках"

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


Пять пуль профессору Бюллю

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


Откуда взялась Лапута

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


Пища чужих богов

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


Полтергейст на Самотёчной

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