Системная интеграция КИТ
Характеристика современных компьютерных систем с программируемой структурой, их функциональные особенности и возможности. Принципы и специфика архитектурно-структурной организации метакомпьютеров. Технология управления ресурсами распределенных систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.08.2014 |
Размер файла | 53,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсовая работа
Системная интеграция КИТ
Введение
В курсовой работе, оцениваться современное состояние и тенденции развития КС, акцентирую внимание на особенностях их организации, выделяя при этом наиболее перспективные направления: метакомпьютеры, GRID-системы, системы типа «процессор-в-памяти» («Processor-In-Memory»), КС с программируемой архитектурой и др. Отмечая при этом особенности неравномерного развития компонентов КС, предлагаю подход к построению обобщенной классификации КС и на его основе новый тип классификации КС типа MDMD по параметрам коммуникационной среды и организации памяти, являющихся центральными составляющими дальнейшего качественного и количественного улучшения соответствующих параметров КС в целом на современном этапе их развития. В данной работе подробно рассматриваться современные компьютерные системы, а также тенденции их развития. Их типы, классификации, а также примеры компьютерных систем принципы их работы и рационального применения.
1. Современные компьютерные системы и тенденции их развития
1.1 Общие положения
компьютерный программируемый управление архитектурный
Существует большое количество разновидностей компьютеров, определяемое, прежде всего, множеством различных классификаций по тем или иным признакам, которые во многих случаях являются сугубо субъективными для различных категорий пользователей. Так, часто пользователи относят конкретный компьютер (компьютерную систему) к определенной разновидности в зависимости от того, в какой области он собирается его использовать. Его в большей степени интересует совокупность пользовательских характеристик, нежели особенности архитектурно-структурных решений. В этом смысле он ориентируется на такие понятия, как персональный компьютер (ПК), рабочая станция (PC), мейнфрейм, сервер и т.д.
ПК с точки зрения пользователя - это, прежде всего, «дружественные пользовательские интерфейсы», а также проблемно-ориентированные среды и инструментальные средства для поддержки приложений и автоматизации разработки прикладных программ. В совокупности - это настольные системы, обладающие достаточно высокой производительностью при невысокой стоимости.
Миникомпьютеры - это, как правило, 32-разрядные машины. Применение в них RISC-процессоров и микросхем памяти емкостью более 1 Мбит привело к созданию настольных систем высокой производительности, которые стали называться рабочими станциями. В них, помимо высокого быстродействия, большой емкости оперативной и внешней памяти и высокопроизводительных внутренних магистралей, применяются быстродействующие графические подсистемы и разнообразные устройства ввода / вывода. Это свойство выгодно отличает рабочие станции от ПК.
Персональные компьютеры высокой производительности и рабочие станции на базе UNIX, имеющие программное обеспечение, способное выполнять большой набор функций, часто ассоциируются с понятием «персональной рабочей станции».
При сверхвысоких требованиях к производительности, когда компьютеры используются на предельных по производительности возможностях, для пользователя наиболее важными становятся такие
параметры, как масштабируемость, возможности распараллеливания решения задачи, простота программирования и т.д., другими словами - пользователя интересуют те параметры ЭВМ, которые главным образом определяются архитектурно-структурными решениями. В этом случае он, как правило, обращается к высокопроизводительным и супер-ЭВМ, принимая во внимание те особенности архитектурно-структурных решений, которые тормозят или наоборот содействуют обеспечению сверхвысокой производительности и упрощению программирования.
С этой точки зрения большое значение приобретают тип и характерные признаки взаимодействия потоков команд и данных при организации вычислительного процесса, архитектура и параметры используемых систем памяти и коммуникационной среды, количество и тип применяемых процессоров, методы и алгоритмы обмена информацией между процессорами, с внешней средой и т.д. Все эти признаки в отдельности или в определенной совокупности, как правило, используются для разграничения типов ЭВМ и их классификаций. Так, только по некоторым признакам использования памяти в распределенных КС, огромный набор высокопроизводительных параллельных компьютеров и супер-ЭВМ может быть разделен на следующие разновидности:
- с общей (SMP) или распределенной памятью (МРР);
- с физически распределенной, но логически общедоступной памятью (NUMA);
- PVP-системы с использованием общей или распределенной памяти, организованные на основе векторно-конвейерных принципов и др.
Более подробно такого рода системы рассматриваются в разделе 2.2, где в качестве второго набора параметров (помимо параметров памяти), выступающих в качестве критериев классификации, используются также параметры коммуникационной среды.
Здесь мы не будем останавливаться на анализе основных параметров и архитектуры существующих супер-ЭВМ и параллельных вычислительных систем. Они достаточно подробно изложены в множестве первоисточников, которые приведены в прилагаемом списке литературы. Отметим лишь отдельные параметры наиболее известных разновидностей современных параллельных компьютерных систем.
Мы посчитали также целесообразным подчеркнуть лишь наиболее яркие, по нашему мнению, особенности архитектурно-структурной организации и применения компьютерных систем, акцентируя внимание на перспективах их развития, не привязываясь при этом к конкретному типу элементной базы и технологии её создания.
К таким системам мы относим, прежде всего, компьютерные системы с программируемой структурой, системы на базе PIM-компьютеров (ProcessorInMemory), метакомпьютеры, GRID - системы, виртуальные (реконфигурируемые) компьютерные системы и др. На них целесообразно остановиться несколько подробнее. При этом никоим образом не отрицаются высокие возможности других типов систем и перспективы развития последних в компьютеростроении, в том числе систем, основанных на использовании нейроподобных структур, оптических принципов хранения и обработки информации, джозефсоновских эффектов и др.
1.2 Характеристики современных компьютерных систем
История развития средств вычислительной техники показывает, что именно супер-ЭВМ является полигоном для проверки новых идей и инженерно-технических решений, которые в последующем поколении переносятся на мини-микро-ЭВМ и в конечном итоге - на кристалл БИС, определяя общие направления развития средств вычислительной техники в целом.
В настоящее время практически весь задел в области архитектурно-структурной организаций супер-ЭВМ предыдущего поколения уже полностью перенесен на современные микропроцессоры. На основе этих микропроцессоров строятся новые системы и комплексы, которые, в свою очередь, накапливают новые решения, диктуемые не только требованиями со стороны пользователей и все возрастающей сложностью задач, но и развитием элементной базы, при этом не исключаются новые технологические подходы к созданию элементной базы на новых физических принципах и явлениях. В дальнейшем эта новая элементная база сконцентрирует в себе совокупность новых решений современных супер-ЭВМ и т.д. Поэтому мы считаем целесообразным обратиться к особенностям и оригинальным решениям в области архитектурно-структурной организации именно супер-ЭВМ.
Имеется большое количество научно-исследовательских и прикладных задач (проектирование сложных космических систем, моделирование ядерных взрывов и криптография, гидродинамика и астрофизика, биомолекулярные исследования и др.), требующих петафлопсной производительности компьютеров.
Но даже с учетом бурного развития полупроводниковой технологии и архитектур с массовым параллелизмом вряд ли удастся приблизиться к вычислениям петафлопсного диапазона так быстро, как хотелось бы.
По экономическим соображениям первые терафлопсные суперкомпьютеры проектировались на серийно выпускаемых комплектующих
(в рамках программы ASCI Министерства энергетики США), используя, например, процессоры типа Pentium или Alpha, модули памяти типа DRAM и SRAM, RAID-массивы для внешних накопителей и т.д.
Однако все эти компоненты развиваются весьма неравномерно. Так, если скорость работы центральных процессоров (ЦП) растет очень быстро, примерно на 60% в год, то скорость работы памяти типа DRAM возрастает за год лишь на 7% [1], а это означает, что транзисторы ЦПУ большую часть времени работают вхолостую (так называемая проблема латентности памяти). Еще хуже дело обстоит с коммуникационной средой, соединяющей ЦПУ между собой, и с задержками, обусловленными операционной системой. Поэтому даже самые быстрые из общедоступных машин пока не подошли к скоростям петафлопсного диапазона.
Иное дело обстоит при попытке создания крупных компьютерных систем, содержащих тысячи и десятки тысяч процессоров. Однако они обладают огромными габаритами и стоимостью, да и их эксплуатация требует решения многочисленных проблем, связанных с обеспечением надежности, сложностью программирования и т.д. В Приложении В приведены параметры первых десяти лучших суперкомпьютерных систем, заимствованных из таблицы ТОР500 по данным на ноябрь 2004 г., а также по другим КС, которые в настоящее время используются для решения различных пользовательских задач.
Что касается стоимости систем различного назначения, то можно отметить следующее [3]:
- стоимость систем (ф. SunMicrosystems) масштаба предприятия, используемых в многозадачном режиме, превышает 1 млн. долл.;
- стоимость машины (ф. Hewlett-Packard) в классе машин для департаментов составляет от 250 тыс. до одного миллиона долларов;
- стоимость компьютеров, используемых в небольших подразделениях, например в исследовательских отделах, составляет не менее 250 тыс. долл.
Указанные выше и ряд других факторов явились «толчком» для разработки концепции принципиально новой гибридно-технологической многопоточной архитектуры (HybridTechnologyMultiThreaded - HTMT).
В основе этой концепции лежит модель многопоточной обработки (multithreading, расщепление параллельных процессов на более мелкие независимые фрагменты), сочетающаяся с комплексным («гибридным») использованием передовых компьютерных технологий, таких как: криогенные системы сверхпроводниковой быстрой одноквантовой логики («rapidsinglefluxquantumlogic» - RSFQ), высокоскоростные полупроводниковые СБИС типа «процессор в памяти» (Processor-In-Memory - РГМ), оптические межсоединения и голографические технологии хранения информации [1] и др.
Вычислительное ядро системы, построенной согласно этой концепции, содержит несколько тысяч ниобиевых сверхпроводниковых процессоров, работающих на основе RSFQ-логики. При этом единицей представления информации являются одиночные кванты магнитного потока, которые перемещаются от вентиля к вентилю микроскопическими токами, наводимыми такими же квантами в управляющих контурах. Сверхпроводниковая логика дает возможность не только в сотни раз повысить скорость, но и примерно в тех же пропорциях снизить энергопотребление по сравнению с традиционными процессорами.
В декабре 1999 года ШМ объявила о запуске собственного петафлопсного проекта под названием BlueGene, который предполагали построить в течение пяти лет под конкретную задачу - исследование процесса сворачивания белков.
При реализации этого проекта разработчиками была предложена новая концепция архитектурно-структурной организации под названием SMASH (simple, many, self-healing: «простая, множественная и самоисцеляющаяся» архитектура). В отличие от НТМТ проект BlueGene использует технологию кремниевых чипов, с параметрами БИС, которые примерно на поколение опережает параметры БИС современных процессоров массового производства.
С конструктивно-технологической точки зрения предлагается использовать также ряд новых решений. Так, предполагается разместить 32 гигафлопсных процессора вместе с DRAM-памятью на одной микросхеме, которая обеспечит производительность до 32 миллиардов операций в секунду. При этом 64 таких чипа размещаются на системной плате размером 60x60 см. Таким образом, вычислительная мощность каждой платы составляет 2 терафлопса. Восемь таких плат монтируются в стойку высотой около 1,8 м. Для сбора петафлопсной машины требуется 64 таких шкафа (Сравним - в настоящее время суперкомпьютеры подобной производительности занимают огромные машинные залы.) [1].
1.3 Компьютерные системы с программируемой структурой
В компьютерных системах с программируемой (реконфигурируемой) структурой (РКС) обрабатывающее поле заданной размерности настраивается на выполнение конкретного алгоритма или его части, обеспечивая отображение этого алгоритма оптимальным способом на аппаратные ресурсы.
Применительно к РКС традиционный процесс программирования разделился на две составляющие: программирование архитектуры (структуры) КС и программирование алгоритма решаемой задачи.
Основная идея архитектуры таких вычислительных систем состоит в том, чтобы программно настроить схему, реализующую требуемое преобразование данных. Такие вычислительные системы, как правило, строятся с применением программируемых логических интегральных схем (ПЛИС), позволяющих в одном корпусе программно скомпоновать из вентилей, размещенных на ПЛИС, электронную схему, состоящую из нескольких десятков и даже тысяч интегральных схем стандартной логики [4]. Например, ПЛИС типа XC4085XL-09 фирмы Xilinx имеет 3136 программируемых логических блоков и минимальную длительность такта работы 4,6 наносекунд.
С момента зарождения ПЛИС их использование в мировом компьютеростроении шло по следующим основным направлениям [5]:
- создание специализированных микросхем узкого применения под конкретные проекты (например, средства цифровой обработки сигналов, телекоммуникационное оборудование, микроконтроллеры, интерфейсные узлы);
- создание универсальных и заказных проектируемых БИС для физического моделирования конкретных инженерно-технических решений;
- использование серийных изделий при мелкосерийном производстве КС с последующим переходом к заказным БИС.
- создание реконфигурируемой структуры компьютера и процесса обработки данных, выполняемого компьютером.
К классу вычислительных систем с программируемой структурой относятся систолические и волновые процессоры, программируемые процессоры, ассоциативные процессоры с SIMD-архитектурой и др.
Основная трудность в использовании реконфигурируемых структур состоит в подготовке настроечной информации для создания в ПЛИС схемы, реализующей заданный алгоритм.
Один из возможных вариантов построения КС с применением ПЛИС приведен в [4]. Суперкомпьютер НС-98ш содержит управляющий компьютер и двухплатный программно - реконфигурируемый вычислитель, который содержит 14 ПЛИС Virtex-II серии 6000 и 4 Virtex-II серии 4000. В совокупности обе эти ПЛИС содержат 98 млн. вентилей.
После включения питания первая ПЛИС программируется с помощью информации, поступающей из постоянного запоминающего устройства, которое размещено на плате. При этом в ПЛИС формируется порт шины PCI-X, через который управляющий компьютер, используя среду разработки программ Viva, программирует остальные ПЛИС.
Принимая во внимание, что на ПЛИС можно реализовать любую схему, появляется возможность создать однородную вычислительную среду из одного типа ячеек, программируя связи между ячейками. Такая среда имеет короткие связи между соседними ячейками, а реализация взаимодействия между удаленными ячейками осуществляется по принципу близкодействия через цепочку ячеек, расположенных между ними. Все это приводит к незначительным задержкам сигналов внутри микросхемы и, следовательно, обеспечивает реальную возможность получения высокого быстродействия устройств, выполненных на ПЛИС. Тем не менее, схемы однородной вычислительной среды, предназначенные для реализации арифметических операций над 64-разрядными операндами с плавающей точкой, все же уступают по быстродействию устройствам обработки операндов с плавающей точкой серийных микропроцессоров с традиционной архитектурой.
Программируемый микропроцессор устраняет этот недостаток, сохранив преимущества программируемой структуры вычислительных систем. Такой микропроцессор строится на кристалле как ячейка однородной решетки. Ячейка содержит процессор и программируемый коммутатор, предназначенный для передачи и приема данных между соседними ячейками.
Процессор строится по конвейерной схеме с дисциплиной обслуживания FIFO и с возможностью использования промежуточных результатов сразу после их получения на каждой стадии конвейера, в том числе, для передачи в другие ячейки. Предусматриваются также кэш-память данных и кэш-память команд.
Связи между ячейками и связи между обрабатывающими устройствами в конвейере идентичны и базируются на промежуточных FIFO-очередях, передающих данные по готовности приемника. При этом процесс вычислений определяется размещением данных в очередях.
Программируемый коммутатор ячейки содержит 2 интерфейсных процессора: статический и динамический. Статический интерфейсный процессор управляет передачами слов данных по устанавливаемым при компиляции программы маршрутам.
Динамический интерфейсный процессор служит для передач данных, выполнение которых нельзя предсказать во время компиляции (например, промахи в кэш-памяти, прерывания и т.д.). Он управляет процедурой передачи пакетов слов, используя метод коммутации канала на время передачи.
Ячейки, находящиеся на границе поля ячеек, имеют свободные каналы, к которым подключаются контроллеры памяти, периферийных внешних устройств. Прерывания от контроллеров передаются в виде специальных сообщений, в которых указывается, какая ячейка должна обрабатывать это прерывание.
В [6] рассматриваются принципы построения многопроцессорной системы с программируемой архитектурой и структурно-процедурной организацией вычислений, состоящей из унифицированных базовых модулей.
Структурно-процедурная организация вычислений представляет собой детерминированную последовательность кадров, каждый из которых можно рассматривать как некий функциональный оператор. Выделены следующие типовые процедуры:
- обращения к каналам распределенной памяти - макрообращения;
- параллельного доступа - макрокоммутации;
- типовые конструкции структурной реализации фрагментов задач - макрооперации.
В отличие от ряда реконфигурируемых вычислителей, для которых требуется непрерывно загружать программную и числовую информацию из host-машины, в вычислитель с программируемой архитектурой сразу загружается целая программа, представляющая собой последовательность вызовов кадра. После этого вычислитель функционирует автономно. Такая организация вычислительного процесса позволяет существенно повысить эффективность вычислителя, а наличие множества каналов распределенной памяти - повысить скорость обработки информации.
Общая структура реконфигурируемого вычислительного комплекса, представленная в [6], содержит реконфигурируемый вычислитель, состоящий из N базовых модулей, и устройства управления. При этом каждый базовый модуль (БМ) представляет собой многопроцессорную вычислительную систему со структурно-процедурной организацией вычислений. Коммутационная система БМ реализует не только информационные связи между компонентами базового модуля, но и информационные связи между БМ. Подобная организация коммутационной структуры обеспечивает однородность вычислительной системы (система состоит только из базовых модулей) и высокую технологичность организации вычислительных процессов. Обмен информацией между объектами, принадлежащими разным базовым модулям, организуется точно так же, как и обмен между объектами внутри базового модуля.
Для ввода и вывода программной и числовой информации используется шина ввода / вывода, при этом могут быть применены различные протоколы: ISA, PCI, VHE. Исполняемый модуль задачи и исходные данные поступают из host-машины по шине ввода / вывода, а по завершении выполнения задачи в host-машину выгружаются результаты решения задач.
Коммутационная структура базовых модулей позволяет передать информацию не только между смежными базовыми модулями, но и между базовыми модулями, номера которых отличаются более чем на единицу. В этом случае информация будет передаваться транзитом через промежуточные базовые модули.
Может быть выделена группа однородных элементов (элементарных процессоров и блоков распределенной памяти), которые объединяются з специальные секции. Секции соединяются между собой в двухмерную решетку, закольцованную по одному измерению. Секция, в которой находятся элементарные процессоры, называется секцией макропроцессора, а секция, в которой находятся блоки распределенной памяти, - секцией макропамяти. Каждая секция может не только соединять информационные входы с элементами секций, но и осуществлять транзит информации с входа секции на выход.
Функции пространственной коммутации распределены между макропроцессорной секцией и секцией макропамяти.
Каждая макропроцессорная секция реконфигурируемого вычислителя содержит двунаправленные каналы передачи информации, объединенные в четыре группы, и четыре элементарных процессора, связанные между собой по полному графу.
Структурная схема секции макропроцессора содержит четыре элементарных процессора и блок управления. Каждый элементарный процессор имеет два информационных входа X и Y и информационный выход Z. Секция макропроцессора имеет 16 информационных выводов.
Коммутационная система макропроцессорной секции обеспечивает подключение к информационным входам X(Y) ЭП любого информационного вывода секции V или информационного выходалюбого элементарного процессора Z, а также коммутацию по полному графу выводов макропроцессорной секции V между собой для транзитной передачи информации. Кроме того, к информационным выводам секции могут быть подключены выходы Z элемента памяти.
Блок управления выполняет настройку элементарных процессоров на арифметико-логические операции, а также настройку коммутационной системы.
Аналогично, каждая секция макропамяти содержит 16 двунаправленных каналов передачи информации, объединенных в четыре группы и четыре блока распределенной памяти. Другими словами - коммутационная структура секций изоморфна.
Все строки базового модуля также изоморфны между собой. Каждая строка информационно закольцована. При наращивании базовых модулей системы информационные выходы базовых модулей соединяются, обеспечивая, таким образом, естественное комплексирование реконфигурируемого вычислителя.
В базовом модуле реконфигурируемого вычислителя реализован ряд подсистем:
- информационная подсистема;
- подсистема синхронизации вычислительного процесса; подсистема настройки на исполняемый кадр (подсистема реконфигурации архитектуры на программном уровне);
- подсистема настройки конфигурации ПЛИС реконфигурируемого вычислителя (подсистема реконфигурации архитектуры на схемотехническом уровне);
- подсистема обработки отказов в работе системы.
Информационная подсистема обеспечивает реализацию структурно-процедурных вычислений. Данная подсистема включает в себя множество информационных каналов и внутренние коммутационные структуры модулей реконфигурируемого вычислителя.
Как отмечалось ранее, в многопроцессорных системах со структурно-процедурной организацией вычислений управляющими элементами являются контроллеры (мультиконтроллеры) распределенной памяти. Настройка макропроцессоров на макрооперации кадра осуществляется с помощью контроллеров распределенной памяти [5].
Технология ПЛИС позволяет реализовать два уровня программирования архитектуры системы. Первый уровень - пользовательский (системного программиста). На этом уровне создаются макрооперации с помощью настройки процессоров на определенные арифметико-логические операции и соединения процессоров в вычислительную структуру с помощью коммутационной системы. Помимо этого в макрооперации участвует система распределенной памяти.
Второй уровень - схемотехнический, на котором возможно средствами ПЛИС-технологии изменить систему команд элементарных процессоров, реализуя набор специализированных операций. В настоящее время ПЛИС-технология широко используется при создании аппаратно-программных средств, позволяющих создавать реконфигурируемые вычислительные системы.
Таким образом, синтез виртуальной проблемно-ориентированной архитектуры может быть осуществлен на уровне программирования функций ячеек ПЛИС и трассировки связей между ячейками ПЛИС. Это позволяет создать средствами проектирования ПЛИС компактные аппаратные решения, учитывающие специфику задач проблемной области, формат представления информации, а также требования к производительности системы.
Наличие развитых средств описания аппаратуры и поведения проектируемого объекта вместе с системной и пользовательской библиотеками позволяют упростить и формализовать общий процесс проектирования.
Таким образом, общие принципы организации РКС, построенных на ПЛИС, можно сформулировать следующим образом [7].
Структура РКС состоит из двух частей: постоянной (фиксированной) части - Host-компьютера и переменной (реконфигурируемой) части, которая подключается к Host-машине через стандартные шины. Она представлена материнской платой с внутренней локальной шиной для подключения нестандартной (переменной) части, представленной широким набором модулей расширения переменных аппаратных средств.
При создании любой конфигурации системы основная работа по реализации алгоритма переносится на специализированные блоки, распределяя процесс обработки информации таким образом, чтобы минимизировать целевую функцию (например, стоимость, время вычислений и т.д.).
В связи с большой сложностью решения такой задачи оптимизации в общем виде, приходится находить квазиоптимальное её решение методом последовательных приближений, каждый раз перераспределяя загрузку составных частей системы.
Структурная организация реконфигурируемых устройств основывается на использовании специальных материнских плат, на которую устанавливаются модули расширения, подключаемые к плате через локальную шину PCI. Сами же материнские платы подключаются к стандартной шине компьютера и работают в режиме сопроцессора. Такие платы разрабатываются многими фирмами, в частности - AlphaData, AnnapolisMicroSystems, Nallatech и др. Достаточно подробная информация об этих платах приведена в [7].
Оценивая состояние современной компьютерной науки и техники в области создания и применения РКС, можно спрогнозировать следующие направления их развития и применения [5]:
- организация реконфигурируемых функциональных полей, состоящих из одного или нескольких кристаллов ПЛИС с асинхронным взаимодействием функциональных блоков;
- построение нейросетевых автоматов и динамических иерархических сетей на их основе;
- реализация функционального параллелизма процедур со сложными структурами данных и функциями;
- применение в однородной распределенной функциональной среде;
- поддержка различных базовых процедур когнитивного тракта, включая поддержку основных форм представления и взаимного преобразования информации (текстовой, речевой, аналитической, графической), взаимодействие через языковую картину мира с фиксацией и обобщением смысла исходных и синтезируемых информационных сообщений, онтологоуправляемые когнитивные процессы, построение отказоустойчивых (живучих) КС, алгоритмизация сетевых архитектур, саморазвитие КС с использованием знание ориентированной парадигмы и др.
1.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 шины: двунаправленную шину данных, подсоединяемую к основному процессору (или процессорам), однонаправленную входную шину команд, по которой поступает выполняемая всеми кристаллами команда; однонаправленную входную шину ввода; однонаправленную выходную шину вывода.
2. Особенности архитектурно-структурной организации метакомпьютеров
Метакомпьютер можно определить как виртуальный компьютер, динамически сформированный из распределенных ресурсов, соединенных высокоскоростными сетями передачи данных [16]. При этом пользователь имеет полную иллюзию использования одной, но гораздо более мощной машины, чем та, что стоит на его столе, и может с ней работать в рамках той же модели, которая принята на его персональном компьютере.
Стратегической целью метакомпьютинга является создание сверхпроизводительной среды на основе компьютерных ресурсов (процессоров, оперативной и внешней памяти, устройств ввода / вывода) современных сетей общего пользования, например, Internet. Такая распределенная и неоднородная по своей природе конструкция даже в корпоративном или региональном, не говоря уже о национальном и транснациональном масштабах, потенциально мощнее любого суперкомпьютера.
Применение метакомпьютера особенно эффективно там, где необходимо выполнить части работы на вычислительных системах различной архитектуры и различной мощности. Например, при использовании метакомпьютера предварительная обработка данных может быть произведена на пользовательской рабочей станции, основное моделирование - на векторно-конвейерном суперкомпьютере, решение больших систем линейных уравнений - на системе с массовым параллелизмом, а визуализацию результатов - на специальной графической станции.
Компонентами «метакомпьютера» могут быть как простейшие ПК, так и мощные системы с массовым параллелизмом. При этом метакомпьютер может не иметь постоянной конфигурации: отдельные компоненты могут включаться в его конфигурацию или отключаться от нее при непрерывном функционировании системы в целом.
Применение идеологии метакомпьютинга позволяет решать пользовательские задачи, которые выставляют очень высокие требования к компьютерным ресурсам, например:
- процессорная мощность - от 0,2 Tflops до 20 Tflops; емкость оперативной памяти - от 100 GB до 200 GB;
- емкость дисковой памяти - от 1ТВ до 2 ТВ;
- ширина полосы пропускания ввода / вывода - от 0,2GB/s. до 0,5 GB/s.
Существует несколько форм организации метакомпьютерной среды, которые, в основном, определяются характером решаемых пользователем задач [16].
При решении вычислительных задач с возможностью распараллеливания использование метакомпьютерной среды дает возможность пользователю запускать свои задачи на удаленных вычислительных установках с требуемым объемом вычислительных ресурсов, которые необходимы для успешного счета. При этом метакомпьютер распределяет задачи в сети в соответствии с запросами и дает возможность пользователю вступать во временное владение найденными ресурсами без персональной регистрации на исполнительной установке, одновременно гарантируя надежную защиту информации. При этом возможен также выход на ресурсы других типов, например, на мощные графические станции со специализированными процессорами или на базы данных с большими объемами информации. Такой вид среды отождествляется в [16] как настольный суперкомпьютер.
Возможен другой вид метакомпьютерной среды, ориентированный на сбор больших объемов данных в реальном времени, поступающих с датчиков, анализ текущей ситуации, выработку решения и выдачу определяющего воздействия. Все это требует тесной интеграции управления, обработки данных разного вида, моделирования процессов, визуализации в реальном времени. Комплексы такого рода, основанные на применении метакомпьютерной среды, получили название интеллектуальных инструментальных комплексов.
И, наконец, метакомпьюторная среда может рассматриваться как сетевой суперкомпьютер, объединяющий с помощью сети отдельные вычислительные установки разной мощности: суперкомпьютеры, серверы, рабочие станции и даже персональные компьютеры. При этом суммарные ресурсы агрегированной архитектуры могут быть использованы в рамках одной задачи.
Известно, что стоимость такого решения даже на базе дорогого и мощного сетевого оборудования все же на порядок меньше цены готового суперкомпьютера (а это миллионы долларов) при сопоставимых характеристиках процессорной производительности.
Подобные документы
Создание автоматизированных систем управления для предприятий нефтяной и газовой промышленности. Система управления базами данных (СУБД), ее функциональные возможности, уровневая архитектура. Характеристика реляционных, объектных и распределенных СУБД.
курсовая работа [434,7 K], добавлен 20.07.2012Описание нетрадиционных и мультипроцессорных архитектур вычислительных систем. Принципы параллельной и конвейерной обработки данных. Теория массового обслуживания и управления ресурсами компьютерных систем. Базовые топологии локальных и глобальной сетей.
книга [4,2 M], добавлен 11.11.2010Понятие и внутренняя структура операционных систем, их классификация и разновидности, предъявляемые требования, этапы становления и развития, функциональные особенности. Описание и назначение базовых компьютерных систем: DOS, Windows, Linux, Mac.
курсовая работа [44,9 K], добавлен 14.12.2013Классификации архитектур вычислительных систем. Организация компьютерных систем. Устройство центрального процессора. Принципы разработки современных компьютеров. Эволюция микропроцессорных систем. Увеличение числа и состава функциональных устройств.
дипломная работа [1,4 M], добавлен 29.01.2009Виды архитектуры распределенных информационных систем. Сущность синхронного и асинхронного, блокирующего и неблокирующего взаимодействия в распределенных информационных системах. Основные проблемы и принципы реализации удаленного вызова процедур.
реферат [26,4 K], добавлен 22.06.2011Принципы построения систем с переменной структурой для управления свободным движением линейных объектов с постоянными параметрами. Разработка модели системы с переменной структурой с применением инструментов Model Vision Studium и Simulink пакета MathLab.
дипломная работа [4,3 M], добавлен 26.10.2012Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Определение, свойства и характеристики распределенных систем баз данных. Основная задача систем управления ими. Архитектура распределения СУБД. Сравнение технологий файлового сервера и "клиент-сервера". Стратегия распределения данных по узлам сети ЭВМ.
курсовая работа [601,3 K], добавлен 24.05.2015Рассмотрение истории развития компьютерных систем. Изучение способов организации внутренней программно-аппаратной и логической структуры компьютерных систем и сетей. Структура системы; возможности и ограничения, взаимодействие и взаимосвязь элементов.
презентация [6,6 M], добавлен 06.04.2015Общая характеристика и функциональные возможности языка логического программирования Prolog, а также систем SWI-Prolog и Visual Prolog. Формирование базы знаний относительно определения возможности трудоустройства студента и принципы реализации запросов.
лабораторная работа [1,3 M], добавлен 07.10.2014