Количественные метрики для параллелизма - PullRequest
0 голосов
/ 15 октября 2018

Некоторые параметры были описаны в книге «Продвинутая компьютерная архитектура» Хванга, например, «Ускорение, Эффективность, Избыточность, Использование и Качество», как показано на рисунке ниже.

enter image description here

Я все понимаю и частично понимаю последний параметр, качество.Вопрос в том, почему качество имеет обратную связь с избыточностью.Как уже говорилось, избыточность показывает соответствие между программным параллелизмом и аппаратным обеспечением.Например, один процессор выполняет одну единичную инструкцию, поэтому O (1) = 1.

За счет O (n) мы на самом деле увеличиваем количество процессоров, поэтому увеличивается единица работы, а верхняя граница равна n,Итак, это хорошо!не так ли?

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

Есть мысли?

1 Ответ

0 голосов
/ 19 октября 2018

Я думаю, что неправильно понял O (n), которое представляет собой общее количество операций блока, выполненных всеми процессорами за всю продолжительность выполнения.Это не имеет верхней границы, и O (1) не обязательно (и реально не) 1;это зависит от приложения.Если нам пришлось выполнить больше операций для распараллеливания приложения на n процессорах по сравнению с выполнением его на однопроцессорном процессоре (т. Е. Избыточность больше 1), то это плохо, и чем больше избыточность, тем больше несоответствие между программным обеспечением иаппаратный параллелизм.В идеале избыточность равна 1. Поэтому, если мы хотим объединить ускорение, эффективность и избыточность в единый показатель качества, ускорение и эффективность должны быть в числителе, а избыточность должна быть в знаменателе.

Стоит отметить, что большинство верхних и нижних границ для этих метрик, упомянутых в книге, слишком упрощены на современных процессорах.Они имеют смысл на простых (скалярных) процессорах.Однако в современной многоядерной системе они точно не отражают то, что может произойти в реальности.Например, ускорение в двухпроцессорной системе может быть ниже 1 или выше 2. Избыточность зависит не только от ISA, но и от компилятора.Таким образом, он может быть меньше 1 или больше 2. Хотя сами показатели могут быть очень полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...