Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0104000.68 ПрограммаГЭ_Магистры.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
42.19 Кб
Скачать

Литература

  1. Ноутон П., Шилдт Г. Java 2: Пер. с англ.- СПб.; БХВ-Петербург, 2006.

  2. Брюс Эккел.ь Философия Java. 4-е издание. СПбю. Питер, 2009. Формат:

  3. Т.В. Герасимова. Программирование на языке Java: учебное пособие. СПб.; Изд-во СПбГЭТУ «ЛЭТИ», 2006, 75 с (ЛЭТИ - ХТУ)

  4. К.С. Хорстманн, Г. Корнелл. Библиотека профессионала. Java 2. Том 1-2. Тонкости программирования. – М. Вильямс, 2002

  1. Многопоточное и распределенное программирование

Тема 1. Основы программирования потоков

1.1 Основные отличия процесса и потока

1.2 Корректное завершение потоков

1.3 Обработка исключений в потоках

 Тема 2. Синхронизация

1.1 Основные примитивы синхронизации: мьютекс, семафор, условные переменные

1.2 Виды алгоритмов синхронизации: грубая, тонкая, оптимистичная, ленивая, неблокирующая

1.3 Виды мьютексов: рекурсивный/нерекурсивный, spin, read/write, именованный

1.4 Алгоритмы Петерсона и Лампорта

Тема 3. Ошибки параллельного программирования

1.1 Основные ошибки многопоточного программирования: гонки данных, взаимная блокировка

1.2 Неявные ошибки: блокировки при fork многопоточных программ, проблема ABA инверсия приоритетов

Тема 4. Технологии многопоточного программирования

1.1 OpenMP: назначение, основные ограничения, примеры директив

1.2 Intel TBB: планировщик, создание задач, контейнеры

1.3 Java.util.concurrent: пулы потоков, атомики, Future, контейнеры

Тема 5. Кластерные вычисления

1.1 Виды кластеров

1.2 Стандарт MPI: назначение и основные механизмы обмена сообщениями, редукция

1.3 Стандарт MPI: группы и коммуникаторы, операции коллективного взаимодействия процессов

Литература:

  1. Камерон Хьюз, Трейси Хьюз. Параллельное и распределенное программирование с использованием C++. 2004 г.

  2. Richard Gerber, Aart J.C. Bik... The Software Optimization Cookbook. 2005 г.

  3. Brian Goetz, Tim Peierls, Joshua Bloch... Java Concurrency in Practice. 2006 г.

  4. Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill. Patterns for Parallel Programming. 2004 г.

  5. V. K. Garg. Concurrent and Distributed Computing in Java. 2004 г.

  6. Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming. 2008 г.

  7. http://code.google.com/p/hpcource/wiki/Materials

Руководитель направления

010400 “Прикладная математика и информатика”

к.т.н., доцент А.. Лисс

Руководитель магистерской программы

010479.68 – " Математическое и программное обеспечение вычислительных машин"

д.т.н., профессор Ю.Д. Григорьев

Зав. каф. МО ЭВМ

к.т.н., доцент С.А. Ивановский

Программа одобрена методической комиссией факультета Компьютерных технологий и информатики «_______» _____ 2013 г, протокол № _________

Председатель методической комиссии факультета Компьютерных технологий и информатики

к.т.н., доцент В.А. Михалков