23febsale10

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

Разработка масштабируемых программ для многоядерных архитектур
Книга в данный момент недоступна
Оценка читателей

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

Оглавление
  • Введение
  • 1 Предпосылки создания многоядерной архитектуры
  • 2 Преимущества многоядерной архитектуры процессоров
  • 2.1 Архитектура Intel Core
  • 2.2 Многоядерная технология AMD
  • 3 Особенности проектирования и написания многопоточных программ
  • 3.1 Инструментальные средства многоядерных систем
  • 3.1.1 Компиляторы
  • 3.1.2 Программные отладчики
  • 3.1.3 Аппаратные отладчики
  • 3.2 Стандарты многоядерных систем
  • 3.2.1 Поддержка на уровне ОС
  • 3.2.2 Многоуровневая виртуализация
  • 4 Вопросы по теоретической части
  • 5 Причины плохой масштабируемости программ
  • 6 Лабораторная работа № 1 – Влияние пропускной способности шины данных на масштабируемость программ
  • 6.1 Формулировка задачи
  • 6.2 Реализация последовательного приложения1
  • 6.3 Инструменты анализа производительности приложения
  • 6.4 Реализация параллельного приложения
  • 6.5 Предварительная оценка ускорения при распараллеливании HotSpot функции
  • 6.6 Практическая оценка ускорения работы программы
  • 6.7 Оптимизация программы для повышения доли параллельного кода
  • 6.8 Оценка ускорения и масштабируемости после оптимизации
  • 6.9 Инструментированный анализ загрузки шины
  • 6.10 Выводы и рекомендации
  • 6.11 Учебное задание
  • 6.12 Задание на самостоятельную работу
  • 6.13 Терминология
  • 6.14 Литература, рекомендуемая для изучения раздела
  • 7 Лабораторная работа № 2 Влияние размера пула потоков на масштабируемость программ
  • 7.1 Причины использования пула потоков
  • 7.2 Математическое описание системы
  • 7.3 Реализация приложения2
  • 7.4 Анализ предполагаемых проблем пула потоков
  • 7.5 Описание алгоритма
  • 7.6 Практическая оценка ускорения и масштабируемости приложения
  • 7.7 Выводы и рекомендации
  • 7.8 Учебное задание
  • 7.9 Задания на самостоятельную работу
  • 7.10 Литература, рекомендуемая для изучения раздела
  • Заключение
  • Список использованных источников
  • Сноски