Давайте начнем с цитаты:
что Закон Амдала исключает , это фактор накладных расходов .
, хотя я поддерживаю современную критику использования над-наивного формулы, я должен сначала возражают, что аргумент д-ра Джина АМДАЛА, опубликованный в 1967 году, сохраняется до сегодняшнего дня, так как его основополагающая работа была связана с областью выполнения процессов, а не с производными полями чистых [SERIAL]
, просто - [CONCURRENT]
или True- [PARALLEL]
выполнение различных приемов выполнения кода, которые сопровождают планирование в контексте программирования устройств CPU / GPU / MMC / FPGA.
Учитывая эти дополнительные расходы, изначально чистый [SERIAL]
синтаксис кода расширяется дополнительными блоками новых, специальных, украшенных мета # или элементов прямого синтаксиса, которые интерпретируются и могут компилироваться в новые разделы машинно-зависимого машинного кода.
Эти новые детали представляют собой, как правило, надстройку O (1) затраты, в то время как их выполнение не остается постоянными затратами TimeDOMAIN и SpaceDOMAIN (обычно это полиномиальные c по сравнению с SPACE, тратя больше ВРЕМЕНИ как влияние ограниченных ресурсов на перемещение данных, необходимых для таких порожденных / распределенных операций, связанных с процессом ( передача параметров + возвращенные результаты))
В случае введения затрат на синхронизацию выполнение процесса True- [PARALLEL]
до настоящего времени перестает быть полностью [PARALLEL]
и возвращается с такой территории. полностью независимого [PARALLEL]
-процессного планирования в чисто [SERIAL]
-заказ нескольких полу-[PARALLEL]
(если не, но просто - [CONCURRENT]
) секций исполнения кода, подчиненных на какую-то внешнюю политику (будь то прозрачная синхронизация c или управление ресурсами пула ресурсов и т. д. c)
Q : Как рассчитать максимальное ускорение программы с учетом 0(N)
?
Перечитать т он расскажет о дополнительных накладных расходах и атомарности работы и, скорее, использует строгих и ресурсоемких переформулировок первоначального закона Амдала .
pSO:= [PAR]-Setup-Overhead add-on
pTO:= [PAR]-Terminate-Overhead add-on
Для мелкомасштабных задач единовременная стоимость - из pSPACE + pTIME
дополнительных затрат на передачу параметров (имеющих некоторую зависимость размера от объема данных). xfers) плюс начальная pSO + pTO
, составляющая большую часть времени cTIME + cSPACE
дополнительные расходы на создание новых экземпляров процессов в локальном узле O / S или во время (потенциально гетерогенной) распределенной системы * Конфигурация 1069 *, чтобы встретить и приветствовать новый процесс для его выполнения и завершить его после завершения, может легко превысить преимущества от ( ( 1 - s )/N )
, и такие случаи никогда не получат немного ускорить, но прибегнуть к оплате дополнительных расходов, чем когда-либо может и будет оправдано аргументом Амдаля. Это никогда не является ошибкой доктора Амдала , не так ли?
Для вычислительных задач, которые большие и вычислений- интенсив , pSO + pTO
может быть оправдано делением и (в зависимости от лота s
, определяя остаток от " Parallel часть", являющаяся ( 1 - s )
) [PARALLEL]
усилия могут привести к некоторым приятным ускорениям:
в этих больших и плотных случаях, не сильно разрушенных принципиально переменной, но относительно незначительной частью cTIME + cSPACE
связанных с данными начальных параметров + возвращаемых значений.
При ( 1 - s ) = 75%
ускорение в основном меньше, чем 4 даже для бесконечного числа процессоров.
С учетом наилучших результатов, всех дополнительных издержек и некоторой известной степени детализации обработки с атомарностью работы, вы также можете получить ожидаемые ожидания скорости net, которые будут близки к результирующей обработке, учитывая также все должные шаги для неблокирующего выполнения с условиями гонки и методами предотвращения ограничений O / S, были введены в действие должным образом и способом.