Введение

nCUBE — серия параллельных вычислительных компьютеров компании с одноименным названием. Первые поколения оборудования использовали разработанный компанией микропроцессор. В последних поколениях серверов nCUBE перестала разрабатывать собственные микропроцессоры для машин, перейдя на использование серверных чипов, производимых сторонними компаниями, в крупномасштабных параллельных аппаратных комплексах, главным образом для видео по запросу.

Основание и ранний рост

nCUBE была основана в 1983 году в Бивертоне, штат Орегон, группой сотрудников Intel (Стив Колли, Билл Ричардсон, Джон Палмер, Доран Уайльд, Дэйв Джурасек), разочарованных нежеланием Intel выходить на рынок параллельных вычислений, хотя Intel выпустила свою iPSC/1 в том же году, что и первый nCUBE. В декабре 1985 года было выпущено первое поколение гиперкубных машин nCUBE. Второе поколение (N2) было представлено в июне 1989 года. Третье поколение (N3) было выпущено в 1995 году. Четвертое поколение (N4) было выпущено в 1999 году. В 1988 году Ларри Эллисон сделал значительные инвестиции в nCUBE и стал мажоритарным акционером компании. Штаб-квартира компании была перенесена в Фостер-Сити, Калифорния, чтобы быть ближе к корпорации Oracle. В 1994 году Рональд Дилбек занял пост генерального директора и начал подготовку nCUBE к первичному публичному размещению акций.

Переключение на видео

В 1996 году Эллисон сократил штат nCUBE. Дилбек ушел, и Эллисон стал исполняющим обязанности генерального директора, переориентировав компанию на подразделение сетевых компьютеров Oracle. После неудачной попытки развития сетевых компьютеров, nCUBE возобновила разработку видеосерверов. nCUBE развернула свой первый VOD-видеосервер в отеле Бурдж-аль-Араб в Дубае. В 1999 году nCUBE объявила о приобретении SkyConnect, семилетней компании из Луисвилля, штат Колорадо, занимавшейся разработкой программного обеспечения для цифровой рекламы и VOD для кабельного телевидения. В 1990-х годах nCUBE изменила свою специализацию с рынка параллельных вычислений и к 1999 году позиционировала себя как поставщик решений для видео по запросу (VOD), поставив более 100 систем VOD, обеспечивающих 17 000 потоков, и установив партнерские отношения с Microsoft TV. Компания снова начала подготовку к IPO, но процесс был приостановлен после краха пузыря доткомов.

Судебные иски и последствия доткомов

В 2000 году SeaChange International подала иск против nCUBE о нарушении патентных прав, утверждая, что продукт nCUBE MediaCube 4 нарушает патент SeaChange. Суд присяжных признал патент SeaChange действительным и присудил компенсацию. Апелляционный суд США по федеральному округу впоследствии отменил это решение 29 июня 2005 года. Отдельный иск против SeaChange был подан nCUBE в 2001 году после приобретения ею патентов от подразделения интерактивного телевидения Oracle. nCUBE утверждала, что предложение видеосерверов от SeaChange нарушает ее патент VOD на доставку контента на приставки. nCUBE выиграла иск и получила более 2 миллионов долларов в качестве возмещения ущерба. SeaChange обжаловала решение, но оно было оставлено в силе в 2004 году. На фоне лопнувшего пузыря доткомов и последовавшей за этим рецессии, а также судебных разбирательств, положение nCUBE ухудшилось. В апреле 2001 года nCUBE сократила 17% штата и начала закрывать офисы (в Фостер-Сити в 2002 году и в Луисвилле в 2003 году) с целью сокращения расходов и консолидации компании вокруг производственного офиса в Бивертоне. Также в 2002 году Эллисон ушел с поста генерального директора и назначил бывшего генерального директора SkyConnect Майкла Дж. Пола своим преемником.

Приобретенные

В январе 2005 года компания nCUBE была приобретена C COR за приблизительно 89,5 миллионов долларов, о чем было заявлено в документах SEC в октябре 2004 года. В декабре 2007 года C COR была приобретена компанией ARRIS.

nCUBE 10

Одной из первых машин nCUBE, поступивших в продажу, был nCUBE 10 конца 1985 года. Изначально он назывался NCUBE/ten, но со временем название изменилось. Эти машины были построены на базе набора специализированных микросхем, где каждый вычислительный узел содержал процессорный чип с 32-битным АЛУ, 64-битным блоком вычислений с плавающей точкой IEEE 754, специальными инструкциями для связи и 128 КБ оперативной памяти. Производительность узла составляла 2 MIPS, 500 килофлопс (32-битная одинарная точность) или 300 килофлопс (64-битная двойная точность). На каждой плате размещалось 64 узла. На главной плате, основанной на Intel 80286, работала Axis – специализированная операционная система, подобная Unix, а каждый вычислительный узел функционировал под управлением 4 КБ ядра Vertex. Название nCUBE 10 отражало способность машины строить гиперкуб десятого порядка, поддерживающий 1024 процессора в одной системе. Некоторые модули использовались исключительно для ввода-вывода, включая карту управления хранилищем nChannel, буферы кадров и карту InterSystem, позволявшую объединять nCUBE в кластеры. Необходимо было установить как минимум одну главную плату, которая выполняла роль терминального драйвера. Она также могла разделять систему на "подкубы" и выделять их отдельным пользователям.

nCUBE 2

Для второй серии было изменено название, и они создали однокристальный процессор nCUBE 2. В остальном он был похож на процессор nCUBE 10, но работал быстрее, на частоте 25 МГц, обеспечивая около 7 МИПС и 3,5 мегаФЛОПС. Позже эта частота была увеличена до 30 МГц в модели 2S. Объём оперативной памяти также был увеличен: от 4 до 16 МБ на "одиночном широком" модуле размером 1 дюйм x 3,5 дюйма. Дополнительно использовались форм-факторы "двойной ширины" (двойные модули) и в четыре раза большая ёмкость в модуле "двойной ширины, двусторонний". Платы ввода-вывода обычно имели меньший объём оперативной памяти и различные интерфейсы для поддержки SCSI, HIPPI и других протоколов. Каждый процессор nCUBE 2 также включал 13 каналов ввода-вывода, работающих на скорости 20 Мбит/с. Один из них был выделен для задач ввода-вывода, а остальные двенадцать использовались в качестве системы межпроцессорного взаимодействия. Каждый канал использовал маршрутизацию типа "червоточина" для пересылки сообщений. Сами машины были соединены в гиперкубы порядка 12, что позволяло использовать до 4096 процессоров в одной машине. Каждый модуль работал под управлением микроядра объёмом 200 КБ под названием nCX, но система теперь использовала рабочую станцию Sun Microsystems в качестве интерфейса и больше не нуждалась в контроллере хоста. nCX включала параллельную файловую систему, поддерживающую 96-полосное чередование для обеспечения высокой производительности. Доступны языки C и C++, а также NQS, Linda и Parasoft's Express. Поддержку им обеспечивала внутренняя команда разработчиков компиляторов. Самая крупная система nCUBE 2 была установлена в Национальных лабораториях Сандии: система на 1024 процессора, которая в ходе тестирования достигла производительности 1,91 гигаФЛОПС. Помимо операционной системы nCX, она также работала с легковесным ядром SUNMOS для исследовательских целей. Исследователи Роберт Беннер, Джон Густафсон и Гэри Монтри из отдела параллельной обработки Национальной лаборатории Сандии сначала выиграли премию Карпа в размере 100 долларов, а затем в 1987 году получили первую премию Гордона Белла, используя nCUBE 10.

nCUBE-3

Процессор nCUBE 3 использовал 64-битную арифметико-логическую единицу (ALU). Его улучшения включали уменьшение техпроцесса до 0,5 мкм, что позволило увеличить тактовую частоту до 50 МГц (с планами по достижению 66 и 100 МГц). Процессор также был суперскалярным и включал кэш инструкций и данных объемом 16 КБ, а также блок управления памятью для поддержки виртуальной памяти. Были добавлены дополнительные каналы ввода-вывода, 2 из которых выделены для операций ввода-вывода и 16 – для межсоединений, что позволяло объединить до 65 536 процессоров в гиперкуб. Каналы работали на скорости 100 Мбит/с благодаря использованию 2-битных параллельных линий вместо последовательных линий, использовавшихся ранее. В nCUBE 3 также была добавлена поддержка отказоустойчивой адаптивной маршрутизации, в дополнение к фиксированной маршрутизации, хотя сейчас трудно понять, зачем это было сделано. Полностью загруженная система nCUBE 3 могла использовать до 65 536 процессоров, обеспечивая производительность 3 миллиона MIPS и 6,5 терафлопс; максимальный объем памяти составлял 65 ТБ, а пропускная способность сети для ввода-вывода – 24 ТБ/с. Таким образом, процессор был ориентирован на операции ввода-вывода, которые обычно являются узким местом. Плата nChannel предоставляет 16 каналов ввода-вывода, каждый из которых может поддерживать передачу данных со скоростью 20 МБ/с. Для nCUBE 3 было разработано микроядро, но оно так и не было завершено, поскольку предпочтение было отдано операционной системе Transit от Plan 9.

nCUBE-4

nCUBE 4 ознаменовал переход к коммерческим процессорам, при этом каждый узел содержал процессор класса сервер Intel IA32. N4 также сосредоточился исключительно на потоковой передаче видео, а не на научных приложениях. Каждый хаб содержал один гиперкубический узел, один процессор, пару шин PCI и до 12 дисков SCSI. За n4 последовали n4x, n4x r2 и n4x r3. Последние два были основаны на чипсете Serverworks, а не на чипсете Intel. nCUBE 5 был очень похож на семейство n4, но включал два гиперкубических узла в каждом хабе и поддерживал только потоковое видео через Gigabit Ethernet. В 1999 году nCUBE представил MediaCUBE 4, который поддерживал 80 одновременных потоков со скоростью 3 Мбит/с и до 44 000 одновременных потоков VOD, используя протоколы кодирования MPEG 2, MPEG 1 и средней скорости передачи данных одновременно.