Введение

BBN Butterfly был массивно-параллельным компьютером, разработанным компанией Bolt, Beranek и Newman в 1980-х годах. Он получил свое название в честь многоступенчатой коммутационной сети типа "бабочка", вокруг которой и был построен. Каждая машина имела до 512 процессоров, каждый с локальной памятью, которые могли быть соединены таким образом, чтобы каждый процессор имел доступ к памяти любого другого процессора, хотя и с существенно большей задержкой (примерно 15:1) по сравнению с доступом к собственной памяти. Процессоры были стандартными микропроцессорами. Адресное пространство памяти было общим. В первом поколении использовались процессоры Motorola 68000, за которыми последовала версия на базе 68010. Коммутационная сеть Butterfly была разработана специально для этого компьютера. Модели второго или третьего поколения GP 1000 использовали процессоры Motorola 68020 и масштабировались до 256 процессоров. Более поздние модели TC 2000 использовали процессоры Motorola MC88100 и масштабировались до 512 процессоров. Изначально Butterfly разрабатывался как Voice Funnel – маршрутизатор для протокола ST II, предназначенный для передачи голоса и видео по IP-сетям. В дальнейшем аппаратное обеспечение Butterfly было использовано для создания пакетного коммутатора Butterfly Satellite IMP (BSAT) в широкополосной спутниковой пакетной сети DARPA, которая функционировала на нескольких площадках в США через общий спутниковый канал шириной 3 Мбит/с. В конце 1980-х годов эта сеть преобразовалась в наземную широкополосную сеть, основанную на наземных линиях T1 вместо общего спутникового канала вещания, а BSAT стал широкополосным пакетным коммутатором (WPS). Еще один проект, финансируемый DARPA в BBN, создал мультипроцессорный интернет-шлюз Butterfly (интернет-маршрутизатор) для соединения различных типов сетей на IP-уровне. Как и BSAT, Butterfly Gateway преодолел ограничения архитектуры миникомпьютеров с общей шиной, использовавшейся для интернет-шлюзов, объединив вычисления маршрутизации и ввод-вывод на сетевых интерфейсах и используя коммутационную сеть Butterfly для обеспечения сетевых соединений. Это привело к значительному увеличению пропускной способности каналов связи. Butterfly изначально работал под управлением проприетарной операционной системы Chrysalis, но в 1989 году перешел на операционную систему на базе ядра Mach. Несмотря на неравномерное время доступа к памяти, машина поддерживала семантику памяти SMP и могла функционировать как симметричный мультипроцессор. Самая крупная сконфигурированная система с 128 процессорами находилась в отделении компьютерных наук Университета Рочестера. Большинство поставленных систем имели около 16 процессоров. Нет известных конфигураций, находящихся в музеях. По крайней мере, одна система предположительно установлена в автономном транспортном средстве DARPA. TotalView, отладчик параллельных программ, разработанный для Butterfly, пережил платформу и был портирован на ряд других массивно-параллельных машин.