Hvordan bygge en kraftig distribuert datamaskin
NyheterDu kan aldri ha nok prosessorkraft, spesielt hvis du liker å jobbe med 3D-grafikk eller kompilere din egen programvare.
Fornøyende, med et veldig lite utlegg, er det enkelt å bruke noen ekstra maskiner du måtte ha til å lage en enkelt homogen datakomponent mega-matrise og beregningsmotor bare ved å koble dem alle sammen og kjøre riktig programvare.
Selv beskjeden maskinvare kan gi et betydelig bidrag til nettkompatibiliteten din, og hvis du allerede har maskinvaren, har du ingenting å tape.
PC-maskinvare er nå så billig at man kjøper et par ekstra maskiner og kabler dem inn i det samme databassenget, kan gjøre en svært kostnadseffektiv ekspansjon. Dette er hva vi skal bygge, og vi skal bruke Ubuntu Linux til å gjøre det. Linux kan ta klyngedatabaseoppgaver som disse i strid, og du trenger ikke å gaffel ut for en lisens for hver maskin.
Før vi begynner på dette forsøket, må vi gjøre en ting klar. Den kombinerte prosessorkraften i en klynge av datamaskiner kan bare brukes til visse applikasjoner.
Du vil ikke kunne øke rammen på Crysis eller Far Cry 2, for eksempel, og du vil ikke kunne kjøre dine daglige applikasjoner over hele klyngen, med mindre de er laget for å gjøre det. Vi bygger heller ikke en Beowulf klyngen, hvor du trenger å bruke spesialiserte biblioteker og programmeringsspråk for å dra nytte av det parallelle behandlingspotensialet i klyngen.
Vi skal jobbe med distribuert databehandling, som innebærer å dele opp en oppgave på flere maskiner i en lokal klynge. Som et resultat kan våre applikasjoner være langt mer ned til jorden og praktisk. Du kan dramatisk redusere gjengittidene med Blender, for eksempel, eller kompileringstiden til store apper som GNU / Linux-kjernen..
Du vil også kunne parallellere antall oppgaver og bruke hver maskin separat fra master hvis du ønsker det. Som med multi-core prosessorer, er det litt ineffektivitet når skalering jobber over en gruppe prosessorer, men det vil nesten alltid være mye raskere enn uten at prosessoren jobber.
I teorien kan du bruke hvilken som helst gammel PC. Minstekravet er at det må være i stand til å kjøre Linux; slik at valget reduseres til nesten hvilken som helst PC fra de siste 10 årene. Men i virkeligheten fungerer klyngen best hvis maskinene du knytter sammen er relativt tett i spesifikasjonen, spesielt når du begynner å ta hensyn til løpende kostnader.
En 1 GHz Athlon-maskin, for eksempel, kan koste deg over £ 50 per år i strømkostnader. Du ville være mye bedre å bruke pengene på en prosessoroppgradering for en mer effektiv maskin. En lignende plattform for hver datamaskin gjør også konfigurasjonen betydelig enklere. For vår klynge brukte vi fire identiske kraftige maskiner.
Du trenger bare kraftige maskiner hvis du lever av noe datamaskinbasert - for eksempel 3D-animasjon - der du kan veie ekstrakostnaden mot økt ytelse. Vi skal også anta at du har en hovedmaskin du kan bruke som mester. Dette vil være klyngens øyne og ører, og det er herfra at du vil kunne sette opp jobber og kontrollere de andre maskinene.
Maskinvarekompatibilitet
Linux har kommet langt når det gjelder maskinvarekompatibilitet, men du vil ikke feilsøke tre forskjellige nettverkskort hvis du kan hjelpe den. Og det er nettverksadaptere som sannsynligvis er den svakeste koblingen.
Klientberegning er avhengig av at hver maskin har tilgang til de samme dataene, og det betyr at data må flyttes kontinuerlig mellom hver av maskinene i nettverksklyngen.