Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Производительность вычислительных систем

Параллельные системы

Комплексирование вычислительных машин производится с целью

Повышение производительности

Повышение надежности

Производительность вычислительных систем

Производительность делится на системную и пользовательскую

Системная производительность – производительность, достигаемая при решении совокупности пользовательских задач.

Пример: вычислительная система и n вычислительных машин. Скорость выполнения одной задачи такая же, как и для одной машины. Но в таком случае может быть более эффективное распределение ресурсов.

Живучесть вычислительной машины – способность сохранять основные функции в процессе деградации структуры. Три характеристики: быстродействие, точность и надежность.

Упрощение процесса организации контроля вычислений.

Пользовательская производительность – производительность вычислительной системы, которая достигается при решении одной отдельно взятой пользовательской задачи в условиях, когда данной задаче предоставлен приоритет в получении всех необходимых ей ресурсов системы перед задачами других пользователей.

Производительность вычислительной системы включает: скорость выполнения операций, объемы памяти, характеристики операционной системы, пропускную способность каналов внешнего обмена и так далее.

Быстродействие Sн – номинальное, Sr – реальное быстродействие всех составных частей системы.

Реальное быстродействие входит в оценку пользовательской быстродеятельности. Получается для различных классов задач и отличным от этих значений при оценке производительности

E = Sr/Sn – эффективность(системная или пользовательская)

Sn = n * S [FLOPS, MIPS]

Если система организована так, что на любом отрезке времени одна машина системы отводится всегда одной пользовательской программе, то реальное системное быстродействие примерно равно номинальному быстродействию, причем системная эффективность примерно равна единице.

Sp(c)=~ Sn=nS

Ec=Sp( c) /Sn=1

При этом пользовательское быстродействие равно примерно быстродействию одной машины независимо от свойств пользовательских программ. Соответственно пользовательские эффективности всегда одинаковы и тем меньше, чем больше n.

Ep=Sp(n)/Sn=~ 1/n

Чтобы получить пользовательское быстродействие больше S, систему нужно строить так, чтобы приоритетная программа могла выполняться параллельно несколькими машинами системы в пределе N машинами.

Требуется, чтобы в программе данной задачи на каждом этапе ее решения можно было выделить N ветвей, каждая из которых могла бы выполняться независимо от других ветвей.

Производительность Номинальная >= Реальная => S

Эффективность 1 >= En >= 1/n

Sp(n) и E(n) для некоторых величин n при указанном построении системы существенным образом зависит от того, на какое количество независимых ветвей удается разделить решение некоторой конкретной задачи пользователя на каждом этапе выполнения программы, что в свою очередь зависит от частных свойств данной задачи.

Пирамида «стоимость компьютера в зависимости от его вида»

1$ - одноразовые компьютеры(поздравительные открытки)

10$ - встроенные компьютеры(часы, калькуляторы)

100$ - игровые компьютеры(консоли)

1 000$ - ПК

10 000$ - Серверы

100 000$ - рабочие станции (мини-суперкомпьютеры)

1 000 000$ - большие компьютеры (датацентры)

10 000 000$ - суперкомпьютеры(предсказание погоды, моделирование)

Параллелизм задач:

1. Естественный параллелизм и параллелизм множества объектов – естественная задача обладает естественным параллелизмом, если в ее исходной постановке она сводится к операциям над многомерными векторами, либо над матрицами, либо над решетчатыми функциями и так далее. Выполняются одинаковые операции над соответствующими парами чисел или элементов двух аналогичных объектов, либо совокупности одинаковыми операций над всеми числами, характеризующими объект и константы.

Параллелизм множества объектов - задача состоит в обработке информации о различных, но однотипных объектах по одной и той же(или почти одной и той же) программе. Здесь сравнительно меньший вес имеют т.н. интегральные операции.

2. Параллелизм независимых ветвей – самый распространенный тип. В программе решения крупной задачи на тех или иных этапах могут быть выделены независимые части, «ветви», которые при наличии вычислительной системы соответствующих среств могут выполняться параллельно. Ветвь программы Y не зависит от ветви X, если выполняется 4 условия:

1. Между ними нет функциональных связей, иначе говоря, ни одна из входных переменных для ветви Y не является выходной переменной для ветви X, либо какой-нибудь ветви, зависящей от X.

2. Между ними нет связи по рабочим полям памяти. Если ветви программы независимы, они не должны производить запись в одни и те же ячейки памяти.

3. Они независимы в программном отношении, т.е. должны выполняться по разным программам

4. Они независимы по управлению. Условие выполнения ветви Y не должно зависеть от признаков, вырабатываемых при выполнении ветви X или какой-либо ветви, зависящей от X.

3. Параллелизм смежных операций. При выполнении программы встречаются ситуации, когда исходные данные для некоторой i-той операции и условия ее выполнения вырабатываются не при исполнения предыдущей i-1ой операцией, а i-2,i-3,… операции. Если это так, то соответствующее построение вычислительной системы может позволить совместить время исполнения i-той операции с исполнением i-1ой или соответственно i-2,… операций, если подготовка исходных данных и условий исполнения i-той операции заканчивается при исполнении i-kтой операции, k=2,3,…, то i-тую операцию можно совместить с i-k+1, i-k+2, …, i-1 операцией.

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.