1. Краткая история развития параллельных вычислительных средств 2. Основные тенденции развития параллельных вычислительных средств 3. Производительность вычислительных средств и способы ее оценки 4. Профайлеры и профилирование программ. Способы измерения времени выполнения фрагментов кода. Поиск узких мест 5. Закон Амдала 6. Способы повышения производительности аппаратных средств вычислительной техники и их программная поддержка 7. Виды параллельных вычислительных структур. Достоинства и недостатки. Особенности программирования 8. Оптимизация программных средств: уровни оптимизации и основные правила оптимизации 9. Оптимизирующие компиляторы: обзор возможностей, поддерживаемые оптимизации 10. Грид-системы: принципы организации и программирования. Добровольный метакомпьютинг 11. Векторные расширения системы команд процессоров семейства x86 12. Программирование с использованием расширения MMX 13. Программирование с использованием расширения 3DNow 14. Программирование с использованием расширения SSE 15. Программирование с использованием расширений SSE2, SSE3, SSSE3 16. Программирование многоядерных и многопроцессорных систем. Понятие потоков и процессов. Примитивы синхронизации и межпроцессного обмена