- •Многопроцессорные системы – общая характеристика, актуальность. Области применения. История развития. Виды параллелизма – расслоение памяти, векторно-конвейерная обработка, множественные фу.
- •2 Класса архитектур. Общая память – достоинства, недостатки.
- •Классификация Флинна. Примеры.
- •2 Варианта локальной памяти:
- •5. Иерархия памяти в современных компьютерах. Кэш. Терминология. 3 типа кэш-памяти. Стратегии поиска и замещения блоков. Сквозная и обратная запись. Достоинства и недостатки.
- •6. Проблема когерентности кэшей. Кэш с наблюдением (snooping) . Алгоритм mesi.
- •7. Уровни состоятельности. Строгая состоятельность – проблема поиска и проблема синхронизации записи. Владельцы и менеджеры данных. Write-broadcast и write-invalidate схемы записи.
- •Модели с ослаблением состоятельности.
- •Схемы, основанные на каталогах.
- •Виды коммуникационных сред. Составные части. Коммутаторы – простые и составные, с временным и пространственным разделением.
- •Классификация сетей. Терминология. Представление в виде графов. Топологии – решетка, тор, гиперкуб, челнок, дерево и др.
- •Массово-параллельные компьютеры – определение, основные понятия, история. Mpp. Asci Red и Cray t3e.
- •Измерение производительности. Терминология. Время отклика, время цп, таковая частота. Виды тестов. Фирменные тесты. Mips и mflops.
- •Тесты linpack. Ливерморские циклы. Spec. Тесты tpc.
- •Проектирование параллельных алгоритмов. 4 этапа. Характеристика этапов.
- •Декомпозиция – основная задача. 2 метода. Контрольные вопросы.
- •Определение коммуникаций. Варианты. Связь с 1 этапом.
- •Локальные и глобальные коммуникации. Контрольные вопросы.
- •Укрупнение. Цели. Методы. Контрольные вопросы.
- •Время простоя. Пример общей модели.
- •Эффективность и ускорение. Анализ масштабируемости – при фиксированном размере задачи, при переменном размере задачи.
- •Экспериментальные исследования – задачи, характеристика. Сравнение теоретических и экспериментальных данных. Возможные причины отклонений.
- •Модульность в параллельных программах. Виды композиции. Проблема перераспределения данных. Последовательная композиция – spmd. ScaLapack.
- •Параллельная композиция. Конкурентная композиция. Примеры. Правила применения.
- •Анализ производительности программы в целом. Усложняющие факторы. Пример.
- •Средства разработки параллельных программ. Классификация. Pvm – характеристика и идеология. Основные функции.
- •Нити. Синхронизация. Асинхронные коммуникации. Проблема детерминизма. Распределение по процессорам. – 2 фазы. Производительность.
- •Fortran 90 и hpf. Параллельные расширения f90. Основные понятия и директивы hpf. Примеры.
- •OpenMp – идея, технология, основные понятия. Основные директивы. Пример программы.
- •Linda – основные понятия. Функции. Пример – реализация барьерной синхронизации.
Тесты linpack. Ливерморские циклы. Spec. Тесты tpc.
LINPACK - это пакет фортран-программ для решения систем линейных алгебраических уравнений.
В основе алгоритмов действующего варианта LINPACK лежит метод декомпозиции. Исходная матрица размером 100х100 элементов (в последнем варианте размером 1000х1000) сначала представляется в виде произведения двух матриц стандартной структуры, над которыми затем выполняется собственно алгоритм нахождения решения. Подпрограммы, входящие в LINPACK, структурированы. В стандартном варианте LINPACK выделен внутренний уровень базовых подпрограмм, каждая из которых выполняет элементарную операцию над векторами. Набор базовых подпрограмм называется BLAS.. Все операции выполняются над числами с плавающей точкой, представленными с двойной точностью. Результат измеряется в MFLOPS.
Корпорация SPEC
Основной целью этой организации является разработка и поддержка стандартизованного набора специально подобранных тестовых программ для оценки производительности новейших поколений высокопроизводительных компьютеров.
За время существования этой организацией был разработан целый ряд оценок производительности. На основании выполнения этих программ формировались дифференциальные оценки SPECratio – отношение времени выполнения каждой программы к времени. Интегральной оценкой производительности является SPECmark – среднее геометрическое всех 10 оценок SPECratio.
В 1992 году появилась новая версия оценок, включающая 6 целочисленных задач. Методика подсчета сумм не изменялась, за исключением того, что оценка мультипрограммнй обработки SPECrate подсчитывается в рамках метода однородной загрузки. При этом выполняемое задание состоит из множества копий тестовой программы, а мерой производительности служит количество копий, завершенных в единицу времени.
SPEC 92 за доли секунды и способных целиком разместить тесты в кэш-памяти.
В 2001 году вышла последняя момент версия тестов – SPEC 2000 1.2. 12 целочисленных программ и 14 программ с плавающей точкой.
Совет TPC
Любая компания или организация может стать членом TPC после уплаты соответствующего взноса. К настоящему времени TPC создал ряд тестовых пакетов для обеспечения объективного сравнения различных систем обработки транзакций и планирует создать новые оценочные тесты.
В настоящее время практически все бизнес-транзакции выполняются с помощью компьютеров. Наиболее характерными примерами систем обработки транзакций являются системы управления учетом, системы резервирования авиабилетов и банковские системы. Таким образом, необходимость стандартов и тестовых пакетов для оценки таких систем все больше усиливается.
Тесты TPC-A используется для оценки эффективности выполнения транзакций типа «дебет-кредит». Моделируется работа сети филиалов банка. Клиенты имеют счета в этих филиалах. Выполняется 1 тип транзакции – манипулирование счетом клиента. Ведется история транзакций.
Тесты TPC-B отличаются только способом подсчета стоимости системы.
Тесты TPC-C оценивают работу системы в режиме оперативной обработки транзакций – OLTP. Моделируется функционирование нескольких складов компании. Используются операции выборки, соединения, агрегации. Тест оценивает количество транзакций, выполненных в минуту, а также стоимость одной tpmC.
Тест TPC-D используется для оценки эффективности систем поддержки принятия решений (DSS) с многонаправленными соединениями, сортировками и агрегациями данных. Моделируются запросы типа определения пациентов клиники, имеющих определнные заболевания и проживающих в определенном районе. В результате тестирования определяются:
производительность обработки запросов – к-во запросов, которое может быть обработано при монопольном использовании всех ресурсов системы;
пропускная способность системы – количество запросов, которые система способна совместно обрабатывать в течение часа;
отношение стоимость/производительность – стоимость 5-летней эксплуатации, отнесенная к числу запросов, обработанных в час.