Закон Амдала для конкретных тяжелых задач - PullRequest
1 голос
/ 15 марта 2019

У меня есть набор задач (отправка SMS через GSM-модем), которые могут выполняться полностью параллельно, но одна задача смс не может.Каждая задача занимает около 10 секунд, чтобы выполнить.Итак, теперь я пытаюсь оценить, как он будет себя вести с модемом 4 GSM.

Закон Амдала

Speedup=1/((1-p)+P/s)

В моем случае p = 1, поскольку задачи полностьюпараллельно и s = 4 (GSM модемы)

Таким образом

Speedup = s

Вопрос Как я могу представить такие случаи в моих подсчетах

NumberOfTasks % s != 0

Например, если у меня есть 5 GSM модемов, но нужно отправить только одно SMS, моя задача вообще не идет параллельно, но с этим законом я получаю, что ускорение равно 5.

Так что на самом деле требуется 10секунд, но по закону Амдала я получаю 10/5 = 2 секунды

1 Ответ

0 голосов
/ 02 июля 2019

Как правильно применить аргумент Амдала:

Д-р.Джин AMDAHL сформулировал закон довольно давно, когда улучшения организации потоков обработки были в центре внимания для вычислительных центров мэйнфреймов, для промышленного производства, для общей оптимизации рабочих процессов.Этот закон все еще действует и имеет свое слово:

imageS ">

Ориентированная на процесс точка зрения в простоте осталась немного невидимойтрадиционной формулы, но никогда не должно быть.То же самое относится к «инвентарю» (в некоторой степени специализированных, «продуктовых») ресурсов.Если вас интересует более подробная информация, можно перечитать подробности из истории № 3 в https://stackoverflow.com/revisions/18374629/3

Оба параграфа, с переформулированнойЗакон Амдала в главе Критика содержит все подробности об обосновании, почему мы не можем просто поместить числа в формулу и ожидать действительный (то есть разумный и достижимый) результат.

Итак,Давайте начнем с абстракции ПРОЦЕССА:

Один из них, идентифицированный и названный выше, - это процесс отправки SMS-сообщения.Это может занять ~ 10 [с].Этот процесс независим (ура, без координации, без барьеров, без семафоров, без блокировок, без межпроцессного взаимодействия), но неделим по длине, поэтому для краткости мы можем назвать его atomic-process поскольку оно не может быть выполнено, но полностью "атомарно" -различимо, но имеет некоторую задержку (длительность), прежде чем может быть достигнуто состояние завершения процесса.

Каждый из процессов будет работать только тогда и только тогда, когда , когда он был одновременно сопоставлен (выделен) и запланирован (активирован / выполнен) с некоторым ресурсом обработки.

Итак, следующие РЕСУРСЫ:

Как тамуже определено в оригинальном посте, есть 4-СМС-модемы.Это специфичные для процесса ресурсы, которые несут ответственность за перенос «атомарного» -процесса (задачи) независимо друг от друга (что является простым случаем, а не автоматически расширяемым до бесконечности, так как сеть оператора начнет блокировать, как толькосеть радиодоступа (последняя миля GSM), POP-обработка (узел BTS) и / или сеть оператора (восходящие линии от BTS к MSC) начнут достигать потолков доступных мощностей своих соответствующих ресурсов - все сложные системы простоимеют сложные иерархии распределения ресурсов / мощностей / рабочих нагрузок / потолков, связанных с производительностью, где каждый может начать блокировать некоторые из наших «атомарных» задержек (длительностей) интересующего процесса и «планируемости» (отображение процесса на «наш»«идентифицированная единица специфичного для процесса ресурса обработки ... то есть GSM-модем имеет некоторое количество фоновой логики, связанной с координацией GSM-сети, поэтому его поведение не изолировано от сложности локального трафика GSM-соты, процессsed как на локальном BTS-узле, так и на сложных условиях BTS / MSC-сети в условиях обработки / координации трафика, которые мы наблюдаем не косвенно, а по увеличенной задержке или даже по реакции отказа в обслуживании, если BTS-узелне в состоянии обработать наш запрос «атомарного» процесса и отбрасывает его после некоторых управляемых по стандарту GSM тайм-аутов, так как он не может принимать и переносить SMS - поэтому известно, что SMS является негарантированным сервисом обмена сообщениями, посколькуever).

Итак, оставим простое предположение, что SMS-модем всегда будет обрабатывать запрос на отправку SMS, поэтому в этом упрощенном случае управления ресурсами единственным ограничивающим фактором является количество SMS-модемов.- здесь, будучи 4

Переформулировка строго по ресурсам и с учетом ресурсов:

                          1                       Where: s      := a SERIAL only part of the End-to-End process-flow
S =  ____________________________________________        1 - s  := a PARALLEL organizable part
                   / ( 1 - s )           \               pSO    := a PARALLEL task setup overhead
     s + pSO + max|  _________ , atomicP  | + pTO        pTO    := a PARALLEL test termination overhead
                   \     N               /               N      := a number of resources that process  atomic-process-block
                                                         atomicP:= a duration of a further indivisible atomic-process-block

Результат:

Для макетаситуация, в которой фактическое время составляет:

   Ts       =  X [s] a duration to launch the End-to-End process-flow ( start the program ),
   TatomicP = 10 [s] a latency of sending one SMS-message will never be shorter,
    Nres    =  5 [1] a number of SMS-messages processing resources ( i.e. GSM-modems ),
    nSMS    =  1 [1] a number of SMS-messages to send,
   TpSO     =  Y [s] a duration to start a PARALLEL sub-process for GSM-modem pool handling,
   TpTO     =  Z [s] a duration to disengage the pool of PARALLEL sub-processes and to release all of their owned resources,

, таким образом, длительность сквозного потока процесса T_E2E будет:

T_E2E = Ts+TpSO+max(TatomicP*nSMS/Nres, TatomicP)+TpTO) = X + Y + max(10/Nres, 10) + Z

доля s чистого технологического потока SERIAL, который всегда должен оставаться чистым - SERIAL, составит:

( Ts ) / ( T_E2E ) = X / ( X + Y + 10 + Z ) [1]

основной потолок (максимально достижимый) Ускорение S будет:

( Ts + TatomicP*Nsms ) / ( Ts + TpSO + max(TatomicP*nSMS/Nres,TatomicP) + TpTO ), который для всего одного SMS-сообщения и любого большого количества GSM-модемов, обрабатывающих SMS, будет здесь << 1, верно, потому что чистый процессный поток <code>SERIAL не тратит времени на настройку. пул подпроцессов и, наконец, их завершение и освобождение выделенных ресурсов пула и не тратит времени на организацию передачи данных туда и обратно, среди основной задачи и пула задач, организованных в истинном стиле PARALLEL.

Таким образом, здесь вы платите намного больше, чем получаете обратно (с точки зрения организации процесса, пул готовых к обработке GSM-модемов (ресурсов) довольно дорогой в организации и управлении, чтобы отправлять только одно SMS сообщение).

В случае, если сквозной рабочий процесс начинает обрабатывать большую группу SMS-сообщений, производительность возрастет, и ускорение S сделает то же самое. Чем больше когорта для обработки, тем лучше. Чем больше когорта для обработки и чем больше GSM-модемов для обработки когорты, тем лучше.

Тем не менее, аргумент Амдала устанавливает основной предел таких достижимых ускорений:

S в принципе никогда не будет больше 4 для 4 модемов, не более 5 для 5 модемов и т. Д.

...