~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 51E50928E06D3695D9CF80BD9912B8A8__1710046680 ✰
Заголовок документа оригинал.:
✰ Parallel RAM - Wikipedia ✰
Заголовок документа перевод.:
✰ Параллельная ОЗУ — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Parallel_random-access_machine ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/51/a8/51e50928e06d3695d9cf80bd9912b8a8.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/51/a8/51e50928e06d3695d9cf80bd9912b8a8__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 08:47:35 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 March 2024, at 07:58 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Параллельная ОЗУ — Википедия Jump to content

Параллельная ОЗУ

Из Википедии, бесплатной энциклопедии

В информатике параллельная машина с произвольным доступом ( параллельное ОЗУ или PRAM ) — это с общей памятью абстрактная машина . Как следует из названия, PRAM задумана как аналогия параллельных вычислений машине с произвольным доступом (RAM) (не путать с оперативной памятью ). [1] Точно так же, как ОЗУ используется разработчиками последовательных алгоритмов для моделирования производительности алгоритмов (например, временной сложности), PRAM используется разработчиками параллельных алгоритмов для моделирования производительности параллельных алгоритмов (например, временной сложности, где количество процессоров обычно также указывается предполагаемый). Подобно тому, как модель RAM игнорирует практические вопросы, такие как время доступа к кэш-памяти по сравнению с основной памятью, модель PRAM игнорирует такие проблемы, как синхронизация и связь , но обеспечивает любое (зависящее от размера задачи) количество процессоров. Например, стоимость алгоритма оценивается с использованием двух параметров O(время) и O(время × номер_процессора).

Конфликты чтения/записи [ править ]

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

  1. Эксклюзивное чтение и эксклюзивная запись (EREW) — каждая ячейка памяти может быть прочитана или записана только одним процессором одновременно.
  2. Параллельное чтение и эксклюзивная запись (CREW) — несколько процессоров могут читать ячейку памяти, но только один может записывать одновременно.
  3. Эксклюзивное чтение с одновременной записью (ERCW) — в большинстве случаев никогда не рассматривается, поскольку в большинстве случаев не увеличивает мощность. [2]
  4. Одновременное чтение и одновременная запись (CRCW) — чтение и запись могут выполняться несколькими процессорами. CRCW PRAM иногда называют параллельной машиной произвольного доступа . [3]

Здесь E и C означают «эксклюзивный» и «параллельный» соответственно. Чтение не вызывает расхождений, в то время как параллельная запись дополнительно определяется как:

Общий — все процессоры записывают одно и то же значение; иначе незаконно
Произвольный — только одна произвольная попытка успешна, остальные удаляются.
Приоритет — ранг процессора указывает, кто имеет право писать.
Другой вид операции сокращения массива, такой как СУММ, логическое И или МАКС.

При рассмотрении разработки алгоритмов для PRAM делается несколько упрощающих предположений. Они есть:

  1. Ограничений на количество процессоров в машине нет.
  2. Любая ячейка памяти одинаково доступна из любого процессора.
  3. Ограничений на объем разделяемой памяти в системе нет.
  4. Конфликт за ресурсы отсутствует.
  5. Программы, написанные на этих машинах, обычно относятся к типу SIMD .

Подобные алгоритмы полезны для понимания использования параллелизма, разделения исходной проблемы на схожие подзадачи и их параллельного решения. Введение формальной модели P-RAM в диссертации Уилли 1979 года. [4] имел целью количественный анализ параллельных алгоритмов способом, аналогичным машине Тьюринга . Анализ был сосредоточен на модели программирования MIMD с использованием модели CREW, но показал, что многие варианты, включая реализацию модели CRCW и реализацию на машине SIMD, были возможны только с постоянными накладными расходами.

Реализация [ править ]

Алгоритмы PRAM не могут быть распараллелены с помощью комбинации ЦП и динамической оперативной памяти (DRAM), поскольку DRAM не обеспечивает одновременный доступ к одному банку (даже к разным адресам в банке); но они могут быть реализованы аппаратно или выполнять чтение/запись во внутренние блоки статической оперативной памяти (SRAM) программируемой вентильной матрицы (FPGA), это можно сделать с использованием алгоритма CRCW.

Однако проверка практической значимости алгоритмов PRAM (или RAM) зависит от того, обеспечивает ли их стоимостная модель эффективную абстракцию какого-либо компьютера; структура этого компьютера может сильно отличаться от абстрактной модели. Знание слоев программного и аппаратного обеспечения, которые необходимо вставить, выходит за рамки этой статьи. Но такие статьи, как Vishkin (2011), демонстрируют, как абстракция, подобная PRAM, может поддерживаться парадигмой явной многопоточности (XMT), а такие статьи, как Caragea & Vishkin (2011), демонстрируют, что алгоритм PRAM для задачи максимального потока может обеспечить значительное ускорение по сравнению с самой быстрой последовательной программой для той же задачи. Статья Ганим, Вишкин и Баруа (2018) продемонстрировала, что алгоритмы PRAM как есть могут достичь конкурентоспособной производительности даже без каких-либо дополнительных усилий по преобразованию их в многопоточные программы на XMT.

Пример кода [ править ]

Это пример кода SystemVerilog , который находит максимальное значение в массиве всего за 2 такта. Он сравнивает все комбинации элементов массива на первом такте и объединяет результат на втором такте. Он использует память CRCW; m[i] <= 1 и maxNo <= data[i]пишутся одновременно. Параллелизм не вызывает конфликтов, поскольку алгоритм гарантирует, что одно и то же значение записывается в одну и ту же память. Этот код можно запустить на FPGA оборудовании .

модуль   FindMax   #(  параметр   int   len   ​​=   8  ) 
                 (  входной   бит   clock  ,   resetN  ,   входной   бит  [  7  :  0  ]   данных  [  len  ],   выходной   бит  [  7  :  0  ]   maxNo  ); 
      typedef   enum   bit  [  1  :  0  ]   {  COMPARE  ,   MERGE  ,   DONE  }   State  ; 
                    
     государство    Государство  ; 
      бит   м  [  лен  ]; 
      интервал   я  ,   j  ; 
    
      Always_ff   @(  posege   clock  ,   negedge   resetN  )   begin 
         if   (  !  resetN  )   begin 
             for   (  i   =   0  ;   i   <   len  ;   i  ++  )   m  [  i  ]   <=   0  ; 
              состояние   <=   СРАВНИТЬ  ; 
          конец   еще   начало 
             регистр   (  состояние  ) 
                 СРАВНЕНИЕ:   начало 
                     для   (  я   =   0  ;   я   <   длина  ;   я  ++  )   начало 
                         для   (  j   =   0  ;   j   <   длина  ;   j  ++  )   начало 
                             если   (  данные  [  я  ]   <   данные  [  j  ])   м  [  я  ]   <=   1  ; 
                          конец 
                     конечного 
                     состояния   <=   MERGE  ; 
                  конец 
                
                 MERGE:   начало 
                     для   (  я   =   0  ;   я   <   len  ;   я  ++  )   начало 
                         если   (  м  [  я  ]   ==   0  )   maxNo   <=   данные  [  я  ]; 
                      конечное 
                     состояние   <=   ГОТОВО  ; 
                  конец конца 
             корпуса 
         конец 
     конца 
 модуля 

См. также [ править ]

Ссылки [ править ]

  1. ^ Фортуна, Стивен; Уилли, Джеймс (1 мая 1978 г.). «Параллелизм в машинах с произвольным доступом» . Материалы десятого ежегодного симпозиума ACM по теории вычислений . СТОК '78. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники: 114–118. дои : 10.1145/800133.804339 . hdl : 1813/7454 . ISBN  978-1-4503-7437-8 .
  2. ^ Маккензи, Филип Д.; Рамачандран, Виджая (6 апреля 1998 г.). «ERCW PRAM и оптическая связь» . Теоретическая информатика . 196 (1): 153–180. дои : 10.1016/S0304-3975(97)00199-0 . ISSN   0304-3975 .
  3. ^ Нил Иммерман, Выразимость и параллельная сложность . SIAM Journal on Computing, том. 18, нет. 3, стр. 625–638, 1989.
  4. ^ Уилли, Джеймс К. Сложность параллельных вычислений , докторская диссертация, факультет компьютерных наук, Корнельский университет

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 51E50928E06D3695D9CF80BD9912B8A8__1710046680
URL1:https://en.wikipedia.org/wiki/Parallel_random-access_machine
Заголовок, (Title) документа по адресу, URL1:
Parallel RAM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)