Museet / Regnecentralen / RC4000 / Meteorologisk Institut
RC4000's indtog hos DMI
Forhistorie
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.
 Maskinstuen. Der er åbnet ind til teknikerpanelet.
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.
|
 Researchrummet.
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.
 Tegnemaskinerne.
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 luligt 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 av 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.
 Diagram på væggen i operatørrummet. Det illustrerer
de grundlæggende programmer og datastrømme imellem dem.
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 protion data, som hver gang det sendes up 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.
J. W. Larsen.

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.
|