Cтраница 2
Мультипроцессоры с небольшим числом процессоров ( 64) сконструировать довольно легко, а вот создание больших мультипроцессоров представляет некоторые трудности. Сложность заключается в том, чтобы связать все процессоры с памятью. Чтобы избежать таких проблем, многие разработчики просто отказались от идеи разделенной памяти и стали создавать системы, состоящие из большого числа взаимосвязанных компьютеров, у каждого из которых имеется своя собственная память, а общей памяти нет. Такие системы называются мультикомпьютерами. [16]
Мультипроцессор NUM А, напротив, не обладает этим свойством. Обычно есть такой модуль памяти, который расположен близко к каждому процессору, и доступ к этому модулю памяти происходит гораздо быстрее, чем к другим. С точки зрения производительности очень важно, куда помещаются программа и данные. [17]
Мультипроцессор ПС-3000 обеспечивает одновременное выполнение двух потоков команд. При этом на параллельном решающем поле одновременно выполняются до восьми арифметических или логических операций над компонентами обрабатываемых векторов или матриц. В БВК ПС-3000 могут быть один или два мультипроцессора ПС-3000. Таким образом, обеспечивается одновременное выполнение до четырех независимых задач или до четырех ветвей одной задачи ( возможны и промежуточные варианты, например, три задачи, из которых одна распараллелена на две ветви) с динамическим перераспределением и с динамической адаптивной перестройкой структуры, направленной на оптимизацию - использования вычислительных ресурсов комплекса в соответствии с характером решаемых задач. [18]
![]() |
Структура мультипроцессора ПС-2000. [19] |
Мультипроцессор ПС-2000 может быть эффективно применен для задач, алгоритмы решения которых допускают параллельную обработку многих потоков данных по одной и той же программе. [20]
Мультипроцессор ЕС-2665 ( рис. 8.3) содержит процессоры команд ПК1 и ПК2, устройства управления оперативной памятью УУ0П1 и УУ0П2, группу операционных блоков, образующих АЛУ. В процессорах команд ПК1 и ПК2 производятся выработка адресов, прием операндов, параллельная их выдача вместе с кодом операции в соответствующие операционные блоки АЛУ и, наконец, прием результатов из операционных блоков. [21]
Однако мультипроцессоры имеют и некоторые недостатки, поэтому Мультикомпьютеры тоже очень важны. [22]
Рассмотрим мультипроцессор с общей шиной. [23]
Рассмотрим мультипроцессор CC-NUMA ( см. рис. 8.24), содержащий 512 узлов по 8 Мбайт каждый. Если длина строки кэш-памяти составляет 64 байта, каков процент непроизводительных затр. [24]
![]() |
Модель мультипроцессора хозяин-подчиненный. [25] |
Модель мультипроцессора хозяин-подчиненный позволяет решить большинство проблем первой модели. В этой модели используется единая структура данных ( например, один общий список или набор приоритетных списков), учитывающая готовые процессы. Когда центральный процессор переходит в состояние простоя, он запрашивает у операционной системы процесс, который можно обрабатывать, и при наличии готовых процессов операционная система назначает этому процессору процесс. Поэтому при такой организации никогда не может случиться так, что один центральный процессор будет простаивать, в то время как другой центральный процессор перегружен. Страницы памяти могут динамически предоставляться всем процессам. Кроме того, в такой системе есть всего один общий буферный кэш блочных устройств, поэтому дискам не грозит порча данных, как в предыдущей модели при попытке использования блочного кэша. [26]
Размер мультипроцессоров UMA с одной шиной обычно ограничивается до нескольких десятков процессоров, а для координатных мультипроцессоров или мультипроцессоров с коммутаторами требуется дорогое аппаратное обеспечение, и они ненамного больше по размеру. Чтобы получить более 100 процессоров, нужно что-то предпринять. Отметим, что все модули памяти имеют одинаковое время доступа. Как и мультипроцессоры UMA, они обеспечивают единое адресное пространство для всех процессоров, но, в отличие от машин UMA, доступ к локальным модулям памяти происходит быстрее, чем к удаленным. [27]
Для мультипроцессоров UMA с единственной общей шиной пределом является несколько десятков центральных процессоров, в то время как мультипроцессорам с координатным коммутатором или коммутирующей сетью требуется большое количество ( дорогого) аппаратного обеспечения, и количество центральных процессоров в них не намного больше. Чтобы создать мультипроцессор с числом центральных процессоров, превосходящем 100, нужно чем-то пожертвовать. Обычно в жертву приносится идея одинакового времени доступа ко всем модулям памяти. Таким образом, мы получаем концепцию мультипроцессоров NUMA ( NonUniform Memory Access - неоднородный доступ к памяти), о которых упоминалось выше. Как и их родственники UMA, мультипроцессоры NUMA предоставляют единое адресное пространство для всех центральных процессоров, но в отличие от UMA-машин доступ к локальной памяти в них быстрее, чем к удаленным модулям. [28]
Для мультипроцессоров UMA с единственной общей шиной пределом является несколько десятков центральных процессоров, в то время как мультипроцессорам с координатным коммутатором или коммутирующей сетью требуется большое количество ( дорогого) аппаратного обеспечения, и количество центральных процессоров в них не намного больше. Чтобы создать мультипроцессор с числом центральных процессоров, превосходящем 100, нужно чем-то пожертвовать. Обычно в жертву приносится идея одинакового времени доступа ко всем модулям памяти. Таким образом, мы получаем концепцию мультипроцессоров NUM A ( NonUniform Memory Access - неоднородный доступ к памяти), о которых упоминалось выше. Как и их родственники UMA, мультипроцессоры NUMA предоставляют единое адресное пространство для всех центральных процессоров, но в отличие от UMA-машин доступ к локальной памяти в них быстрее, чем к удаленным модулям. [29]
![]() |
Вычислительные парадигмы. конвейер ( а. фазированное вычисление ( б. разделяй и властвуй ( в. replicated worker ( г. [30] |