Mini-grids
På et ganske lille kontor i forskerbyen Symbion på Østerbro i København udvikles der planer om at udnytte den maskinkraft, som der går til spilde på almindelige klient-computere. Firmaet GridSoft, som udover idé-mand og programmør Morten Helles består af en enkelt investor, vil udvikle et Java-baseret grid med peer-to-peer teknologi.
De fleste grid-projekter består i at sætte store computere sammen, for at kunne skabe super-computere ud af store computersystemer. Men enkelte projekter går efter de helt almindelige skrivebordsmaskiner, som fylder op i kontorlandskabet. Det er der i og for sig ikke noget nyt i. Det mest kendte projekt, som udnytter almindelige computeres kraft på denne måde, er SETI@home - et program, der forklædt som skærmskåner prøver at finde intelligente radiosignaler fra universet.
Selvom SETI ikke har haft den store succes med at finde mening i radiosignalerne, kunne andre og mere jordnære opgaver tænkes at have en løsning ved anvendelse af de klient-computere, som en stor eller mellemstor virksomhed i forvejen har.
Ingen kaffepause til computere
Ideen opstod for flere år siden, med det var på en bådtur på Furesøen, at Morten Helles og forretningspartner udklækkede forretningsplanen. En computer holder nemlig ikke kaffepause, når der ikke udføres opgaver i processoren. Den kraft, som spildes, kan udnyttes til andre opgaver, og hvis flere computeres kraft kombineres, kan man skabe en slags virtuel server.
Det kræver selvfølgelig et lag, som kan håndtere styring af infrastrukturen på et sådan "mini-grid", og det er dette lag, som GridSoft har udviklet en prototype af.
GridSofts prototype i aktion. Denne klient-server er i gang med at finde primtal i et bestemt interval. Når denne opgave er slut, hentes en ny opgave fra den fjerne opgavekø.
Og der er masser af kraft at hente, siger GridSoft. Ifølge en Microsoft-opgørelse (SIGMetrics Paper, 1998-2000), får man en belastning på 10 procent af processoren i gennemsnit over tid, inden for almindelig arbejdstid. De 10 procent fremkommer som en udjævning af de spidsbelastninger, programmerne forårsager, når der udføres opgaver, og de to til tre procents konstant belastning, som er det almindelige mønster på en skrivebordscomputer.
Hvis maskinerne også holdes tændt uden for almindelig arbejdstid og i ferier, så kommer den effektive udnyttelse ned på bare to procent. Med andre ord kan man teoretisk set benytte næsten hele computerparken som ekstra ressourcer.
Og selv om disse skrivebordscomputere ikke hører til i den kraftige ende, så kan det akkumulerede resultat absolut være af en væsentlig størrelsesorden. Hvis ydelsen af fem skrivebords-pc'er svarer til én high-end, så kan selv et lille netværk på kun 20 pc'er levere det samme som 4 high-end pc'er, hvilket svarer til en nyinvestering i omegnen af 200.000 kroner, ifølge GridSofts beregninger. Hertil skal lægges udgiften til software og serverrum.
Java som platform
GridSofts produkt, som indtil videre hedder JGrid og befinder sig i prototype-fasen, er et Java-program, som kan udnytte skrivebords-pc'er lige som SETI@home. Men hvor SETI@home benytter et gammeldags peer-to-peer, der ligesom Napster benytter en central server til at holde styr på klienterne, så bygger GridSofts program på den peer-to-peer model, som kendes fra Gnutella- og Kazaa-netværkene. I disse modeller er alle klienterne også servere, og det giver en række andre muligheder end den gamle peer-to-peer model.
Anvendelser
For eksempel kan en afdeling skabe deres egen virtuelle server, uden af det nødvendigvis kræver indblanding fra en administrator. Alle maskiner har mulighed for både at kunne trække på de fælles ressourcer og udbyde sine ressourcer til andre.
En anden anvendelse kunne være som aflastning af server-klynger under spidsbelastning. Typisk kræves der et overhead på 10 gange for at tage højde for spidsbelastninger, siger Morten Helles, og her kunne et lokalt grid anvendes som lynafleder.
Et sidste anvendelse, som er den, Morten Helles selv ser som den mest naturlige, er at integrere GridSofts software i eksisterende applikationer. Fra slutbrugerens perspektiv er forskellen imellem den almindelige software og den forbedrede udgave ikke til at se, på nær at den forbedrede version klarer tunge og tidskrævende opgaver øjeblikkeligt. Det kunne principielt dreje sig om mange slags applikationer, fra statistiske analyseprogrammer til 3D-modellering.
Begrænsningerne for anvendelse ligner de begrænsninger, som man finder ved klynge-løsninger, siger Morten Helles. De opgaver, som er bedst egnet, er dem, som er beregnings-intensive og ikke data-intensive, algoritmerne skal kunne splittes op i parallelle opgaver, og det skal være problemer af modulær natur, hvor enkelte dele af problemet kan løses uafhængigt af andre dele.
Morten Helles nævner bio-informatik og finanssektoren som områder, hvor små private grids kan være attraktive, simpelt hen fordi disse områder ofte har behov for stor processeringskraft til at behandle data.
Java som platform
Morten Helles har valgt Java som platform, da miljøet har mange af de egenskaber, som lokale grids kræver. Programmerne er platformsuafhængige, og kan afvikles under mange slags hardware og styresystemer. Tillige er der en stærk industriel understøttelse af Java, og miljøet indeholder også en sikkerhedsmodel, som kan afvikle applikationer i en lukket kasse, hvis det er ønskværdigt. Hvis der kræves mere ydelse, kan man principielt også kode sine grid-programmer i system-specifik C++ eller C, som kan pakkes ind i et Java-komponent, og afvikles ved hjælp af standard-teknologien Java Native Interface.
Indtil videre har netværket, som GridSoft har testet softwaren på, kun bestået af Morten Helles egen computer. Men GridSoft står for umiddelbart at sætte prototypen i luften på et netværk i et bio-tech firma. Og det lille firma forhandler i øjeblikket om ekstern finansiering, som skal klare kvantespringet fra iværksætter-virksomhed til rigtigt firma.