Сегодня решил вам поведать, что такое по-настоящему мощный компьютер, основываясь на компах компании nCube. nCube представляет собой масштабируемую серию систем, производительность которых может достигать 34 GigaFlops. Каждый компьютер этой серии содержит набор процессоров nCube, соединенных в гиперкубическую сеть. Наибольшую систему составляют 8192 процессора, и ее мощность более чем в 1000 раз превышает мощность наименьшей - с 8 процессорами. Возможности памяти и системы ввода/вывода возрастают вместе с ростом процессорной мощности.
Да… начинаешь невольно задумываться сколько такой металл будет стоить. Ну хватит о грустном. Мне интересно, как отреагирует продавец компьютерных дисков, если ты попросишь подобрать игрушку под такой комп. Что-то я не о том, давайте перейдём к делу.
Следующая цель компании nCube - разработка нового семейства Mpp-систем (т.е. компьютеры, включающие в себя тысячи процессоров), компьютеров nCube 3. Новое поколение nCube, следуя принципам высокой интегрируемости и масштабируемости, станет первой промышленно реализованной платформой с производительностью до нескольких TFlops, стопроцентно совместимой с предыдущими поколениями систем nCube.
Основные принципы архитектуры
Давайте поподробней разберём, что из себя представляет nCube. В компьютерах nCube используется архитектура распределенной памяти, позволяющая оптимизировать доступ к оперативной памяти, вероятно, наиболее критичному ресурсу вычислительной системы.
Традиционные архитектуры с разделенной памятью удобны для систем с небольшим числом процессоров, однако, они плохо масштабируются по мере добавления процессоров и памяти. Когда в системе с разделением памяти увеличивается число процессоров, возрастает конкуренция в использовании ограниченной пропускной способности системной шины, что снижает производительность соединения процессор-память. Кроме того, добавление процессоров в такую систему требует увеличения количества логики для управления памятью, снижая тем самым производительность системы и увеличивая ее цену.
Эти недостатки отсутствуют в системах с распределенной памятью. В такой системе каждый процессор имеет свою собственную локальную память. Потенциальные узкие места, связанные с шиной процессор-память и необходимостью разрабатывать системы управления кэшем, полностью исключаются. С добавлением процессоров добавляется память, пропускная способность соединения процессор-память масштабируется вместе с вычислительной мощностью. Топология межпроцессорных соединений, обеспечивающая масштабирование до большого числа процессоров без снижения производительности коммуникаций или увеличения времени ожидания, является обязательной для MPP-систем. Компьютеры nCube используют сетевую топологию гиперкуба, которая отвечает этим требованиям. Соединения между процессорами nCube-системы образуют многомерный куб, называемый гиперкубом. По мере добавления процессоров увеличивается размерность гиперкуба. Соединение двух гиперкубов одинаковой размерности образует гиперкуб следующей размерности. N-мерный гиперкуб содержит 2n процессоров. Двухмерный гиперкуб - это квадрат. Трехмерный гиперкуб образует обычный куб, а четырехмерный гиперкуб представляет собой куб в кубе. Для семейства компьютеров nCube 2 гиперкуб максимальной размерности 13 содержит 8192 процессора. В системе nCube 3 число процессоров может достигать 65536 (16-мерный гиперкуб).
Эффективность сетевой топологии измеряется, в частности, числом шагов для передачи данных между наиболее удаленными процессорами в системе. Для гиперкуба максимальное расстояние (число шагов) между процессорами совпадает с размерностью куба. Например, в наибольшем 13-мерном семейства nCube 2 сообщения между процессорами никогда не проходят более 13 шагов. Для сравнения, в 2-мерной конфигурации "mesh" (петля) с числом процессоров, вдвое меньшим числа процессоров в максимальной системе nCube 2, наибольшее расстояние между процессорами составляет 64 шага. Задержки коммуникаций в такой системе значительно увеличиваются. Таким образом, никакая другая топология соединения процессоров не может сравниться с гиперкубом по эффективности. Пользователь может удвоить число процессоров в системе, при этом увеличивая длину пути связи между наиболее удаленными процессорами только на один шаг.
Большое число соединений в гиперкубе создает высочайшую пропускную способность межпроцессорных соединений по сравнению с любой другой сетевой схемой. Большое количество путей передачи данных и компактный дизайн гиперкуба позволяют передавать данные с очень высокой скоростью.
Высокий уровень интеграции
Многие преимущества nCube-систем, и, прежде всего высочайшие показатели - надежности и производительности, являются результатом использования технологии VLSI (Very Large Scale Integration - сверхвысокая степень интеграции). В большей степени, чем какие-либо другие факторы, на надежность компьютера влияет число используемых компонентов. Большее число компонентов неминуемо увеличивает вероятность сбоя системы. По этой причине nCube интегрирует все функции процессорного узла на одно VLSI-устройство. VLSI-интеграция также сокращает требуемое число соединений, которые могут оказывать решающее влияние на целостность всей системы.
Высокий уровень интеграции сокращает пути передачи данных, повышая тем самым производительность системы. Интеграция процессорного узла на один чип оставляет свободными для контроля только простые соединения с памятью и сетевые интерфейсы вместо сложных сигналов синхронизации, арбитража и управления. Эти простые соединения тестируются и корректируются с помощью методов контроля четности и ЕСС (Error Correction Code - код коррекции ошибок), упрощая процесс определения и изоляции ошибок.
Компьютер nCube 2
Хватит общей информации, сейчас рассмотрим детально nCube2. Компьютер 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 входит высокоскоростное устройство маршрутизации сообщений, которое управляет передачей сообщений между процессорами. Устройство маршрутизации обеспечивает прямую передачу сообщений без прерывания промежуточных процессоров или необходимости хранения данных сообщения в их памяти. Сообщения передаются со скоростью 9.75 МБ/сек на канал DMA. Специальные методы маршрутизации автоматически вычисляют кратчайший путь между процессорами и предотвращают взаимную блокировку сообщений, освобождая пользователей от необходимости планировать маршруты. Устройство маршрутизации передает сообщения настолько быстро, что число проходимых шагов влияет на производительность гораздо меньше, чем в других компьютерах. Высокая скорость передачи создает иллюзию, что каждый процессор связан непосредственно с любым другим в сети. Эффективность гиперкубической топологии в совокупности с высокоскоростным устройством маршрутизации создают высокопроизводительную систему межпроцессорных соединений с максимальной, по сравнению с другими процессорными сетями, скоростью межпроцессорных коммуникаций. Компьютер серии nCube 2 с 8192 процессорами имеет скорость межпроцессорной передачи 577 ГБ/сек.
Каждый процессор nCube 2 выполняет свою собственную программируемую последовательность команд и может функционировать независимо. Этот принцип позволяет выделять подмножества процессоров для параллельного выполнения различных операций. Такое разбиение гиперкуба превращает компьютер nCube 2 в многопользовательскую, многозадачную систему. Программное обеспечение nCube 2 выделяет набор процессоров - подкуб - для программы пользователя и загружает ее. В течение необходимого времени каждый такой подкуб функционирует как отдельный компьютер. Пользователи могут изменять размеры подкубов в соответствии с требованиями своих программ.
На сегодня хватит инфы, ждите продолжения статьи.