Отправить другу/подруге по почте ссылку на эту страницуВариант этой страницы для печатиНапишите нам!Карта сайта!Помощь. Как совершить покупку…
московское время29.03.24 03:20:31
На обложку
Динамика экосистем Берингова и Чукотского морейавторы — Израэль Ю. А., Цыбань А. В., ред.
Гёте в русской культуре XX векаавторы — Якушева Г. В., ред.
Численное решение систем линейных алгебраических уравненийавторы — Форсайт Д., Моулер К.
б у к и н и с т и ч е с к и й   с а й т
Новинки«Лучшие»Доставка и ОплатаМой КнигоПроводО сайте
Книжная Труба   поиск по словам из названия
Авторский каталог
Каталог издательств
Каталог серий
Моя Корзина
Только цены
Рыбалка
Наука и Техника
Математика
Физика
Радиоэлектроника. Электротехника
Инженерное дело
Химия
Геология
Экология
Биология
Зоология
Ботаника
Медицина
Промышленность
Металлургия
Горное дело
Сельское хозяйство
Транспорт
Архитектура. Строительство
Военная мысль
История
Персоны
Археология
Археография
Восток
Политика
Геополитика
Экономика
Реклама. Маркетинг
Философия
Религия
Социология
Психология. Педагогика
Законодательство. Право
Филология. Словари
Этнология
ИТ-книги
O'REILLY
Дизайнеру
Дом, семья, быт
Детям!
Здоровье
Искусство. Культурология
Синематограф
Альбомы
Литературоведение
Театр
Музыка
КнигоВедение
Литературные памятники
Современные тексты
Худ. литература
NoN Fiction
Природа
Путешествия
Эзотерика
Пурга
Спорт

/ИТ-книги

Многоядерное программирование — Эхтер Ш., Робертс Д.
Многоядерное программирование
Эхтер Ш., Робертс Д.
год издания — 2010, кол-во страниц — 316, ISBN — 0976483246, 978-5-388-00091-0, тираж — 1000, язык — русский, тип обложки — мягк., масса книги — 430 гр., издательство — Питер
серия — Библиотека программиста
КНИГА СНЯТА С ПРОДАЖИ
Shameem Akhter
Jason Roberts
Multi-Core Programming
Increasing Performance through Software Multi-threadind

Intel Press, 2006

Пер. с англ. А. Лашкевич

Формат 70x100 1/16
ключевые слова — многоядерн, многопоточн, высокопроизводительн, intel, параллельн, орепмр, микропроцессор, гиперпоточн, одноядерн, амдал, густавсон, виртуал, синхронизац, семафор, posix, сигнализац, компиляц, компоновк, barrier, nowait, itanium, ia-32, суперскаляр, epic

На сегодняшний день системы, построенные на основе многоядерной архитектуры, набирают всё большую популярность. Эта книга поможет разработчикам программного обеспечения, используя многопоточность, создать высокопроизводительные приложения на основе многоядерной архитектуры Intel. Книга позволяет читателю на практике освоить основы параллельного программирования, программирование с использованием API, интерфейс ОрепМР, решение наиболее распространённых задач параллельного программирования; отладку и тестирование многопоточных приложений; инструменты разработки приложений.

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

ОГЛАВЛЕНИЕ

Об авторах13
 
Предисловие16
Целевая аудитория16
Об этой книге17
Продукты для разработки программного обеспечения компании Intel18
Благодарности19
От издателя перевода20
 
Глава 1. Введение в многоядерную архитектуру21
 
Мотивация параллельности в программах22
Платформы параллельных вычислений24
Параллельные вычисления в микропроцессорах26
Разница между многоядерной архитектурой и технологией
    гиперпоточности29
Многопоточность на одноядерных и многоядерных платформах31
Понятие производительности33
Закон Амдала33
Рост возвращается — закон Густавсона37
Основные моменты38
 
Глава 2. Обзор систем поточной обработки39
 
Определение программных потоков40
Системный взгляд на программные потоки40
Потоки вне операционной системы41
Потоки внутри операционной системы43
Потоки внутри аппаратной части47
Что происходит при создании потока48
Модели прикладного программирования и поточная обработка50
Виртуальная среда: виртуальные машины и платформы50
Виртуализация на стадии выполнения50
Виртуализация систем50
Основные моменты53
 
Глава 3. Фундаментальные концепции параллельного программирования54
 
Разработка с ориентацией на потоки54
Декомпозиция по заданиям55
Декомпозиция по данным56
Декомпозиция по информационным потокам56
Следствия различных форм декомпозиции58
Основные проблемы58
Эталоны параллельного программирования59
Исходная проблема — стохастическое выравнивание61
Анализ алгоритма стохастического выравнивания63
Альтернативный подход — параллельное стохастическое выравнивание64
Другие альтернативы65
Основные моменты67
 
Глава 4. Поточная обработка и конструкции параллельного
программирования68
 
Синхронизация68
Критические секции70
Мёртвая блокировка71
Примитивы синхронизации72
Семафоры73
Блокировки75
Условные переменные78
Сообщения80
Концепции управления потоками82
Ограждение82
Барьер83
Зависящие от реализации свойства потоков83
Основные моменты84
 
Глава 5. API поточной обработки85
 
API поточной обработки для Microsoft Windows85
API поточной обработки — Win32/MFC85
API поточной обработки для Microsoft .NET Framework112
Создание потоков112
Управление потоками115
Пулы потоков117
Синхронизация потоков121
POSIX-потоки123
Создание потоков124
Управление потоками125
Синхронизация потоков126
Сигнализация127
Компиляция и компоновка134
Основные моменты134
 
Глава 6. ОрепМР — переносимое решение для поточной обработки135
 
Проблемы поточной обработки цикла137
Зависимости циклов137
Условия гонок140
Управление общими и приватными данными140
Планирование и разбиение циклов142
Эффективное использование редукций146
Минимизация издержек многопоточносги148
Секции разделения работы150
Программирование с прицелом на производительность150
Конструкции barrier и nowait151
Чередование однопоточного и многопоточного выполнения152
Загрузка и выгрузка данных153
Защита обновлений общих переменных155
Расширение Intel Taskqueuing для ОрепМР157
Библиотечные функции ОрепМР159
Переменные среды в ОрепМР160
Компиляция161
Отладка162
Производительность164
Основные моменты165
 
Глава 7. Решение распространённых проблем параллельного
программирования167
 
Слишком много потоков167
Гонки, мёртвые и живые блокировки170
Мёртвая блокировка173
Высококонфликтные блокировки176
Инверсия приоритета176
Решения для высококонфликтных блокировок178
Неблокирующие алгоритмы180
Проблема ABA182
Попеременное считывание строки кэша184
Проблема восстановления памяти184
Рекомендации184
Безопасные в отношении потоков функции и библиотеки185
Проблемы памяти187
Ширина полосы пропускания187
Работа с кэшем188
Конфликты памяти190
Проблемы кэша193
Ложное разделение193
Согласованность памяти196
Современная архитектура IA-32197
Архитектура Itanium199
Языки высокого уровня202
Предотвращение остановок конвейера на архитектуре IA-32203
Организация данных для достижения высокой производительности204
Основные моменты205
 
Глава 8. Приёмы многопоточной отладки206
 
Общие приёмы отладки206
Разработка с учётом отладки206
Расширение вашего приложения — использование буферов трассировки209
Отладка многопоточных приложений в Windows214
Окно потоков214
Точки отслеживания214
Фильтры точек прерывания215
Присваивание имён потокам216
Сводим всё вместе217
Многопоточная отладка с использованием GDB221
Уведомление о создании потоков221
Получение списка всех потоков приложения221
Установка специфичных для потока точек прерывания222
Переключение между потоками223
Применение команд к группе потоков223
Основные моменты224
 
Глава 9. Основы архитектуры одноядерных процессоров225
 
Основы архитектуры процессоров225
Сравнение суперскалярной архитектуры и архитектуры EPIC232
Основные моменты233
 
Глава 10. Поточная обработка на многоядерных процессорах
производства Intel235
 
Поточная обработка с позиции аппаратуры235
Поточная обработка от Intel239
Технология гиперпоточности240
Разница между многопроцессорностью и гиперпоточностью241
Архитектура гиперпоточности242
Многоядерные процессоры245
Архитектурные подробности245
Сравнение многопроцессорных и многоядерных систем248
Многоядерность для архитектуры Itanium249
Взаимодействие нескольких процессоров254
Обмен информацией между процессорами и многопоточное
    программирование254
Потребление энергии256
Показатели потребления энергии256
Снижение потребления энергии258
Что последует за многоядерной процессорной архитектурой?259
Основные моменты261
 
Глава 11. Продукты Intel для разработки программного обеспечения262
 
Обзор262
Исследования262
Создание263
Отладка263
Настройка264
Контролер потоков Intel Thread Checker264
Как это работает265
Советы по применению266
Использование контролера потоков с ОрепМР267
Компиляторы производства Intel268
ОрепМР268
Спекулятивные предварительные вычисления в программе272
Оптимизация компилятора и кэша272
Отладчик Intel Debugger273
Библиотеки производства Intel274
Библиотека математического ядра275
Встроенные примитивы производительности275
Проблемы параллельных программ при использовании параллельных
    библиотек276
Что дальше277
Блоки построения многопоточности от Intel277
Анализатор производительности Intel VTune277
Поиск узких мест278
Использование диаграммы вызовов для поиска точки создания
    потока279
Проверка баланса нагрузки279
Профилировщик потоков Intel Thread Profiler280
MPI-программирование281
Поддержка MPI компанией Intel283
Программа Intel Trace Analyzer and Collector283
Основные моменты285
 
Словарь терминов287
 
Список литературы301
Книги и статьи301
Интернет-ресурсы304
 
Алфавитный указатель305

Книги на ту же тему

  1. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007
  2. UNIX: взаимодействие процессов, Стивенс Р., 2002
  3. Технологии параллельного программирования MPI и OpenMP: Учебное пособие, Антонов А. С., 2012
  4. Параллельное программирование в среде MATLAB для многоядерных и многоузловых вычислительных машин: Учебное пособие, Кепнер Д., 2013
  5. Современные языки и технологии параллельного программирования: Учебник, Гергель В. П., 2012
  6. Введение в параллельные методы решения задач: Учебное пособие, Якобовский М. В., 2013
  7. Параллельная обработка информации: Т. 5: Проблемно-ориентированные и специализированные средства обработки информации, Малиновский Б. Н., Грицык В. В., ред., 1990
  8. Параллельные алгоритмы целочисленной оптимизации, Хохлюк В. И., 1987
  9. Параллельные вычислительные системы, Головкин Б. А., 1980
  10. Введение в алгоритмы параллельных вычислений, Молчанов И. Н., 1990
  11. Операционные системы. Параллельные и распределённые системы, Бэкон Д., Харрис Т., 2004
  12. Assembler, Юров В. И., 2002
  13. Ассемблер для процессоров Intel Pentium, Магда Ю. С., 2006

Напишите нам!© 1913—2013
КнигоПровод.Ru
Рейтинг@Mail.ru работаем на движке KINETIX :)
elapsed time 0.019 secработаем на движке KINETIX :)