RC4000 anlæggets indtog hos DMI
af J. W. Larsen
Som omtalt under vejrtjenesten forsøgte daværende videnskabelige assistent Ole Lang Rasmussen i årene efter 1957 som den første på Meteorologisk Institut at inddrage anvendelsen af en elektronisk regnemaskine i det daglige arbejde. Da der ikke på det pågældende tidspunkt var udsigt til, at institutet kunne få sit eget dataanlæg, forlod han det til fordel for Risøs regnecentral, og fra 1. januar 1962 overtog J. W. Larsen hans arbejde.
På det tidspunkt var I/S Datacentralen netop oprettet, og i de følgende år valgte institutet at anvende DC's maskine til opgaver, som ikke i større udstrækning var tidsbundne.
I efteråret 1965 viste stud. mag. Leif Svalgård, at det var muligt på en tegnemaskine, tilsluttet som ydre enhed til en GIER-datamaskine, at omsætte de synoptiske observationer i kodet form til indprikkede stationer på et vejrkort. Da indprikningen er en meget langsom og personalekrævende proces, ville en automatisering af dette arbejde betyde en reduktion i personaleudgifter. Disse udgifter i forbindelse med en besparelse på andre områder ville kapitaliseret svare til værdien af et middelstort dataanlæg. På grundlag heraf søgte Meteorologisk Institut kontakt med Administrationsrådets datagruppe, der viste sig interesseret i MI's planer og anerkendte institutets overslag. Forsvarsministeriet gav derefter tilladelse til afholdelse af licitation.
Denne fandt sted i september 1968 og resultatet blev, at man bestemte sig for et RC-4000 anlæg, hvortil der herefter blev givet bevilling. På grund af vanskelighederne med at finde passende lokaler skete leveringen først i slutningen af marts 1971, og 8. oktober var kodningen af de faste programmer så vidt fremskreden, at de første observationer modtaget ad de direkte tilsluttede telelinier blev plottet på en af de tilsluttede tegnemaskiner.
Den 1. oktober 1971 blev EDB-afdelingen oprettet officielt.
Anlægget.
Konfigurationen består (okt. 71) af følgende:
1 | centralenhed med 64 K ord à 2 bytes à 12 bits | |
1 | tromle med 384 K ord | |
1 | pladelager med 2 M ord | |
1 | strimmellæser | |
1 | strimmelhuller | |
3 | konsolskrivemaskiner | |
2 | båndstationer | |
1 | linieskriver | |
2 | tegnemaskiner | |
1 | telemultiplexer for tilslutning af telelinier. | |
Desuden er det bestemt, at der skal tilsluttes | ||
3 | terminalskrivemaskiner. |
Anlægget er installeret i stueetagen på Lyngbyvej 100. Det areal, der er stillet til rådighed for den operative del af afdelingen, er (se appendix) opdelt i rum; et for RC's tekniker og hans grej, et andet, hvor de støvfølsomme komponenter er installeret og et tredje, beregnet til operatøren, hvori kun befinder sig hovedkonsolskrivemaskinen og et display, der viser de enkelte ydre enheders øjeblikkelige tilstand. I det fjerde rum, kaldet researchrummet, og hvortil der er fri adgang for Meteorologisk Instituts personale, er et fuldstændigt konsolskrivebord med skrivemaskine, strimmellæser og -huller samt linieskriveren installeret.
I kælderetagen er klimaanlægget anbragt tilligemed 2 motor-generatorer, der giver en "pænere" strøm end bystrømmen. Desuden bliver der installeret en dieselmotor med en generator, der er så kraftig, at den foruden nødvendig strøm til dataanlægget kan levere tilstrækkelig strøm til driften af vejrtjenestens operative del.
Sammen med anlægget har RC leveret programmel. Det omfatter foruden en monitor, der er afpasset efter Meteorologisk Instituts behov, operativsystemet s, fil-processoren med diverse hjælpeprogrammer og oversættere for det maskineorienterede sprog, slang, algol og FORTRAN. Desuden står RC's programbibliotek til vor rådighed.
Programsystemet.
Da afdelingen endnu er så ny, bliver det efterfølgende en gennemgang, der omfatter mere eller mindre færdige programmer og planer, der er under stadig omformning på grundlag af erfaringer, høstet ved vore forsøg på at realisere dem.
Systemet af programmer er planlagt under hensyntagen til, at datamaskinen samtidig skal anvendes til 3 formål: den skal automatisere vejrtjenestens manuelle arbejde i så stor udstrækning som muligt, herunder navnlig plotte de synoptiske grundkort, den skal tjene som kommunikationsmaskine, og endelig skal den overskydende kapacitet anvendes til forskningen på Meteorologisk Institut.
Ved opstarten ejer RC's operativsystem, s, hele den del af ferritlageret, som ikke beslaglægges af monitoren og dens hjælpearealer, samt alle øvrige resourcer. Ved hjælp af s indlæses vort hovedoperativsystem, m, og s nedlægges, hvorefter m er ejer af alle resourcer. Ved en enkelt ordre til m oprettes nu en kæde af processer, og i disse indlæses rutineprogrammerne. Det tiloversblevne ferritlager og resten af de indre resourcer, m ikke selv har brug for, kan nu tildeles andre processer efter behov. Størstedelen af tiden vil et operativsystem, x, få tildelt de fleste af disse resourcer. Under x kan der så fra konsollen i researchrummet køres en eller flere processer, afhængigt af disses størrelse. I største delen af dagtimerne (måske alle), vil endnu et operativsystem, z, køre parallelt med x. z er et time-sharing system, der på "swap-basis" kører de processer, som oprettes fra terminalskrivemaskinerne.
z og processer oprettet under z har af ydre processer kun adgang til baggrundslageret. Alle øvrige processer, der på et givet tidspunkt kører i maskinen, har principielt lige adgang til alle ydre enheder, dog har kun m rådighed over operatørens konsol, og operatøren har fra denne ved hjælp af m mulighed for at fratage enhver anden proces en ydre enhed, hvis han men det er nødvendigt af hensyn til tjenestens planmæssige afvikling.
Både i m og x kan man stoppe en proces og lagre den på baggrundslageret, hvorved der midlertidigt frigøres ferritlagerplads. Dette har betydning på tidspunkter, hvor en pladskrævende opgave ønskes kørt. Flere af vore programmer, således også m og x er "segmenterede", hvilket vil sige, at en så lille del af programmet som muligt til stadighed befinder sig i ferritlageret, medens resten befinder sig på baggrundslagerets segmenter og derfra ved behov indlæses til samme del af ferritlageret. Derved opnås 2 fordele: man reducerer det nødvendige ferritlagerareal, og programmer kan, endda medens det kører, forøges med nye programsegmenter og derved gives flere egenskaber. Til gengæld øges også antallet af overførsler fra baggrundslageret; en nøje afvejning må finde sted mellem størrelsen af det berørte ferritlagerareal og det sandsynlige antal overførsler.
Vore rutineprogrammer kan siges at være af to slags: de, der til stadighed befinder sig i ferritlageret og altså er aktive alle døgnets 24 timer og de, der indlæses og køres på bestemte tidspunkter hver dag. Af den sidste slags kan nævnes den numeriske analyse og prognose og observationslisten til speakning; kun den første slags skal omtales nærmere.
De faste rutineprogrammer skal styre ind- og udlæsning af data til og fra systemet, behandle de indlæste data og omsætte dem på forskellig måde. De indkomne data skal efter behandling i et program overføres til det næste i rækken. Da programmerne behandler de samme data med forskellig hastighed, må data kunne bufres op ved overgang mellem programmerne. Da kravet på bufferplads mellem de samme to programmer veksler i døgnets løb, og da antallet af bufre ville blive ret stort (større end 20), tages pladsen til den nødvendige mellemlagring nu fra et fælles område. Administrationen af dette og de enkelte buffere foretages af et rutineprogram, kaldet datastrømsmonitoren, ds, idet man siger, at data overføres i datastrømme.
Mellem de samme to programmer kan der være flere datastrømme, endda i begge retninger, ligesom et program midlertidigt kan lagre data op ved at sende en datastrøm til sig selv. I datastrømmen transporteres data i "portioner", adskilt ved en separator. Indlæsning af en portion data betragtes af ds ikke som afsluttet, før ds har modtaget en separator. Et meteorologisk telegram er en sådan portion data, som hver gang det sendes ud på en datastrøm, afsluttes med en separator.
En datastrøm åbnes af den proces, der producerer data. Det sker ved, at processen sender en meddelelse til ds med angivelse af separator og hvilken proces, der skal være modtager. Modtagerprocessen behøver ikke at eksistere på oprettelsestidspunktet, men kan senere, når den er skabt, tømme vedkommende datastrøm og sende data videre f. eks. til linieskriveren. Derved kan en proces få skrevet data ud uden selv at gå i stå eller beslaglægge linieskriveren i uforholdsmæssig lang tid.
Et andet rutineprogram, datamultiplexeren, dm, var først tænkt til at styre ind- og udlæsning af data via telelinierne, men dets funktioner er senere generaliseret, så man ikke alene kan forbinde en ydre proces og en datalinie, men også kan forbinde en indre proces og en datastrøm eller to datastrømme indbyrdes. Forbindelsen knyttes via en "indre linie" i dm. Operatøren kan fra sin konsol ændre tilslutningerne, således at f. eks. en udadgående telelinie erstattes midlertidigt af en linieskriver. Dette kan have betydning, hvis en telelinie bryder ned; data, der står i kø i en datastrøm til udsendelse på telelinien, kan da udlæses på linieskriver, så en sprængning af ds's kapacitet kan undgås.
dm indeholder ved initialiseringen fastlagt antal indre linier med tilhørende ind- og udbuffere, enkelte eller dobbelte. Hver af de indre linier er afbrudt af et "indre program". I øjeblikket eksisterer sådanne tre "indre programmer": copy, in, out. copy tager data fra en indbuffer og anbringer dem i en udbuffer. Det samme gør de to øvrige programmer, men in konverterer samtidigt data i isoform til data i en speciel sammenpakket form, så lagerkravet nedsættes med 30-40 %, og out foretager den modsatte konvertering. Data i pakket form anvendes iøvrigt overalt, hvor det er praktisk, for at reducere ds's lagerkrav.
Bulletinprocessoren, bp, er et tredie rutineprogram. Bulletin er det engelske ord for et meteorologisk telegram og var oprindeligt tænkt som et program, der dekodede de indkomne telegrammer, d.v.s. udtrak informationen og på grundlag heraf bestemte, hvad der skulle ske med de indeholdte data, men bp har ligesom dm fået en udvidet funktion.
bp er segmenteret, og den faste del indeholder i det væsentlige kun administrationen med indlæsning af det rette underprogram samt plads til de vigtigste data, der skal overføres fra et underprogram til det næste. Er det nødvendigt med overførsel af større datamængder, udlæses disse på en datastrøm til bp selv.
Underprogrammet, der identificerer og dekoder telegramhovedet (headline-programmet) og derigennem opdager hvilket underprogram, der skal dekode resten af telegrammet, indtager en nøglestilling. Data, som bp sender til sig selv, forsynes med et specielt hoved, der fortæller headline-programmet, hvilket underprogram, der nu skal kaldes ind for at behandle vedkommende data. Derved kan for hvert type telegram opbygges et hierarki af underprogrammer, der behandler indholdet af et telegram ud fra nye synspunkter. På grund af segmenteringen kan denne opbygning ske efterhånden, uden af kørselen af bp afbrydes.
bp modtager og afsender sine data på datastrømme; disse er for de flestes vedkommende gennem en indre linie i dm tilknyttet en telelinie, men der findes også datastrømme til og fra andre indre processer, som f. eks. plotteprogrammerne.
I vejrtjenestens analyserum skal en konsolskrivemaskine opstilles. På den kan vagthavende meteorolog kommunikere med datamaskinen. Denne kommunikation styres af programmet fc (forecasters console), der af dm betragtes som selve konsollen. Inddata fra konsollen forsynes af fc med et specielt telegramhoved, og det hele sendes via dm ind i en indgående datastrøm til bp, som betragter det som et almindeligt telegram. På grundlag af det foransatte hoved kaldes et underprogram ind, der kan dekode data fra vagthavendes konsol
Disse data kan være ordrer til et underprogram i bp som redigering af data fundne suspekte ved dekodningen af de indkomne telegrammer. Disse data blev på dette tidspunkt midlertidt oplagrede af bp, men desuden også sendt ud på en datastrøm fra bp til en indre linie i dm, der i den anden ende er forbundet med fc, som så har skrevet dem ud på vagthavendes konsol. Samtidig med usendelsen har bp tilføjet oplysninger om, hvorfor data er fundne suspekte.
Når vagthavendes ordrer om redigering er udført af ovenomtalte underprogram i bp, vil dette via en datastrøm sende data tilbage til bp, forsynet med det oprindelige hoved. bp vil nu opfatte de redigerede data som et telegram, indkommet fra en telelinie, og behandle det på sædvanlig måde.
Databasemonitoren, db, er et rutineprogram, der administrerer et større baggrundslagerareal, hvor de indgåede observationer opbevares, indtil de erstattes af nyere. Kun udvalgte rutineprogrammer kan anbringe data i databasen, medens alle programmer overhovedet har adgang til at udtrække information.
På nuværende tidspunkt er det vanskeligt at omtale plotteprogrammerne nærmere, da det i øjeblikket ikke er endeligt afgjort, hvordan de skal indgå i systemet. Plotteprogrammerne har overrasket os på en ubehagelig måde. De fylder betydeligt mere end anslået, og tegnemaskinen må køre med betydeligt reduceret hastighed. At programmerne også gør krav på den centrale procesenhed (cpu) i længere tid end antaget, er mindre væsentligt, da denne tid i alle tilfælde er lille, og det i øvrigt er rigeligt af ikke anvendt cpu-tid til rådighed.
Foruden rutineprogrammerne, der skal køre uafbrudt eller på bestemte tidspunkter i døgnets løb, er der også skrevet programmer, der kan køres efter behov. Kun eet af disse, outstat, skal omtales. Operativsystemet m holder regnskab med, hvor længe de enktelte processer har eksisteret, og hvor megen cpu-tid de har anvendt. Outstat-programmet udarbejder statistik på grundlag af disse tal og udskriver denne. Dette har givet overraskende resultater. Næsten ingen af programmerne bruger over 1 % cpu-tid, og de faste rutineprogrammer ligger på omkring 0,1 %. Den numeriske prognose er endnu ikke kodet, og vi kender derfor ikke dens forbrug af cpu-tid, men det synes sikkert, at når systemet kører, forskningsprogrammerne indbefattet, vil den centrale procesenhed blive optaget højst 20 % af tiden. Med andre ord, hvis ferritlageret var større og antallet af ydre enheder betydeligt forøget, kunne datamaskinen overkomme meget mere.
Men allerede nu, hvor systemet ikke er fuldt udbygget, er vi nær det tidspunkt, hvor baggrundslageret ikke længere slår til, hvilket kan medføre indskrænkninger i kørsel af forskningsprogrammerne med deraf følgende forringet udnyttelse af ferritlageret og den centrale procesenhed.
Summary
The computer department was established Oct. 1st 1971. The computer, the Danish RC 4000, was installed April 1st 1971.
The computer configuration:
1 | cpu, 64 K words à 2 bytes à 12 bits |
1 | drum, 384 K words |
1 | disk, 2 M words |
1 | paper-tape reader |
1 | paper-tape punch |
3 | console typewriters |
2 | magnetic band stations |
1 | line printer |
2 | graph-plotters |
1 | telemultiplexer for connecting telelines, |
and from Dec. 1971: | |
3 | terminal typewriters. |
It is described how the system of programs permanently running are intented to fullfill at the same time three different purposes, to automatize the manual functions in a traditional weather service, to serve as a switch between the national end the international meteorological telecommunication networks in order to exploit the possibilities offered by the introduction of the WWW, and to make the surplus cpu-time usefull for the research work in all departments of the institute.
The number of programs running simultaneously will vary dependent of the time of the day and the size of the programs. When the system is fully developed it is expected that up to 17 programs may be executed at the same time, 4 of them on a time-sharing basis.