б) Межпроцессорная сеть
Топология межпроцессорных соединений, обеспечивающая масштабирование до большого числа процессоров без снижения производительности коммуникаций или увеличения времени ожидания, является обязательной для MPP-систем. Суперкомпьютеры nCube используют сетевую топологию гиперкуба, которая отвечает этим требованиям. Соединения между процессорами nCube-системы образуют многомерный куб, называемый гиперкубом. По мере добавления процессоров увеличивается размерность гиперкуба. Соединение двух гиперкубов одинаковой размерности образует гиперкуб следующей размерности. N-мерный гиперкуб содержит 2€n процессоров. Двухмерный гиперкуб - это квадрат. Трехмерный гиперкуб образует обычный куб, а четырехмерный гиперкуб представляет собой куб в кубе. Для семейства суперкомпьютеров nCube 2 гиперкуб максимальной размерности 13 содержит 8192 процессора. В системе nCube 3 число процессоров может достигать 65536 (16-мерный гиперкуб).
Эффективность сетевой топологии измеряется, в частности, числом шагов для передачи данных между наиболее удаленными процессорами в системе. Для гиперкуба максимальное расстояние (число шагов) между процессорами совпадает с размерностью куба. Например, в наибольшем 13-мерном семейства nCube 2 сообщения между процессорами никогда не проходят более 13 шагов. Для сравнения, в 2-мерной конфигурации "mesh" (петля) с числом процессоров, вдвое меньшим числа процессоров в максимальной системе nCube 2, наибольшее расстояние между процессорами составляет 64 шага. Задержки коммуникаций в такой системе значительно увеличиваются. Таким образом, никакая другая топология соединения процессоров не может сравниться с гиперкубом по эффективности. Пользователь может удвоить число процессоров в системе, при этом увеличивая длину пути связи между наиболее удаленными процессорами только на один шаг.
Большое число соединений в гиперкубе создает высочайшую пропускную способность межпроцессорных соединений по сравнению с любой другой сетевой схемой. Большое количество путей передачи данных и компактный дизайн гиперкуба позволяют передавать данные с очень высокой скоростью. Кроме того, гиперкубическая схема характеризуется большой гибкостью, так как она позволяет эмулировать другие популярные топологии, включая деревья, кольца. Таким образом, пользователям nCube-систем гарантируется корректное выполнение приложений, зависящих от других топологий.
в) Высокий уровень интеграции
Многие преимущества nCube-систем, и, прежде всего высочайшие показатели - надежности и производительности, являются результатом использования технологии VLSI (Very Large Scale Integration - сверхвысокая степень интеграции). В большей степени, чем какие-либо другие факторы, на надежность компьютера влияет число используемых компонентов. Большее число компонентов неминуемо увеличивает вероятность сбоя системы. По этой причине nCube интегрирует все функции процессорного узла на одно VLSI-устройство. VLSI-интеграция также сокращает требуемое число соединений, которые могут оказывать решающее влияние на целостность всей системы.
Высокий уровень интеграции сокращает пути передачи данных, повышая тем самым производительность системы. Интеграция процессорного узла на один чип оставляет свободными для контроля только простые соединения с памятью и сетевые интерфейсы вместо сложных сигналов синхронизации, арбитража и управления. Эти простые соединения тестируются и корректируются с помощью методов контроля четности и ЕСС (Error Correction Code - код коррекции ошибок), упрощая процесс определения и изоляции ошибок.
2.2 Суперкомпьютер nCube 2
Суперкомпьютер nCube 2 масштабируется от 8-процессорных моделей до моделей с 8192 процессорами. Архитектура nCube 2 уравновешивает процессорную мощность, пропускную способность памяти и пропускную способность системы ввода/вывода. Добавление процессоров в систему не влечет за собой появление узких мест в пропускной способности памяти или системы ввода/вывода.
Семейство nCube 2 включает в себя две серии суперкомпьютеров:
— Серия nCube 2S базируется на процессоре nCube 2S с тактовой частотой 25 MHz; предельная производительность 33 MFLOPS - 34 GFLOPS; размер оперативной памяти 32 Мб - 32 Гб;
— Серия nCube 2 базируется на процессоре nCube 2 с тактовой частотой 20 MHz; предельная производительность 26 MFLOPS - 27 GFLOPS; размер оперативной памяти 32 Мб - 32 Гб.
Архитектура суперкомпьютера семейства nCube 2 базируется на гиперкубической сети VLSI - чипов, спаренных с независимыми друг от друга устройствами памяти. Чип, или процессор nCube 2, включает в себя:
- 64-разрядный центральный процессор;
- 64-разрядный модуль вычислений с плавающей точкой;
- удовлетворяющий стандарту IEEE (Institute of Electrical and Electronic Engineers - Институт инженеров по электротехнике и радиоэлектронике) интерфейс управления памятью с 39-разрядным путем данных 14 двунаправленных каналов DMA (Direct Memory Access - прямой доступ к памяти)
При тактовой частоте 25 МГц процессор имеет скорость 4.1 MFLOPS для вычислений с плавающей точкой одинарной и 3.0 MFLOPS двойной точности.
Каждый процессор nCube 2 конфигурируется с устройством динамической памяти емкостью от 4 до 64 МБайт.
Распределенная архитектура памяти фактически не налагает никаких ограничений на скорость операций с памятью. Процессоры не конкурируют в использовании пропускной способности соединения с памятью и не должны ждать подкачки данных. Добавление процессоров в систему увенчивает пропускную способность памяти и тем самым повышает производительность.
Каждый суперкомпьютер nCube 2 содержит компактную сеть процессоров. На одну процессорную плату nCube 2 может монтироваться до 64 процессоров. Процессорная стойка может содержать 16 плат с общим числом процессоров до 1024. Для построения систем большего размера стойки комбинируются. Использование недорогих строительных блоков обеспечивает низкую цену полной компьютерной системы в сочетании с феноменально высокой производительностью, достигнутой за счет комбинированной мощности процессорной сети.
Каждый процессор nCube 2 содержит 14 каналов DMA 13 для соединений в гиперкубе и 1 для ввода/вывода. Выделенный канал ввода/вывода уравновешивает вычислительную производительность процессора с производительностью его системы ввода/вывода. По мере добавления процессоров в систему пропускная способность системы ввода/вывода гиперкуба масштабируется вместе с процессорной мощностью и памятью. В состав процессора nCube 2 входит высокоскоростное устройство маршрутизации сообщений, которое управляет передачей сообщений между процессорами. Устройство маршрутизации обеспечивает прямую передачу сообщений без прерывания промежуточных процессоров или необходимости хранения данных сообщения в их памяти. Сообщения передаются со скоростью 2.75 МБ/сек на канал DMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путь между процессорами и предотвращают взаимную блокировку сообщений, освобождая пользователей от необходимости планировать маршруты. Устройство маршрутизации передает сообщения настолько быстро, что число проходимых шагов влияет на производительность гораздо меньше, чем в других компьютерах. Высокая скорость передачи создает иллюзию, что каждый процессор связан непосредственно с любым другим в сети. Эффективность гиперкубической топологии в совокупности с высокоскоростным устройством маршрутизации создают высокопроизводительную систему межпроцессорных соединений с максимальной, по сравнению с другими процессорными сетями, скоростью межпроцессорных коммуникаций. Суперкомпьютер серии nCube 2 с 8192 процессорами имеет скорость межпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемую последовательность команд и может функционировать независимо. Этот принцип позволяет выделять подмножества процессоров для параллельного выполнения различных операций. Такое разбиение гиперкуба превращает суперкомпьютер nCube 2 в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2 выделяет набор процессоров - подкуб - для программы пользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователи могут изменять размеры подкубов в соответствии с требованиями своих программ.
2.3 Архитектура процессора nCube
Процессор nCube, как и следует из общего назначения системы, ориентирован прежде всего на вещественные вычисления. За один такт генератора его вещественное арифметическое устройство выполняет две операции, в то время как целочисленное - одну. При этом вещественный конвейер состоит всего из двух ступеней (в других архитектурах число ступеней вещественного процессора от трех до семи). Высокая доступность кэша на кристалле процессора обеспечивает практически пиковые показатели эффективности даже при обработке длинных векторов, размещенных в памяти.
На кристалле расположены регистровый файл и два кэша по 16 КБайт каждый: разделенные кэш команд и кэш данных. Скорость доступа к внутреннему кэшу составляет 1.6 ГБайт/сек, а для большей эффективности обслуживает его специальный конвейер. Доступ к кэшу осуществляется по физическому адресу, чтобы избежать ненужных перемещений данных в случае переключения контекста.
Процессор nCube включает в себя полную поддержку виртуальной памяти. В основу архитектуры заложено 64-разрядное поле виртуального адреса, хотя в настоящее время реализован 48-разрядный виртуальный адрес, обеспечивающий адресацию 256 ТБайт. Размеры страниц могут иметь переменные размеры от 256 Байт до 64 МБайт.
а) Система ввода/вывода nCube 2
Высокопроизводительной вычислительной системе должна соответствовать мощная, быстрая и гибкая система ввода/вывода. В суперкомпьютере nCube 2 система ввода/вывода использует тот же самый VLSI- процессор, который функционирует как вычислительный элемент в гиперкубической сети. Каноны DMA в процессорах системы ввода/вывода используются как пути передачи данных. Наличие выделенных процессоров ввода/вывода позволяет осуществлять параллельную работу вычислительной сети и системы ввода/вывода.