[TNO-logo]
Museum logo

De periode 1983 - 1986:
Control Data CYBER 170-835

Benchmark op zijn "Frans": pupitreur en pi

Op de Control Data VIM/ECODU "wereldconferentie" in Minneapolis werd eind 1981 door Control Data een nieuwe systeemlijn aangekondigd, de CYBER 170-800 serie. De eerste twee modellen in de lijn waren de 825 en de 855. Het Physisch Laboratorium zocht echter een model dat qua kracht daar tussen in gepositioneerd zou moeten zijn. De reden was de overbelasting van de CYBER 74: een CPU-bezettingsgraad overdag van 100% en 75-85% ‘s-nachts en in het weekeinde.

Het vervangende systeem voor de CYBER 74 zou minimaal 256 MB SecDed-geheugen en meer en snellere I/O-kanalen moeten hebben om gebruik te kunnen maken van de snellere schijven met een hogere transportsnelheid. Uit commentaarregels in nieuwe PP-code kon achterhaald worden, dat de leverancier werkte aan een nieuw systeem met de codenaam S2. Dat lag in tussen de S3 (855) en de S1 (825). Reden om door te vragen.

Onder non-disclosure werden nadere details onthuld. In mei 1982 kon op een van de eerste beta versie modellen van de CYBER 170-835 ("Early Bird programma") een benchmark uitgevoerd worden bij Aerospatiale in Toulouse. We gingen op stap met een dubbel stel magneetbanden. Eén stel magneetbanden zat in onze koffers, die bij het overstappen in Parijs een uitstapje maakten en pas zaterdagavond in het hotel afgeleverd werden. De andere vier banden zaten in de handbagage en moesten op Charles de Gaulle doorgelicht worden in een niet-veilig Röntgenapparaat. Na aankomst in Toulouse was er dan ook reden genoeg om met spoed na te gaan of de vier doorgelichtte banden nog leesbaar waren. Gelukkig was dat het geval.

Op zaterdag en zondag kon in het indrukwekkende rekencentrum van Aerospatiale getest worden. Buiten de Franse CDC medewerker en de Nederlanderse delegatie was er verder niemand aanwezig. Er stonden daar vier mainframes, vele tientallen schijfeenheden en een aantal printers en kaartlezers opgesteld in een ruimte die afgescheiden was van een vliegtuigproductiehal. Het NOS/BE systeem was door de Fransen behoorlijk gemodificeerd. Alle (fout)meldingen op het console en in de uitvoer van de vertalers waren omgezet in het Frans. Gelukkig waren de collega’s minder goed thuis in de wijze waarop de tekstinvoer vanaf het console tot een commando samengesteld werd. Daardoor kon het systeem toch nog behoorlijk bediend worden.


Operator console Cyber 170 series (foto Fredy Ferrari, Fides, CH)

De Franse collega die ons begeleidde sprak geen Engels en zijn Franse woordenstroom was slechts enkele ogenblikken "te vertragen". Omdat de aanwezige nieuwe systemen (835, 855), schijven (844, 885) en regeldrukkers (580) qua Franse nummering veel op elkaar leken, was het steeds een probleem om huit cent, quatre vingt cinq en zo te decoderen naar een schijfeenheid of was het nu het systeem dat zo probleemloos draaide ? Erger nog, hij had het steeds over "pupitreur", een term die niet in ons woordenboek voorkwam. Pas na twee dagen konden wij de term herleiden naar pupitre of "lessenaar". Nu was het duidelijk dat de goede man het een en ander probeerde duidelijk te maken over zijn operators....

De benchmark bestond uit een twaalftal jobs die het zware I/O- en rekenwerk van het Physisch Laboratorium en haar Defensieklanten moesten representeren. Daarnaast hadden wij de beschikking over een verzameling systeemtest programma’s van het NLR, waarmee de doorvoersnelheid van een representatieve batch gemeten kon worden. Deze set was eerst op het TNO Laboratorium aangepast aan de specifieke "kentallen" van de jobs die op de CYBER 74 verwerkt werden.

Tijdens de benchmark op de CYBER 170-835 in Toulouse werd een fout in de microcode ontdekt. Het Pascal programma leverde een zogenaamde "error mode 4" op. Door de code te "debuggen" kon achterhaald worden welke fout er optrad. Het programma berekende de constante ¶ (pi) door arctan(0)/4 uit te rekenen. De wijze waarop "oude" CYBER’s rounded delingen door nul (RXi  Xj/Xk) afhandelden was net iets anders dan de wijze waarop de microcode van de CYBER 170-835 dat deed. Om de benchmark te kunnen continueren is pi maar gelijk gesteld aan 3.14 in de hoop dat de eindresultaten weinig beïnvloed zouden worden, hetgeen later juist bleek.

Het eindrapport van deze benchmark en het voorstel tot installatie van een CYBER 170-835 werd aangeboden aan de Computercommissie Hoofdgroep Defensieonderzoek (CCHDO) en de Coordinatiecommissie Computerfaciliteiten TNO (CCA). Dit mondde op 7 april 1983 uit in de ondertekening van een huurcontract voor een CYBER 170-835.

CYBER 170-835 hardware

De CYBER 170-835 CPU liep op een 56 nanoseconde klok en had een cachegeheugen van 2KB. Het geheugen was opgebouwd uit 16 K DRAM geheugen met SecDed met een woordbreedte van 64 bits (72 bits inclusief SECDED-bescherming). Het systeem was watergekoeld, verstookte 65 Kwh en had slechts 2.5 uur preventief hardware-onderhoud per maand nodig.

De architectuur was bijzonder. De hardware had in principe een uitgebreide 64-bits instructieset werkend met een virtueel geheugen en kon tot 16 microcodes in één systeem emuleren. Eén van die systemen was ondersteuning voor de "oude" CYBER-emulatie met de 60-bits instructies. Omdat de oude operating systemen NOS en NOS/BE uitgingen van een absoluut geheugen, gebruikten deze het onderste gedeelte van het geheugen.

De 20 peripheral processors werkten in vier ringen van vijf PP’s met een kloksnelheid van 250 nsec (major cycle). De "native" PP’s beschikten over 16 Kwoorden van 16 bits.

Installatie en configuratie

CYBER 74, 3 bays, kerstboom niet zichtbaar Op 1 september 1983 werd de CYBER 74 buiten gebruik gesteld. Een aantal kabels van de zogenaamde "kerstboom" tussen de vier systeem"poten" werd met een kabelschaar doorgeknipt. Binnen een half uur was het overal binnen het Laboratorium bekend dat de systeemdelen afgevoerd zouden worden naar de verschrootpers van Pametex. Van alle kanten kwamen PhL-medewerkers met schroevendraaiers en kniptangen aanzetten om de geheugenblokken, logica en dergelijke uit te bouwen.

Na aanpassing en isolatie van de koelleidingen werd de CYBER 170-835 binnengerold. De installatie en de acceptatietesten verliepen zo voorspoedig, dat het systeem een dag eerder dan gepland in productie genomen kon worden.

De schijvenconfiguratie was inmiddels uitgebouwd tot vier 844-41 schijfeenheden en vier 885 eenheden met 2 HDA’s van 692 Mbyte per stuk (links op de foto zichtbaar). Ook waren alle twaalf schijfpakketten vanuit drie schijfbesturingseenheden twee-zijdig benaderbaar. Ook waren de PP’s zo snel, dat overgegaan kon worden van 2-fold interlaced (door een blok informatie te schrijven, een blok over te slaan en daarna hetvolgende blok te schrijven, bleef er voldoende tijd over voor de controller en de PP om de informatie te behandelen tijdens de onder de kop doordraaien van het 'overgeslagen' blok. Hierdoor was de kans klein dat er een volledige omwenteling 18.3 ms gewacht hoefde te worden) naar full-tracking: opeenvolgende schijfblokken liggen achter elkaar waardoor een veel betere schijfperformance bereikt werd.

Twee nieuwe magneetbandeenheden werden geïnstalleerd. Deze konden banden met de "oude" snelheid van 800 bits per inch (bpi) alleen lezen, doch konden naast 1600 bpi ook 6250 bpi lezen en schrijven. De doorvoersnelheid was verhoogd tot 200 inch per seconde (ips). Het enige nadeel was dat de nieuwe eenheden geen handmatige ingrepen meer toelieten omdat de luchtstroom dan wegviel. Deze waren soms nodig bij meetbanden die van de onderzeeboten binnen kwamen. Niet door computerkennis gehinderde matrozen spoelden banden halverwege enkele meters door, plakten er een "beginblinker" op en namen de volgende meetserie op. Een blinker was een aluminium stripje die op de magneetband geplakt werd om het begin van gegevens aan te geven. Het stuk daarvoor was de 'leader' van enkele meters die gebruikt werd om de magneetband op te zetten. Het handmatig doorspoelen naar een tweede beginpunt werkte niet meer op de nieuwe magneetbandeenheden.

Overigens werden computermaterialen door de Koninklijke Marine regelmatig op alternatieve wijze aangeleverd. Nog in 1990 werd een ponsband die door een matroos als een "landvast" in acht-vorm "opgeschoten" was, ontvangen.

Het geheugen van de CYBER 835 werd zodanig ingedeeld dat NOS/BE een geheugen van 256 MB direct kon gebruiken en 256 MB als UEM (extended) geheugen gebruikt werd.

Batchjobs mochten nu overdag maximaal een geheugenbeslag hebben van 200000B en ‘s-nachts 377000B woorden (492 KB resp. 980 KB). Interactief lag die grens bij 100000B woorden (246 KB). Overdag mocht een interactief commando maximaal 15 seconden CPU-tijd per stap duren (tussen twee Enter-opdrachten), voor batchjobs lag die grens op 8 minuten.

ACCU en ENR in last door TNO-worm

Tijdens de installatie moesten wij nog een probleem bij het rekencentrum van de Universiteit Utrecht (ACCU) uit de wereld helpen. Wij waren de eersten in Nederland met magneetband-eenheden die 6250 bpi aankonden. Tijdens de backup (DUMPF) werd een filebeschrijvingsblok (in Unix-termen: inode-tabel) op magneetband gezet met daarin aangegeven welke dichtheid de magneetband geschreven was. De door TNO gebruikte softwareversie had het bitje dat "6250 bpi" aangaf gezet op een plaats, die voor eerdere versies van het operating systeem de betekenis van niet uitwisbare en niet te backuppen systeemfile had. Een van onze gebruikers was uitgeweken naar het ACCU en had van ons een DUMPF-band meegekregen. Nadat deze geladen waren, waren deze files niet te backuppen en niet te verwijderen files geworden. Omdat de collega’s de nieuwe versie van de software nog niet hadden, snapten ze er niets van! Na een kwartiertje nadenken konden de TNO systeemprogrammeurs een oplossing aandragen om de files te verwijderen. De oplossing vergde wel het nodige "patchwerk" in het systeemgeheugen.
Een andere gebruiker zou op eenzelfde wijze naar het Rekencentrum van het Energiecentrum Nederland (ENR) uitwijken, doch had zijn files nog niet geladen. Doordat bekend was wat het probleem was, kon via een andere methode van laden (LOADPF replace) een tweede "worm" voorkomen worden.

Doorberekening

Omdat er steeds meer externe klanten voor de CYBER kwamen, waarvan enkele betalende gebruikers waren en omdat beter inzicht in het gebruik van de CYBER voor projecten verkregen moest worden, werd de bestaande accountkaart in 1984 gewijzigd.

Aan de hand van het project- respectievelijk instituutsnummer werd een controlegetal in de accountkaart gecontroleerd. Het controlealgoritme was: ((X2+42) modulo 89 + 10). Hierdoor waren de controlenummers altijd twee cijfers, iets dat het assemblerprogramma vereenvoudigde. Het magische getal "42" werd gebruikt om er voor te zorgen dat Systeemprogrammering het oude Physisch Laboratorium "instituutsnummer" 51 kon blijven gebruiken als controlegetal voor hun eigen projectnummers. Tenslotte moet de ontwerper van een controlesysteem allereerst zijn eigen gemak vooropstellen, niet waar?

Met behulp van de elders beschreven "snelle I/O"-module, werd ieder actief projectnummer met een bitje aangegeven in een projectdatabase, die bij de verwerking van de ACCOUNT-opdracht gecontroleerd werd.

Computergrafiek: Preview en Plotlib

De op het Laboratorium aanwezige Calcomp basis-bibliotheek stamde nog uit de tijd van de Control Data 3200. Met veel kunst- en vliegwerk was de bibliotheek steeds meegesleept. Met de komst van de Calcomp 1051 met de Calcomp 906-controller diende de basisbibliotheek aangepast te worden. De basisbibliotheek bestond uit enkele simpele routines als penselectie, pen up/down en het tekenen van een teken, een lijn (line) en een assenstelsel (axis). De basisbibliotheek stuurde aan de "onderzijde" de plotter aan. Bovenop de basisbibliotheek had het Laboratorium ook een Calcomp-bibliotheek met "top-level" routines aangeschaft.

Om de gebruikers een vriendelijker pakket aan subroutines en functies aan te bieden, die zowel plotten als previewen ondersteunde werd een projectgroep ingesteld. De gebruikers kregen mogelijkheden om kleuren en lijndikten toe te wijzen aan andere pennummers, ballpoint of inkt te selecteren, normaal papier of 'velum' (speciale plotfolie) te kiezen. Schalen en "clippen" werden ook toegevoegd.

Het grootste probleem voor de projectgroep was om de noodzakelijke wijzigingen in bestaande gebruikersprogramma’s zo minimaal mogelijk te laten zijn. Gelijktijdig moest de plotbibliotheek zowel vanuit de 1966 als de 1977 versie van Fortran aanroepbaar blijven.

Enige kentallen van het gebruik

Metingen op het CYBER 170-835 systeem gaven in 1984 een bezetting te zien van:



Museum Homepage