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

Здесь есть возможность читать онлайн «Валентин Арьков - Организация параллельных потоков. Часть 1» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, Жанр: Технические науки, Прочая научная литература, Прочая околокомпьтерная литература, Руководства, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Организация параллельных потоков. Часть 1»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Организация параллельных потоков. Часть 1», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Для измерения времени нам понадобится следующая функция:

clock_t clock (void).

Эта функция не имеет входных параметров. Она просто сообщает нам, сколько тактов прошло с начала работы программы. Тип возвращаемого значения определён как

clock_t.

Мы должны задать вспомогательные переменные именно такого типа.

Чтобы пересчитать количество тактов в секунды, нужно разделить количество тактов на значение следующей константы:

CLOCKS_PER_SEC.

Чтобы использовать функцию clock, в начале программы нужно подключить библиотеку, указав заголовочный файл:

time. h.

Пример программы приводится на рис. 4.2.

Исходные данные для расчёта времени — целые числа. После деления может получиться дробное число. Чтобы найти результат в виде дробного числа, придётся в формуле переопределить тип переменных.

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

%5.10f.

Рис. 4.2. Измеряем время выполнения

Задание. Составьте программу суммирования с определением времени работы.

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

Задание. Запустите составленную программу с разным значением параметра Nsи укажите в отчёте время выполнения.

Задание. Подберите количество прямоугольников так, чтобы время выполнения программы составляло от 10 до 20 секунд.

4.3. Пакетная обработка

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

Чтобы выполнять рутинные действия в автоматическом режиме, мы будем использовать пакетный файл. Это текстовый файл с расширением *.BAT. В таком файле записаны команды операционной системы.

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

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

4.4. Загрузка в Excel

Следующая проблема — это запись результатов в отчёт. Мы сформируем файл в формате CSV, то есть значения с разделителем:

Comma Separated Values.

В английском варианте разделитель полей — запятая, а разделитель целой и дробной частей — точка. Команда вывода на экран в языке Си тоже использует точку как десятичный разделитель. Нам остаётся организовать вывод полученных чисел в одну строчку через запятую — при каждом прогоне программы. Далее мы переходим на следующую строку.

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

printf (»%d,», S)

printf (»%d\n», Ns)

Чтобы формат вывода легче читался на экране, мы выводим каждое число по отдельности.

После нескольких прогонов мы получим несколько строк. Если вставлять результаты в отчёт вручную, придётся копировать через буфер обмена. Это опять долго и сложно.

Для полной автоматизации работы мы просто перенаправим вывод текста и значений вместо экрана в файл. Для перенаправления стандартного вывода используется символ>. Пример перенаправления вывода в файл:

batch.bat> file. txt.

Кроме того, в начале файла нам нужно отключить вывод на экран каждой команды:

@echo off.

Далее идёт строка заголовков столбцов — тоже через запятую (рис. 4.3).

Рис. 4.3. Содержимое пакетного файла

После прогона и получения текстового файла мы можем загрузить его в пакет Excel. Мы вызываем пункт меню

File — Open.

Затем указываем, что формат файла — текстовый:

Text Files (*.prn, *.txt, *.csv).

Далее с помощью Мастера импортанастраиваем загрузку текстового файла с разделителями и заголовками. Указываем, что десятичный разделитель — точка.

Получаем готовую таблицу с результатами прогонов. И эти результаты уже можно обработать с помощью того же пакета Excel.

Задание. Настройте вывод программы в одну строку через запятую. Создайте пакетный файл по образцу рис. 5. Перенаправьте вывод в текстовый файл. Загрузите файл в Excel.

Задание. Проведите исследование эффективности распараллеливания, задавая разные значения для следующих параметров:

— количество единиц для суммирования;

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

— количество использованных виртуальных процессоров.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Организация параллельных потоков. Часть 1» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Организация параллельных потоков. Часть 1» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x