
- •1. Кс як об'єкт дослiдження.
- •2. Принцип дiї кс.
- •3. Принципи фон Неймана та Лєбєдєва побудови кс.
- •4. Класифiкацiя кс. Класифiкацiя за призначенням.
- •5. Класификацiя кс за функцiональним призначенням.
- •7. Класифiкацiя кс за швидкодiєю.
- •8. Базовi шляхи пiдвищення продуктивностi та надiйностi кс.
- •9. Apxiтeктypa набору команд.
- •10. Органiзацiя пам'ятi. Шляхи пiдвищення продуктивностi.
7. Класифiкацiя кс за швидкодiєю.
Знати: вiдноснiсть класифiкацiї, найпопулярнiшi iндекси швидкодiї, їх недолiки.
Быстродействие процессора, как правило, определяется
скоростью элементарных операций, реализуемых в единицу времени. При этом необходимо учесть вероятность использования различных операций.
Основные КС, которые используются на практике:
MIPS - миллион операций в секунду, то есть для любой
данной программы MIPS - просто отношение количества команд в программе ко времени ее выполнения. Таким образом, производительность
может быть определена как обратная ко времени выполнения величина, причем более быстрые машины будут иметь выше рейтинг MPS.
Недостатки:
- зависит от типа команд процессора;
- меняется от программы к программе даже на одном компьютере
- может изменяться по отношению к производительности в обратную сторону.
MFLOPS - миллион элементарных арифметических операций над числами с плавающей
точкой, выполненных в секунду. Применяется только для оценки операций с плавающей точкой. Он базируется на количестве выполняемых операций, а не на количестве выполняемых
команд. То есть, одна и та же программа, работающая на разных компьютерах, будет выполнять разное количество команд, но одно и то же количество операций с плавающей точкой.
Недостатки:
- наборы операций с плавающей точкой несовместимые на разных компьютерах: например, компьютеры Cray вместо деления используют получения обратной величины и умножения;
- индекс изменяется от типа операций, используемых в смеси команд: будет выше для
смеси из 100% команд сложения и ниже для 100% команд деления.
8. Базовi шляхи пiдвищення продуктивностi та надiйностi кс.
3 шляхи органiзацiї паралельних обчислень, поняття незалежних гiлок, надiйнiсть, iнтенсивнiсть вiдмов, вiдмовостiйкiсть, апаратне та програмне масштабування системи.
Повышение продуктивности
Общий метод повышения производительности заключается в организации параллельных вычислений, т.е. одновременное решение задач или сочетании во времени этапов решения одной задачи.
Различают 3 способа организации параллельных вычислений:
1) Сочетание во времени различных этапов различных задач - возможен в однопроцессорных системах.
2) Одновременное решения различных задач или частей задачи - возможен лишь при наличии нескольких обрабатывающих устройств для каждой подзадачи. Здесь выделяют несколько типов параллелизма:
Естественный параллелизм независимых задач: в систему поступает несколько несвязанных потоков от различных задач.
Параллелизм независимых ветвей: при решении задачи могут быть выделены отдельные независимые части (ветви), которые при наличии нескольких обрабатывающих устройств могут выполняться параллельно и независимо друг от друга. Ветви называются независимыми, если:
- ни одна входная переменная ветви не является исходной для другой ветви (отсутствие функциональных связей);
- Ветви не производят запись в те же ячейки памяти;
- Условия выполнения одной ветви не зависят от результатов или признаков, полученных в другой ветке (независимость за управлением);
- Обе ветви должны выполняться по различным блокам программы (программная независимость).
Недостатки: сложность выделения независимых ветвей.
Решаемые задачи: матричная алгебра, линейное программирование, спектральная обработка сигналов, прямые и обратные преобразования Фурье.
Параллелизм объектов или данных:
по одной и той же программе должны обрабатываться данные, получаемые от различных источников, например, от однотипных датчиков, установленных на нескольких объектах.
3) Конвейерная обработка, при которой операция разбивается на несколько частей, каждая из которых обрабатывается блоком процессора, специализирующейся именно на данном типе операций.
Повышение надёжности
Надежность - свойство системы выполнять возложенные на нее функции в заданных условиях функционирования. Важная характеристика надежности - интенсивность отказов - среднее число отказов за единицу времени. Если система содержит n элементов, а λi - интенсивность отказа i-го блока, то интенсивность отказов в системе:
Наработка на отказ - средний промежуток времени между двумя смежными отказами:
При этом вероятность того, что за время t произойдет отказ, равна:
Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой степени интеграции, снижения уровня помех, облегченных режимов работы схем, обеспечение тепловых режимов их работы, а также за счет совершенствования методов сбора аппаратуры .
Отказоустойчивость - это такое свойство вычислительной системы, которая обеспечивает ей как логической машине возможность продолжения действий, заданных программой, после возникновения неисправностей.
Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. Направления, связанные с предотвращением неисправностей и с отказоустойчивость - основные в проблеме надежности. Концепции параллельности и отказоустойчивости вычислительных систем естественным образом связаны между собой, поскольку в обоих случаях требуются дополнительные функциональные компоненты. Поэтому, собственно, на параллельных вычислительных системах достигается как наиболее высокая производительность, так и очень высокая надежность. Имеющиеся ресурсы избыточности в параллельных системах могут гибко использоваться как для повышения производительности, так и для повышения надежности. Структура современных многопроцессорных и многомашинного систем приспособлена к автоматической реконфигурации и обеспечивает возможность продолжения работы системы после возникновения неисправностей.
Понятие надежности включает не только аппаратные средства, но и программное обеспечение. Главной целью повышения надежности систем является целостность данных, хранящихся в них.
Масштабируемость является возможностью наращивать количество и мощности процессоров, объемов оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения.
Добавление каждого нового процессора в действительно масштабируемой системе должно давать прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Одна из основных задач при построении масштабируемых систем является минимизация стоимости расширения компьютера и упрощение планирования. В идеале добавления процессоров в систему должно вести к линейному росту ее производительности. Однако это не всегда так. Потери производительности могут возникать, например, при недостаточной пропускной способности шин данных из-за роста трафика между процессорами и основной памятью, а также между памятью и устройствами ввода / вывода. Реальное увеличение производительности трудно оценить заранее, поскольку оно в значительной степени зависит от динамики поведения прикладных задач.
Масштабируемость программного обеспечения затрагивает все его уровни от простых механизмов передачи сообщений до работы с такими сложными объектами как мониторы транзакций и среда прикладной системы. В частности, программное обеспечение должно минимизировать трафик межпроцессорного обмена, который может препятствовать линейному росту производительности системы. Аппаратные средства (процессоры, шины и устройства ввода / вывода) является лишь частью масштабируемой архитектуры, на которой программное обеспечение может обеспечить предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный процессор может привести к перегрузке других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам.