- •Реферат
- •Ввидение
- •1. Общие положения
- •2.Характеристики современных компьютерных систем
- •3. Компьютерные системы с программируемой структурой
- •4. Кс с архитектурой типа "процессор в памяти" (Processor-In-Memory) и ассоциативная обработка
- •5. Особенности архитектурно-структурной организации метакомпьютеров
- •6. Технология управления ресурсами распределенных систем – grid
- •Список литературы
- •Заключение
4. Кс с архитектурой типа "процессор в памяти" (Processor-In-Memory) и ассоциативная обработка
Одна из главных причин снижения эффективности организации вычислений в компьютерах - это время, используемое для передачи данных из памяти в процессор, а результатов обработки - назад в память. Это время может быть в несколько раз больше, чем фактическое время обработки, что существенно влияет на производительность системы в целом. Действительно, если данные, которые требуются центральному процессору, выбираются из оперативной памяти, которая размешена на одном кристалле с процессором, то они будут обрабатываются гораздо быстрее, чем те данные, которые перемещаются между центральным процессором и памятью, реализованной на отдельном кристалле.
Кроме того, следует также иметь в виду, что скорость ЦПУ увеличивается приблизительно в два раза каждые восемнадцать месяцев, в то время как скорость оперативной памяти удваиваются только через каждые десять лет. Эти расходящиеся уровни подразумевают надвигающуюся границу памяти, когда доступ к памяти определяется эксплуатационными показателями.
Технология динамической оптимизации выборки (DynamicAccessOptimizations - 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, IntelligenceandNetworkDevice-память, интеллект и сетевое устройство) - следующее поколение вычислительных средств типа "процессор-в-памяти". Развивающаяся архитектура 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 шины: двунаправленную шину данных, подсоединяемую к основному процессору (или процессорам), однонаправленную входную шину команд, по которой поступает выполняемая всеми кристаллами команда; однонаправленную входную шину ввода; однонаправленную выходную шину вывода.
