Artikel top billede

Microsoft-arkitekt: Tiden er løbet fra styresystemet

Hvorfor skal man nogensinde vente på sin computer? Fundamentet under styresystemerne bør tænkes helt om. Se her, hvordan et styresystem ville se ud, hvis det blev designet helt fra bunden i dag.

Computerworld News Service: Chipproducenterne bliver ved med at øge antallet af kerner i hver ny generation af processorer.

Og måske er det ved at være tid at omtænke den grundlæggende arkitektur i de nutidige styresystemer, foreslår Dave Probert, der er kerne-arkitekt i Windows Core Operating System Division hos Microsoft.

Den aktuelle tilgang til at udnytte styrken ved processorer med flere processorkerner er kompliceret og ikke helt vellykket, mener han.

Frem for at bruge mere energi på at raffinere teknikker såsom parallelprogrammering kan nøglen til at løse problemet vise sig at være en omtænkning af de grundlæggende koncepter, der udgør modellen for et styresystem.

Får ikke nok ud af de mange kerner

Computere i dag får ikke nok ydelse ud af deres flerkernede chip, siger Dave Probert.

"Hvorfor skal man nogensinde - med al denne parallelhardware - nogensinde overhovedet være nødt til at vente på sin computer?" spøger han retorisk.

Probert er med i det team, der arbejder på den næste generation af Windows.

Han påpeger dog, at idéerne ikke repræsenterer konkret arbejde, som hans team foretager for Microsoft.

Faktisk bemærker han, at mange af de andre softwarearkitekter på Windows-kernel-udviklingsteamet slet ikke er enige i hans syn på sagen.

Designet helt fra bunden

Han forsøger imidlertid at definere, hvordan et nyt styresystem ville tage sig ud, hvis det i dag blev designet helt fra bunden af.

Han konkluderer, at det ville være ret forskelligt fra Windows eller Unix.

En typisk computer kører i dag adskillige programmer samtidigt og afspiller eksempelvis musik, mens brugeren skriver en e-mail og surfer på nettet.

"Hurtige svartider står øverst på listen. Det er det, folk vil have," siger han.

Problemet med svartider er, at styresystemet har svært ved at finde ud af, hvad der er vigtigst.

"Man gider ikke sidde og vente på, at Microsoft Word starter op, bare fordi antivirusprogrammet valgte lige præcist dette øjeblik at begynde at skanne alle ens filer," siger Dave Probert.

Her er problemet med de flerkernede chips

De fleste styresystemer benytter et slags prioriteringssystem i et forsøg på at undgå sådanne flaskehalse, men de er stadig primitive.

Probert foreslår ligefrem en "Dette stinker!"-knap, som brugeren kan klikke på, hver gang computerens sløvhed bliver frustrerende.

De opsamlede data kan derefter bruges til at give udviklerne et bedre billede af, hvad der skal prioriteres.

Da de begyndte at tilføje flere processorkerner, anlagde chipproducenterne en ekstremt optimistisk tilgang de flerkernede chip, hvor de bare byggede dem og krydsede fingre for, at applikationsprogrammørerne ville skrive programmer til dem.

Problemet er, at de nuværende desktopprogrammer ikke udnytter de adskillige kerner effektivt nok, forklarer han.

For at drage fuld nytte af flere processorkerner er udviklerne nødt til at bruge teknikker til parallelprogrammering.

Det bliver ved at være en svært disciplin at mestre og er ikke blevet udnyttet i noget stort omfang uden for specialiserede videnskabelige programmer såsom til klimasimulation.

Måske vil det være bedre at omtænke, hvordan styresystemet håndterer disse flerkernede processorer, mener Probert.

"Spørgsmålet er faktisk ikke, hvordan vi skal parallelprogrammere - - men hvad vi skal gøre med alle disse transistorer."

Fremtidens styresystem vil ligne en hypervisor

Den nuværende arkitektur af styresystemer er baseret på et antal abstraktioner, forklarer Dave Probert.

I computernes tidlige dage kørte et enkelt program på en enkelt CPU.

Da vi ville have flere programmer til at køre på den samme processor, blev CPU-tiden hakket op i processer, hvilket gav hvert program illusionen af at køre på sin egen dedikerede CPU.

Ideen om processerne var en abstraktion eller spaltning, og det ville ikke blive den sidste.

Da styresystemerne begyndte at jonglere med adskillige programmer, opstod der et behov for et beskyttet rum, der var afskærmet fra både brugeren og programmerne.

Deraf opstod "kernel mode," der er adskilt fra der, hvor programmerne køres, det vil sige "user mode".

Kernel mode og user mode spaltede praktisk set CPU'en ud i to CPU'er, fortæller Dave Probert.

Hvilke opgaver skal have opmærksomheden?

Med alle disse virtuelle CPU'er opstår dog kampen om hvilke opgaver, der får opmærksomheden fra den virkelige CPU.

Og omkostningerne i systemydelse ved at skifte mellem alle disse CPU'er begynder at stige til det punkt, hvor det går ud over svartiden, særligt med introduktionen af flere processorkerner.

Men når nu både Intel og AMD vurderer, at antallet af kerner i deres produkter vil fortsætte med at stige, kan styresystemsudviklerne lige så godt skille sig af med abstraktioner såsom skellet mellem user mode og kernel mode, argumenterer Probert.

"Når der kommer mange kerner, bliver CPU'en til CPU igen," siger han. "Hvis vi får nok af dem, kan vi måske begynde at dele ud af dem" til individuelle programmer.

Vil ligne en hypervisor

Med denne tilgang ville styresystemerne ikke længere ligne de nuværende styresystemer, men nærmere fungere ligesom en hypervisor.

En hypervisor er et koncept fra virtualisering og fungerer som et lag mellem den virtuelle maskine og den fysiske hardware.

Programmerne - eller runtimes, som Probert kalder dem - ville selv bære mange af arbejdsbyrderne i forhold til ressourcestyring.

Styresystemet kunne tildele en applikation en processorkerne og noget hukommelse, og applikationen ville derefter ved hjælp af metadata genereret af compileren bedst selv vide, hvordan ressourcerne skulle udnyttes.

Probert erkender, at denne tilgang ville være meget svær at teste, da den ville kræve en stor mængde eksisterende applikationer. Men det kunne vise sig at være umagen værd.

"Der er langt mere fleksibilitet i denne model," påpeger han.

Oversat af Thomas Bøndergaard




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
EG Danmark A/S
Udvikling, salg, implementering og support af software og it-løsninger til ERP, CRM, BA, BI, e-handel og portaler. Infrastrukturløsninger og hardware. Fokus på brancheløsninger.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
ERP-trends 2024

Bliv derfor inspireret til, hvordan du kan optimere dine systemer og processer når af nogle af de fremmeste eksperter på ERP-markedet dele deres iagttagelser af det aktuelle marked og vurderinger af, hvad vi har i vente de kommende 3-5 år. Vi sætter også fokus på, hvordan udviklingen kommer til at påvirke din organisation, hvordan du bedst forbereder og planlægger ERP-indsatsen og om, hvilke faldgruber du skal være opmærksom på.

02. maj 2024 | Læs mere


Datadrevet forretning: Skab enestående kundeoplevelser med viden og data i centrum

Data står i centrum, når du skal styrke kundeoplevelsen – eller det burde det i hvert fald gøre. På denne konference vil du møde eksperter indenfor CX og komme i dybden med, hvordan du sætter data, transparens og viden til at arbejde for dig i din Customer Experience-strategi.

07. maj 2024 | Læs mere


Kunstig Intelligens (AI) Masterclass - fra futuristisk idé til uundværlig ressource

Velkommen til en Masterclass om kunstig Intelligens (AI) og den transformative kraft, som kan tage din organisation og karriere til næste niveau. AI er gået fra at være en futuristisk idé til at blive en uundværlig ressource for virksomheder over hele verden og har allerede sat sit præg på den måde, som vi arbejder på, træffer beslutninger og kommunikerer med vores kunder.

07. maj 2024 | Læs mere