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

Разработка масштабируемых программ для многоядерных архитектур
Автор книги: id книги: 573545     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 160 руб.     (1,6$) Читать книгу Купить и скачать книгу Купить бумажную книгу Электронная книга Жанр: Техническая литература Правообладатель и/или издательство: "Центральный коллектор библиотек "БИБКОМ" Дата публикации, год издания: 2006 Дата добавления в каталог КнигаЛит: Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 0+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

В лабораторном практикуме изложены предпосылки разработки и основы многоядерной архитектуры на примере процессоров 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 Литература, рекомендуемая для изучения раздела

Заключение

Список использованных источников

Отрывок из книги

Гонка тактовых частот, продолжавшаяся на протяжении многих лет уходит в прошлое, так как развитие физики полупроводников, следствием которого стало увеличение числа логических элементов на единицу площади, подчиняющееся закону Гордона Мура, провоцирует ряд проблем, таких как перегрев и физическое ограничение плотности транзисторов. Проблема перегрева транзисторов в современных процессорах стоит очень остро. Сами транзисторы становятся все меньше, но при этом с ростом тактовой частоты процессора они потребляют больше мощности и выделяют больше тепла. До бесконечности это продолжаться не может, поскольку приводит к быстрому обгоранию соответствующего контакта разъема, нагреву и сколам процессора, разряду батарей питания. Суть проблемы заключается в том, что современные процессоры потребляют такую мощность, что при питании их стабилизаторов от шины +5В ток превосходит разумные пределы (мощность равна произведению тока на напряжение, поэтому, чем ниже напряжение, тем выше ток при той же мощности). По всей видимости, масштабирование процессоров по тактовой частоте оказалось не столь простой задачей, как предполагалось, и потому при сегодняшних технологических нормах производства процессоров и малоэффективных воздушных системах охлаждения добиться линейного масштабирования тактовой частоты процессоров не удаётся.

Таким образом, производители столкнулись с проблемой достижения предела прогнозируемой скорости роста тактовой частоты – небольшого зазора оптимизации исполнения в пределах одного ядра, за которым рост сложности становится неоправдан и для дальнейшего наращивания размеров кэш-памяти процессоров остается лишь небольшой зазор для развития [1]. Осознав, что увеличение прежними темпами тактовых частот процессоров не представляется невозможным, нужно было искать принципиально иные технологии увеличения производительности процессоров. Достигая пределов роста скорости и уровня охлаждения, производители процессоров пришли к одному и тому же решению: объединить в одной микросхеме два процессорных ядра. Поэтому перспективным направлением для дальнейшего развития видится многоядерная и многопотоковая архитектура процессоров.

.....

Я предлагаю назвать этот канал «бутылочным горлом фон Неймана». Наверняка должно быть менее примитивное решение, чем перекачивание огромного количества данных через «узкое бутылочное горло». Такой канал не только создает проблему для трафика, но еще и является «интеллектуальным бутылочным горлом», которое навязывает программистам «пословное» мышление, не позволяя рассуждать в более высоких концептуальных категориях» [1].

С момента произнесения Бэкусом его речи в программировании произошли заметные сдвиги, появились функциональные и объектно-ориентированные технологии, и с их помощью удалось преодолеть то, что Бэкус называл «интеллектуальным фон-неймановским бутылочным горлом». Однако архитектурная первопричина данного явления, врожденная болезнь канала между памятью и процессором – его ограниченная пропускная способность – не исчезла, несмотря на прогресс в области технологии за прошедшие с тех пор 30 лет. С годами эта проблема постоянно усугубляется, поскольку скорость работы памяти растет гораздо медленнее, чем производительность процессоров, и разрыв между ними становится все больше .

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу Разработка масштабируемых программ для многоядерных архитектур
Подняться наверх