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

Тут можно читать онлайн Валентин Арьков - Организация параллельных потоков. Часть 1 - бесплатно ознакомительный отрывок. Жанр: sci_tech, год 2020. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Организация параллельных потоков. Часть 1
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    2020
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Организация параллельных потоков. Часть 1 - описание и краткое содержание, автор Валентин Арьков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В данной лабораторной работе рассматриваются основы организации параллельных потоков с помощью стандартных вызовов операционной системы.
В работе используется бесплатная интегрированная среда разработки. Приводятся примеры программ на языке Си.

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

Организация параллельных потоков. Часть 1 - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Валентин Арьков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Рис. 6.10. Потеря точности

Примерно оценим сумму половины значений — как среднее f (x), умноженное на половину количества прямоугольников:

S = f ср* N / 2.

Далее можно оценить, при каком числе прямоугольников начинают теряться младшие разряды значения f (x).

Задание. Оцените количество прямоугольников, при котором может начаться потеря точности для переменных типа float и double. Для этого определите, когда будет теряться 1, 2, 3 и т. д. младших разрядов. Оцените время вычислений и тип счётчика цикла.

Задание. Проведите эксперименты, чтобы обнаружить начало потери точности с обоими вещественными типами.

6.7. Параллельное интегрирование

Мы провели подготовительные работы. Можно переходить к экспериментам с параллельными программами. Будем задавать число потоков, равное числу ядер (виртуальных процессоров).

При параллельных вычислениях нужно раздать вычислительные задания разным потокам примерно поровну. Для этого можно использовать метод чередования. Первый поток получает первый отрезок, второй поток — второй отрезок и так далее до максимального номера ядра. Например, до восьмого. Затем мы идём по кругу: первый поток получает девятый отрезок, второй — десятый и так далее. Раздача отрезков продолжается до тех пор, пока не закончатся отрезки.

При организации параллельных вычислений мы просто сообщаем каждому создаваемому потоку его порядковый номер — от 1 до максимального. Затем каждый поток сам находит те значения, которые назначены именно ему.

Задание. Составьте и прогоните параллельные программы для численного интегрирования в соответствии с вариантом задания. Определите показатели эффективности распараллеливания. При возможности доведите программу до потери точности.

Дополнительные эксперименты — это использование части вычислительных ядер, доступных на данном компьютере. В простейшем случае мы запускаем программу, затем она ожидает нажатия клавиши. В этот момент мы задаём Affinity, то есть «соответствие» ядер нашему процессу через Диспетчер задач.

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

Ещё одна дополнительная сложность при создании параллельных программ — это вмешательство операционной системы (ОС) и попытки оптимизировать работу компьютера в целом. При выполнении многопоточной программы ОС может использовать ядра так, чтобы обеспечить их равномерную загрузку. ОС будет перебрасывать потоки с одного ядра на другое. Это дополнительные затраты вычислительной мощности. Наша цель — обеспечить максимальную загрузку выбранных ядер. Загрузка должна быть 100% во всех экспериментах.

Для этого можно назначать привязку к ядрам как для всего процесса в целом, так и для каждого потока.

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

— GetProcessAffinityMask;

— SetProcessAffinityMask;

— SetThreadAffinityMask.

Маска привязки системы определяет все доступные ядра.

Маска привязки процесса ProcessAffinityMask — это набор битов, разрешающих выполнение текущего процесса на выбранных ядрах (виртуальных процессорах) — из списка доступных.

Маска привязки потока ThreadAffinityMask — это разрешение использовать указанные ядра текущим потоком — в пределах маски процесса.

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

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

ЛИТЕРАТУРА

1. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. — СПб.: БХВ-Петербург, 2004. — 608 с.

2. Воеводин Вл. В., Жуматий С. А. Вычислительное дело и кластерные системы. — М.: МГУ, 2007. — 150 с.

Режим доступа:

https://parallel.ru/info/parallel/cluster/

3. Антонов А. С. Введение в параллельные вычисления: Методическое пособие. — М.: МГУ, 2002. — 70 c.

Режим доступа:

https://parallel.ru/news/antonov_intro.html

4. Гергель В. П. Теория и практика параллельных вычислений. — М.: Интуит, 2016. — 501 с.

5. Гергель В. П., Фурсов В. А. Лекции по параллельным вычислениям: Учебное пособие. — Самара: СГАУ, 2009. — 164 с.

6. Гергель В. П. Высокопроизводительные вычисления для многоядерных многопроцессорных систем: Учебное пособие. — Нижний Новгород: ННГУ, 2010. — 421 с.

7. Арьков В. Ю. Анализ распределения в Excel: Учебное пособие. — [б. м.]: Издательские решения, 2019. — 158 с.

Режим доступа:

https://ridero.ru/books/analiz_raspredeleniya_v_excel/

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

Интервал:

Закладка:

Сделать


Валентин Арьков читать все книги автора по порядку

Валентин Арьков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Организация параллельных потоков. Часть 1, автор: Валентин Арьков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x