Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursovaya_2222.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
58 Кб
Скачать
☆

4. Кс с архитектурой типа "процессор в памяти" (Processor-In-Memory) и ассоциативная обработка

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

Кроме того, следует также иметь в виду, что скорость ЦПУ уве­личивается приблизительно в два раза каждые восемнадцать месяцев, в то время как скорость оперативной памяти удваиваются только че­рез каждые десять лет. Эти расходящиеся уровни подразумевают над­вигающуюся границу памяти, когда доступ к памяти определяется эксплуатационными показателями.

Технология динамической оптимизации выборки (DynamicAc­cessOptimizations - DAO) улучшает эксплуатационные показатели памяти, существенно расширяя её границы [8]. При этом сущест­вующие аппаратные средства памяти используются более эффектив­но. Например, изменяя порядок обращений к памяти, можно исполь­зовать чередуемые банки памяти и динамическую выборку всей стро­ки DRAM памяти. Возможно также, изменяя очевидное размещение доступа, уменьшить уровни "промахов" при обращении в кэш, а так­же расширить ширину полосы пропускания запросов к памяти. DAO -механизмы могут уменьшить текущее время реализации программы от 2 до 13 раз.

Результаты применения DAO-методов даже в однопроцессор­ных системах многообещающи. Контроллер памяти (SMC) интегри­рует статическое детектирование потоков (предсказуемые модели доступа - типа доступа к матрице) с аппаратными средствами, кото­рые изменяют порядок обращения к памяти, тем самым, обеспечивая высокие характеристики аппаратных средств. Результаты исследова­ний показали [8], что SMC существенно улучшает латентность памя­ти и практически на порядок увеличивает величину эффективной ши­рины полосы частот памяти, которая может быть использована соот­ветствующими процессорными (вычислительными) ядрами.

Контроллер памяти также использует методы планирования ди­намической оперативной памяти и так называемую "теневую память", и по специальной методике может оптимизировать как использование памяти типа кэш, так и использование основной оперативной памя­ти. При этом "теневая память" применяется, чтобы обеспечить эффек­тивность нерегулярных параметров выборки, например таких, кото­рые используются при симметричном векторе (обращение одновре­менно к строке памяти). Таким образом, "теневая память" позволяет с помощью разовой выборки из оперативной памяти выполнить то, что обычно занимало бы несколько обращений к основной памяти. При­менение "теневой памяти" - один из немногих эффективных подхо­дов, используемых для улучшения эксплуатационных показателей за­поминающей системы, тем более, что реализация "теневой памяти" требует незначительных изменений в виртуальном модуле ЗУ опера­ционной системы.

Технология, основанная на таких DAO - методах, которые под­держивают одновременный доступ к запоминающей системе много­численными процессорами, особенно эффективна, если расположить множество процессорных ядер на том же самом чипе, где размещена и память (идеология "Processop-in-Memory" - PIM). Присутствие множества ядер на одном чипе с памятью увеличит скорость доступа

к памяти, существенно расширяя ширину полосы памяти и эксплуа­тационные показатели системы в целом.

Процессор в памяти - это один из эффективных подходов к ре­шению проблемы установления временного баланса между временем обработки данных и временем доступа к памяти за этими данными.

Сущность подхода состоит в том, чтобы переместить от процес­сора некоторые вычислительные функции в память, оптимизируя при этом используемую систему памяти. Такие КС содержат мощный Host-процессор и используют менее мощные процессоры внутри чи­пов памяти типа DRAM. Тем самым осуществляется распределение вычислений между различными ресурсами системы.

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

PIM использует новейшие достижения полупроводниковой тех­нологии создания БИС, которые позволяют осуществить интеграцию ячеек DRAM- схем и CMOS - логики на одном и том же чипе. Тем самым логические схемы имеют прямой доступ к буферам рядов блоков памяти при большой внутренней ширине полосы частот памя­ти на чипе памяти. Память собирается в большие банки с постоян­ными параметрами, что позволяет множественные банки памяти од­новременно снабжать данными. При этом потребление мощности может оказаться на порядок ниже по сравнению с характеристиками мощности обычного микропроцессора базовой системы.

Processor-ln-Memory (PIM) с точки зрения архитектурно-структурной организации может рассматриваться многосторонне: как основа для масштабируемых пространственно распределенных вы­числений [9], как эффективная память при управлении вычислитель­ными ресурсами систем в гибридной технологии многопоточных ар­хитектур, а также как средство для достижения КС высоких характе­ристик производительности (петафлопсного диапазона).

Создать множество РГМ-устройств - это не просто создать дру­гой тип массово-параллельных систем, но и разработать новую мето­дологию их построения, обеспечивающую балансированную обра­ботку информации и, естественно, новую организацию памяти. Эта методология является прямым отражением распределенных высоко параллельных систем с соответствующей моделью вычислений, кото­рая управляет выполнением различных операций и взаимодействиями PIM- процессоров и памяти. Кроме того, она должна учитывать семантические особенности системы в целом, поскольку система реа­лизует свои функциональные возможности за счет локальных меха­низмов своих подсистем.

Организация вычислений на множестве РIМ - это, прежде всего, закрепление задач и сегментов данных в строгом соответствии с фи­зическим распределением данных при отдаленных запросах, когда данные не являются локальными. Это очень похоже на решение прак­тических задач с использованием ресурсов Web и на объектно-ориентированный подход к управлению логическими задачами и фи­зическими ресурсами множества PIM - устройств.

В [10] описан новый тип памяти, которая фактически содержит процессор на чипе динамической оперативной памяти, обеспечивая более высокие эксплуатационные показатели памяти и устраняя раз­ницу между эксплуатационными показателями памяти и центрального процессора. Архитектура, названная DataIntensiveArchitecture (DIVA), является процессором в памяти (РIМ). Группы чипов DIVA могут служить и как параллельный процессор, выполняя большинство вычислений программы, и как набор " мощных сопроцессоров".

Существующие центральные процессоры имеют память не­большого объема - встроенный КЕШ. Тем не менее, для многих при­кладных программ, это существенно ускоряет обработку. Но для мно­гих других - емкость КЕШ недостаточна, и процессор должен ждать, хотя данные уже найдены на отдельных чипах памяти. Задержка, вы­званная этим процессом определяет" границу памяти".

DIVA с помощью процессоров RISC, размешенных в памяти, реализует действия оперативной памяти подобно КЕШ. Находясь на чипе памяти, они получает команды от центрального процессора. В некотором смысле, процессор на чипе памяти становится продолже­нием центрального процессора.

Вместо перемещения каждой части запоминаемых данных в центральный процессор для вычисления, Р1М-чип передает каждое вычисление в процессор или вершину (узел), которая является самой близкой по отношению к данным.

Такой чип может содержать несколько процессоров (например, четыре процессора), при этом каждый из процессоров может выпол­нять обработку 8,16 или 32-разрядных данных.

В отличие от стандартных чипов памяти, когда обрабатываются 32 бита информации, каждый чип PIM может одновременно обраба­тывать до 256 битов. Такая память с помощью процессоров типа RISC, размещенных на чипе, имеет возможность выполнять четыре операции одновременно, вместо одной как в традиционной памяти. Используя современную микроэлектронную технологию, был созданчип типа РИМ, который содержит память емкостью 128Кбит и на этом же чипе 64 элемента обработки (PEs) [11].

При работе памяти в обычном режиме, адрес представляется РIМ - чипу, и данные читаются/записываются в чип. При функциони­ровании в режиме обработки, адрес ряда памяти и команда посылают­ся РТМ- чипу. Так как имеется 64 PEs в РГМ - чипе, а каждый РЕ свя­зан с одной колонкой памяти, содержащей 2.048 бит, поэтому РГМ -чип в режиме обработки функционирует как 64 PEs с 2.048 бит памяти на один РЕ. Все 64 PEs в PIM - чипе выполняют команду одновре­менно над данными в соответствии с адресом ряда схемы памяти, размещенной на этом чипе.

Такого рода РИМ - чипы включены в память автоматизирован­ного рабочего места TERASYS, которое можно отнести к классу SMD - компьютеров. Это рабочее место состоит из SPARC-2, соеди­ненного через S-шину с 512 РIМ-чипами [11].

Система на Чипе (SystemOn a Chip - SOC), SMP на чипе (SMPOC) и процессор в памяти (PIM), включая интеллектуальную память (IRAM) - все это примеры преобразования в архитектуре вы­числительной системы. Но из них только PIM использует важное свойство DRAM, реализуя огромную ширину полосы памяти на чипе: примерно на порядок больше по сравнению с полосой вне чипа для обычной архитектурной организации.

MIND РIМ - архитектура (Memory, IntelligenceandNetworkDe­vice-память, интеллект и сетевое устройство) - следующее поколение вычислительных средств типа "процессор-в-памяти". Развивающаяся архитектура MIND, обеспечивая многопотоковый однородный меха­низм управления ресурсами при низких накладных расходах, имеет расширенные возможности по сравнению с другими типами экспери­ментальных РIМ - изделий,Архитектура MIND, используя высокую ширину полосы про­пускания памяти, поддерживает более чем сотню узлов (память плюс логика) на чипе с обнаружением и устранением неисправностей. При этом обеспечивается маршрутизация пакета на чипе так, что мас­штабируемые и альтернативные топологии сети могут быть реализо­ваны.

Архитектура MIND-чипа постоянно развивается, преодолевая логические ограничения и ограничения эффективности предыдущих моделей PIM [12]. Прежде всего, в такой системе используется "све­товой" пакет, который позволяет чипу памяти напрямую взаимодей­ствовать с другим чипом памяти. Новая масштабируемая схема ото­бражения адресов позволяет манипулировать виртуальными адресами объектов в распределенной системе. Многопоточное переключение задач и возможность эффективного управления обеспечивает исполь­зование параллельных ресурсов на чипе, каналов ввода - вывода и памяти. Распределенная, объектно-ориентированная вычислительная модель, названная "макросервером", применена как логическая ос­нова для организации множества взаимосвязей MIND - устройств процессора и памяти, чтобы успешно решать параллельную задачу обработки с высокими параметрами и большим набором данных.

В течение ближайших лет машины с процессорами, размещен­ными на одном чипе в оперативной памяти, как ожидается, станут доминирующими. Такие машины обеспечат намного более высокую совокупную ширину полосы пропускания частот между процессором и модулями ЗУ. Высокий потенциал таких машин обеспечивается низким отношением времен память/процессор [13]. При этом будут разработаны новые алгоритмы, имеющие отношения к перемещениям данных (по требованию) среди модулей ЗУ и поддерживающие пред­варительную выборку данных. Одна из потенциальных машин в этой категории является "TeraflopBoard", содержащая множество много­процессорных чипов, разработанных для оригинальной машины IBM BlueGene.

Лучшие образцы PIM - чипов или чипов "интеллектуальной па­мяти" позволяют ускорить некоторые вычисления, по крайней мере, на порядок [14].

Тестовые испытания чипа показали, насколько полно новый чип реализует надежды его проектировщиков: новые чипы выполнили некоторый эталонный тест более чем в 10 раз быстрее, чем обычные (условные) системы. При этом один из самых больших функциони­рующих чипов типа РГМ имеет следующие характеристики [14]:

- ширина слова процессора -256 бит;

- количество транзисторов на чипе - 55 млн.;

- размер кристалла (9,8 х 9,8) мм.;

- технологические нормы -0,18 мк.;

- количество функциональных компонентов на кристалле-200К логических ячеек плюс 8 Мбит ячеек памяти типа SRAM;

- тактовая частота работы - 160 МГц;

- рассеиваемая мощность - 0,8 Вт;

- корпус: 35 мм., 352 BGA (151 ввод /выв, 111 Vdd или Gnd).

Ожидается, что такие системы в течение ближайших лет дос­тигнут пиковой производительности терафлопсного диапазона, а да­лее - петафлопсного, по крайней мере, для некоторых применений.

Таким образом, по сравнению с классическими МПП-структурами РПМ-структуры обладают рядом положительных свойств. Например, отношение вычислительных параметров кемкости памяти - намного ниже, а полоса частот доступа к памяти -в сотни раз больше. Однако PIM-устройства имеют и свои недостатки, которые в основном диктуются проблемами технологического плана, возникающими при создании и верификации PIM-чипов.

Прежде все­го, из-за различия в технологиях создания DRAM-схем и логических чипов скоростные параметры логических схем, размещенных на PIM-чипе, оказываются несколько ниже чем, если бы эти же схемы изго­тавливались отдельно на своих кристаллах БИС. Ждут совершенство­вания и процессы изготовления микросхем, которые обеспечили бы необходимые параметры памяти типа DRAM и логических схем, размещенных на одном чипе с памятью. Дело в том, что более высо­кая температура в DRAM-части PIM-чипа несколько замедляет рабо­ту DRAM- ячеек. Современные DRAM- чипы взаимозаменяемы и из­готавливаются в очень больших количествах, что нельзя сказать о PIM-чипах. И, наконец, стоимость испытания PIM-чипов существенно выше, чем стоимость испытаний DRAM-чипов. Возникают некоторые проблемы и при соединении с внешними микропроцессорами боль­шого количества (сотен или тысяч) сильно связанных PIM. Специаль­ные алгоритмы, как правило, используются, чтобы своевременно пе­ремещать данные среди модулей и реализовать предварительную вы­борку данных.

Указанные недостатки, а также деловые практические сообра­жения пока ограничивают выход на коммерческий рынок базовых структур PIM.

На концептуальном уровне многие проблемы повышения эф­фективности параллельной обработки данных связаны с вопросами представления данных (например, массивы, списки, записи, кортежи, деревья и др.) в адресных запоминающих устройствах и указанием способа их параллельной обработки. Данные должны быть представ­лены не только в виде ограниченного количества форматов, но и должна быть явно создана структура связей между элементами дан­ных, например, посредством указателей адресов памяти элементов. При обработке таких данных необходимо выполнить совокупность операций, обеспечивающих доступ к данным по указателям.

Анализ этой совокупности операций составляет достаточно сложную пробле­му, так называемого, распараллеливания по данным. Таким образом, адресный доступ к памяти служит серьезным препятствием к созда­нию вычислительных средств с архитектурой, ориентированной на более эффективное использование параллелизма обработки данных. Преодоление ограничений, обусловленных адресным доступом к па­мяти, возможно за счет использования ассоциативного способа обра­ботки данных, позволяющего выбирать все данные, удовлетворяющиенекоторому задаваемому критерию поиска, и производить над всеми выбранными данными требуемые преобразования [7].

Определенная подобным образом ассоциативная обработка включает возможность массовой параллельной выборки данных и массовой их обработки. Критерием поиска данных может быть совпадение с любым элемен­том данных, достаточным для выделения искомых данных из всех данных. Поиск данных может происходить по фрагменту, имеющему большую или меньшую корреляцию с заданным элементом данных.

Исследованы и в разной степени используются несколько под­ходов, различающихся полнотой реализации модели ассоциативной обработки. Если реализуется только ассоциативная выборка данных с последующим поочередным использованием найденных данных, то говорят об ассоциативной памяти или памяти, адресуемой по содер­жимому. При достаточно полной реализации всех свойств ассоциа­тивной обработки, используется термин li ассоциативный процессор.

Кроме того, модель ассоциативной обработки может быть достаточно эффективно реализована на специализированных параллельных сис­темах из большого числа процессоров, каждый из которых имеет соб­ственную небольшую локальную память. Подобные вычислительные структуры обычно называют памятью с обработкой, многофункцио­нальной памятью, интеллектуальной памятью и рядом других тер­минов.

Однако переход от одной крайности (только хранение данных в традиционной памяти) к другой (вся обработка данных только в памя­ти) заведомо не продуктивен. Компромиссным решением может быть реализация в интеллектуальной памяти простой массово параллельной обработки данных и вычисление агрегированных значений типа сум­ма компонент вектора, определение минимальной или максимальной компоненты вектора и тому подобное. Сложная же обработка данных производится в процессоре, к которому подключается рассматривае­мая интеллектуальная память. Этот подход положен, например, в ос­нову проекта контекстно-адресуемой (ассоциативной) памяти САМ 2000 [15].

САМ 2000 объединяет возможности ассоциативного процессо­ра, ассоциативной памяти, динамической памяти в одном кристалле. Этот кристалл может выполнять просто функции динамической памя­ти, а также производить простую массово параллельную обработку содержимого, хранящегося в динамической памяти. Множество про­стых процессоров в кристалле памяти выполняют массово-параллельную обработку содержимого памяти прежде, чем отправить результаты этой обработки в процессор.

Каждый кристалл САМ 2000 выполняет функцию микросхемы интеллектуальной памяти и имеет 4 шины: двунаправленную шину данных, подсоединяемую к основному процессору (или процессорам), однонаправленную входную шину команд, по которой поступает вы­полняемая всеми кристаллами команда; однонаправленную входную шину ввода; однонаправленную выходную шину вывода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]