Разработка масштабируемых программ для многоядерных архитектур

А. Ю. Владова, 2006

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

Оглавление

* * *

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

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Введение

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

— основы многоядерной архитектуры;

— проектирование многопоточных программ с использованием различных инструментальных средств;

— причины плохой масштабируемости программ;

— теоретическая и практическая оценка ускорения и масштабируемости программ;

— элементы оптимизации.

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

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

В качестве языков программирования, в которых разрабатывались и отлаживались приведенные примеры, выбраны С++ и С#, как мощные современные инструменты создания многопоточных приложений. Все теоретические сведения подкреплены примерами и графиками, которые могут служить базой при разработке полноценного программного обеспечения в данной области.

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

Оглавление

* * *

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

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я