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

Шрифт
Фон

5.5. Анализ эффективности

У нас практически всё готово для анализа эффективности распараллеливания.

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

 speedup  ускорение;

 efficiency  эффективность.

Формулы для вычисления этих показателей приводятся на рис. 5.15.


Рис. 5.15. Характеристики распараллеливания


Обозначения в формулах:

Т1  время выполнения последовательной программы (на одном процессоре);

р  количество виртуальных процессоров, работающих параллельно при выполнении программы;

Тр  время выполнения параллельной программы на р процессорах;

Sp  ускорение вычислений на р процессорах;

Ep  эффективность параллельных вычислений на р процессорах.

КОНЕЦ ОЗНАКОМИТЕЛЬНОГО ОТРЫВКА

Показатель ускорения говорит о том, во сколько раз быстрее работает параллельная программа. Можно сказать, что ускорение измеряется «в разах».

Ускорение вычислений не надо путать с ускорением в физике. В разделе «Механика» ускорение измеряется в квадратных метрах в секунду и отражает скорость изменения скорости движения.

Показатель эффективности говорит о средней загрузке вычислительной мощности. Обычно измеряется в процентах. По сути, это эффективность использования (загрузки работой) доступных вычислительных элементов.

Задание. Изучите в английской версии Википедии статью «Speedup» и обратите внимание на определение терминов «ускорение» и «эффективность». Выясните, что такое «сверхлинейное ускорение» (Super-linear speedup) и за счёт чего оно достигается.

5.5.1. Пакетный файл

Создаём пакетный файл в каталоге Release текущего проекта (рис. 5.16).

В первой строчке пакетного файла мы отключаем вывод на экран выполняемых команд.

Во второй строчке мы формируем строку заголовков полей (столбцов), разделяя их символом табуляции.

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


Рис. 5.16. Пакетный запуск


Запускаем пакетный файл и перенаправляем вывод в текстовый файл:

18> 18.txt.

Следим за загрузкой ядер (рис. 5.17). При каждом запуске загрузка поднимается до 100%. Это радует.

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

 один процессор (Sockets  1);

 четыре ядра (Cores  4);

 восемь логических (виртуальных) процессоров (Logical processors  8).


Рис. 5.17. Загрузка процессора


Задание. Запустите пакетный файл (рис. 5.16) и направьте вывод результатов в текстовый файл.


Получаем текстовый файл.

Открываем его в Блокноте:

Notepad.

Убеждаемся, что здесь записаны колонки цифр (рис. 5.18).

Когда число оказывается длиннее, чем восемь знаков, получаем смещение на следующую позицию табуляции. Надеемся, это не помешает импорту данных в Excel.


Рис. 5.18. Результаты работы


Задание. Изучите содержимое полученного текстового фйала в Блокноте.

5.5.2. Сводная таблица

Загружаем текстовый файл в Excel. Указываем символ табуляции в качестве разделителя полей.

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

Text Import Wizard  Step 3 of 3  Advanced  Decimal separator .

После загрузки форматируем полученную таблицу.

Добавляем вычисление десятичного логарифма от числа итераций и времени выполнения  три дополнительных стобца (рис. 5.19).


Рис. 5.19. Загруженная таблица


Задание. Загрузите таблицу и добавьте вычисление логарифма.


Данные загружена и подготовлены. Переходим к анализу результатов.

Щёлкаем по нашей таблице. Присвоим таблице уникальное имя:

Table Tools  Design  Properties  Table Name (рис. 5.20).

С помощью названия Sum8Threads мы напомним себе, что это была программа суммирования и в этом опыте были задействованы 8 параллельных потоков.


Рис. 5.20. Имя таблицы


Задание. Присвойте таблице короткое информативное имя.


Построим сводную таблицу (Pivot Table).

Выбираем в верхнем меню вставку сводной таблицы:

Insert  Tables  PivotTable.

Делаем настройки в диалоговом окне:

Create PivotTable.

Убеждаемся, что данные для анализа будут взяты из нашей таблицы:

Choose the data that you want to analyze  Select a table or range  Sum8Threads.

Указываем место для сводной таблицы на текущем листе:

Choose where you want the PivotTable report to be placed  Existing Worksheet.

КОНЕЦ ОЗНАКОМИТЕЛЬНОГО ОТРЫВКА

Choose where you want the PivotTable report to be placed  Existing Worksheet.

В строчке Location выбираем ячейку на текущем листе. Это будет левый верхний угол нашей сводной таблицы (рис. 5.21).

Нажимаем ОК.


Рис. 5.21. Вставка сводной таблицы


На текущем листе появляются очертания будущей сводной таблицы (рис. 5.22).

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

PivotTable Filelds.


Рис. 5.22. Заготовка сводной таблицы


Настроим поля сводной таблицы (рис. 5.23).

Перетаскиваем поля из списка в области строк и столбцов:

Rows  lg N;

Values  lg Twin, lg Tomp.

После такой настройки в сводной таблице появляются числовые значения.

В разделе значений Values мы видим указание на вычисление суммы значений:

Sum of lg Twin;

Sum of lg Tomp.


Рис. 5.23. Выбор полей


Настроим вычисление средних значений:

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

0
Шрифт
Фон

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

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

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

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