Кіріспе
Pluribus мультипроцессоры – ARPANET желісінде пакеттік коммутатор ретінде пайдалану үшін BBN компаниясымен жасалған алғашқы көппроцессорлы компьютер. Оның құрылымы кейін BBN Butterfly компьютеріне әсер етті. Pluribus 1972 жылы екінші буын интерфейстік хабарлама процессорының (IMP) қажеттілігі туған кезде пайда болды. Ол кезде BBN компаниясы ARPANET желісінің отыз бестен астам нүктесіне IMP орнатқан болатын. Бұл IMP-лер Honeywell 316 және 516 мини-компьютерлері еді. Желі бірнеше жағынан қарқынды өсіп жатты: түйіндердің, хосттардың және терминалдардың саны; трафик көлемі; және географиялық аумақ (Еуропа мен Гавайиге спутниктік байланыс желілерін құру жоспарлары іске асырылды). Мақсат – модульдік құрылымы бар машинаны жасау болды, ол ең төменгі деңгейде 316 және 516-дан кішірек және арзан болып, сыйымдылығын он есеге дейін арттыруға және 516-ға қарағанда бес есе көп кіріс-шығыс (I/O) құрылғыларын қолдауға қабілетті болу керек еді. Сонымен қатар, жадты мекендеу мүмкіндігін арттыру және сенімділікті жоғарылату да мақсаттардың қатарында болды. Дизайнерлер көппроцессорлық тәсілді таңдады, себебі ол модульдік құрылымға, өнімділікке қатысты шығындарды азайтуға, сенімділікке ие болатын және IMP пакеттік коммутаторларының алгоритмдері тәуелсіз процессорлармен параллель өңдеуге толыққанды жарайтын еді.
The Pluribus multiprocessor was an early multi processor computer designed by BBN for use as a packet switch in the ARPANET. Its design later influenced the BBN Butterfly computer. The Pluribus had its beginnings in 1972 when the need for a second generation interface message processor (IMP) became apparent. At that time, the BBN had already installed IMPs at more than thirty five ARPANET sites. These IMPs were Honeywell 316 and 516 minicomputers. The network was growing rapidly in several dimensions: number of nodes, hosts, and terminals; volume of traffic; and geographic coverage (including plans, now realized, for satellite extensions to Europe and Hawaii). A goal was established to design a modular machine which, at its lower end, would be smaller and less expensive than the 316's and 516's while being expandable in capacity to provide ten times the bandwidth of, and capable of servicing five times as many input output (I/O) devices as, the 516. Related goals included greater memory addressing capability and increased reliability. The designers decided on a multiprocessor approach because of its promising potential for modularity, for cost per performance advantages, for reliability, and because the IMP packet switch algorithms were clearly suitable for parallel processing by independent processors.
Жабдық
Плурибус екі немесе одан көп стандартты 19 дюймдік электронды жабдық тіректерінен тұрады, олардың әрқайсысы төрт бөлікке бөлінген. Әр бөлікте артқы жақтағы шина және тәуелсіз қуат көзі болған. Бөлікте процессорлық шина, ортақ жад шинасы немесе кіріс-шығыс шинасы орналасуы мүмкін. Арнайы жасалған шина жалғастырғыштары бөліктерді бір-бірімен байланыстырып, процессорлардың ортақ жадқа және кіріс-шығыс құрылғыларына қол жеткізуін қамтамасыз еткен. 6 процессорлы Pluribus BBN-нің бес Tenex/"Twenex" уақытты бөлісу жүйелерін, сондай-ақ тікелей желілік және модем арқылы қосылған 378 терминалды желілік коммутатор ретінде пайдаланылды. Pluribus процессор ретінде Lockheed SUE-ді қолданды. SUE DEC-тің PDP 11-іне ұқсас болды.
Бағдарламалық жасақтама
Pluribus бағдарламалық жасақтамасы MIMD симметриялық мультипроцессорлық жүйені іске асырды. Бағдарламалық процестер үзіліссіз мультипрограммалау арқылы іске асырылды. Процестерді жоспарлауда псевдо-үзіліс құрылғысы немесе PID деп аталатын аппараттық құрылғы қолданылды, ол бағдарламалар мен I/O құрылғыларының қолжетімділігінде болды. Әрбір процессор процесті жоспарлаушының жеке көшірмесін іске қосты, ол PID-ден бүтін сандық мәнді оқитын. Бұл мән іске қосылатын процесті таңдау үшін пайдаланылды. Егер бағдарлама немесе құрылғы басқа процеске іске қосылу сигналын беру қажет болса, ол PID-ге осы процестің нөмірін жазатын. PID кез келген сұраныс бойынша ең жоғары басымдықты процесті анықтап, оны барлық процессорларға жіберетін. Pluribus бағдарламалық жасақтамасының маңызды ерекшелігі – "STAGE" жүйесі, ол жүйелік қателерді анықтап, олардан қалпына келтіру шараларын жүзеге асырды. Процессор сағаттары барлық процессорларда бақылау таймерлерін іске қосқан үзіліс басқарушыларына ие болды. Егер процессор жұмысын тоқтатса, басқа процессор оны анықтап, қалпына келтіруді бастайтын. Қалпына келтіру процесі ортақ ресурстарға қойылған барлық құлыптарды ашып, бөлінген жадты босатып, барлық процессорлардағы барлық өңдеуді қайта іске қосатын. Бұл ARPANET маршрутизациялық түйіні үшін қабылданатын болды, себебі жоғалған пакеттердің барлығы қайта жіберілетін.