måndag, januari 14, 2008

(nästan) alla vill ha en superdator

Nature News kör en artikel om Storbritanniens senaste superdator, på plats 17 på TOP500. Och idag pratade vi av rent sammanträffande datorkluster på lunchen.

Många grenar av vetenskapen är idag rätt datorberoende, oavsett om det är simuleringar eller analys av mätningar som står för behovet. En superdator kan göra hela skillnaden för om din forskargrupp kan studera vissa typer av problem eller inte. Ytterst handlar det om konkurrens; tillgången till beräkningstid på datorkluster är begränsad och eftertraktad. Kanske inte riktigt lika hårt som tid på något av de stora teleskopen, men helt klart en bristvara.

Och möjligheten att köra tunga beräkningar påverkar vilka typer av forskningsfrågor man sysslar med, och hur man löser dem - både om man har tillgång till ett kluster och om man konkurrerar med någon annan som har det. En kollega i lunchrummet påpekade att det är väldigt frestande att ersätta tankekraft med datorkraft; att man istället för att tänka noga på vilka parametervärden man bör undersöka sätter igången en betydligt större körning som provar mycket fler möjligheter.

Det är väl i och för sig en uppenbar risk/möjlighet; men det är också en tanke med rätt intressanta konsekvenser - både positiva och negativa. Det är nyttigt att tänka på sina forskningsproblem, och även om slutresultatet skulle bli det samma tror jag säkert många med mig har ryggradsreflexen att det ligger ett större värde i att tänka sig fram till ett intressant resultat än att tänka mindre, räkna mer och komma fram till samma resultat. Å andra sidan kan en dator räkna dygnet runt, många dygn i rad - så mycket orkar ingen tänka. Samtidigt är det bra att prova sig fram förutsättningslöst; det är inte alltid man har lyckats tänka på allt, och går man en bit utanför det parameterutrymme man tänker sig kan man upptäcka något man inte trodde fanns där.

När jag skrev min lic-avhandling och tittade på lite äldre simuleringsartiklar (säg från 1990) var det väldigt intressant att se hur mycket som åstadkommits med betydligt knappare medel än de jag själv har tillgång till. Det som var top of the line då skulle jag i princip kunna simulera på min miniräknare eller mobiltelefon idag.

(Över huvud taget är världens samlade mobiltelefoner en rätt outnyttjad beräkningsresurs. Tänk om det gick att lansera någon motsvarighet till Folding AT home för mobiler; kanske en storskalig epidemisimulering som också använde sig av mobilernas innebördes avstånd till varandra för att uppskatta smittorisken...?)

"The problem with the United Kingdom is that it is only once every three or four years that we have a machine that ranks in the top 20" säger en av de intervjuade forskarna.

Vilket såklart är en konkurrensfråga, åtminstone om man inte har tillgång till något internationellt samarbete kring en stor dator. Tillgång till en TOP20-dator var fjärde år låter å andra sidan inte så illa för min del; jag tycker det känns lyxigt nog att ha möjlighet att köra beräkningar på "vårt" kluster Hebb som var inne och vände som kortast på TOP500 med en 377:e placering på näst senaste listan.

De nationella superdatorernas tid riskerar ändå att vara på väg ut, åtminstone för mindre länder som Sverige. Vänta bara tills Kina och Indien börjar skaffa sig superdatorer i högre takt. Då lär vi få vara glada över att ha europeiska superdatorer på TOP500.

(VR har för övrigt en intressant rapport om högprestandaberäkningars framtid i Europa, med avseende på infrastruktur etc).

Länkar
Nature News
TOP500

Andra bloggar om: , , , ,

20 kommentarer:

Mattias Östergren sa...

Det finns en väldigt hård invändning mot att i nuläget försöka komma åt mobilers outnyttjade processorkraft: Batteritid!

Batteriutvecklingen bryr sig som välbekant ine alls om (någon tolkning av) Moores lag. Redan idag när jag använder min mobil till att ringa, mess, surfa, lyssna på musik, knäppa kort och liknande så skulle jag egentligen behöva ladda den varje natt.

Så, folding@home i mobilen? Ja, men bara när den är hemma och laddas. =)

Malin Sandström sa...

Jo, det är klart att batteritiden är en faktor. Men jag känner faktiskt folk som laddar sin mobil "för säkerhets skull" varje natt oavsett om den behöver laddas eller ej - jag tror knappast de är ensamma om det, och personer som använder sig av den strategin skulle säkert kunna köra lite extraprogram på sin mobil utan att bli batterilösa under dagen.

Även om man bara kör när mobilen sitter i laddaren laddar nog nästan alla (skulle jag gissa) över natten, vilket i de flesta fall torde vara flera timmar mer än vad som behövs för att få mobilen fulladdad. Flera timmar "ledig" tid, således, där man skulle kunna utnyttja processorkapaciteten till nåt :)

(Å andra sidan finns det folk som jag, som sover med mobilen avstängd. Vi skulle inte tillföra mycket.)

Men jag undrar, förresten, hur det är med energieffektiviteten hos mobiler. Det är inte uppenbart att det skulle bli särskilt energieffektiva beräkningar. Å andra sidan är inte stationära datorer (som majoriteten av F@H-beräkningarna körs på) särskilt strömsparande heller.

Lars Arvestad sa...

Man kan väl utgå ifrån att en mobil har en strömsnål CPU, till skillnad från de flesta bordsdatorer som används i tex Folding@home eller SETI@home, så jag skulle nog anta att det är relativt energieffektivt.

Angående batteritid: Jag handledde ett exjobb häromåret och då fick jag lära mig att minnesaccess är förödande för batteritid. Exjobbet gick ut på att minska minnesaccesser för grafiken. Så om man har beräkningar som har mycket lokala minnesaccesser kanske det inte är så farligt att mobilen räknar även när den inte laddas?

Anonym sa...

Lite småmallig borde man ju egentligen vara över att lilla Sverige ligger på femte plats på topplistan.

Ända tills man inser att nästan alla andra superdatorer på listan används för forskning medans Sveriges FRA-dator skall användas till att spionera på landets befolkning. :(

Malin Sandström sa...

Nå, nu ska vi inte vara så pessimistiska. En så pass stor dator räcker nog till att spionera på utlandets befolkning också ;-)

(Man kan tänka sig att även andra delar av försvaret skulle kunna få tillgång till att köra beräkningar på FRA:s dator. Kan man hoppas iallafall.)

Jo, det är verkligen inte många av datorerna på listan som ska användas i försvarssammanhang. Åtminstone inte många som har det specificerat.

Björn Felten sa...

Det är lite märkligt att inte, framför allt, våra högskolor och universitet utnyttjar den billiga superdator de skulle kunna få med folding@home-teknikens hjälp.

De skulle ju kunna sätta upp ett antal förstärkta wifi-antenner utspridda "on campus" där alla som vill kan ansluta sig gratis till internet mot att de först laddar ner en särskild klient.

Skulle kosta en bråkdel av de tiotals miljoner som en superdator kostar, även en av enklare snitt.

Lars Arvestad sa...

Det finns stort intresse för @home-varianter. På en konferens för några år sedan såg jag också att åtminstone ett företag har försökt agera mellanhand för att koppla ihop de med datorer med de som har beräkningsbehov. Att det inte har slagit igenom tror jag kommer sig av en kombination av anledningar. För min egen del gäller:

- Det är inte gratis 1: Att sätta upp ett system av detta slag verkar kräva en ordentlig personalinsats och det innebär direkt eller indirekt mycket pengar.

- Det är inte gratis 2: Du måste skriva ditt program så att det passar på en relativt godtyckligt vald dator. Om du har något speciellt behov (ett kommersiellt program eller ett befintligt system i konstigt programmeringsspråk) så kan det då bli ett merarbete att anpassa ditt program och det är dyrt. Tid är pengar!

- Stora datamängder: Många av oss använder databaser eller genererar datamängder som är alltför stora för en enkel hemmadator i ett @home-projekt. Vem accepterar att jag lägger ner ett par GB på deras hårddisk?

- Osäkerhet: En hemdator går inte att lita på, den stängs av och på, kraschar, program stoppas av klåfingrig tonåring som ska spela spel osv. Att förutse när en beräkning blir klar på ett så oberäkneligt nät måste vara ganska frustrerande. Att försöka programmera runt detta kräver mera jobb och är dyrt.

För ett antal år sedan försökte jag utnyttja den enorma (kändes det som) beräkningskapaciteten som fanns i våra datorsalar. Det gick relativt bra, men det var på en homogen datorpark och ett litet enkelt program som använde ca 2MB. Och det blev mycket dyrare (i tid räknat) än vad jag trodde från början pga oförutsedda problem med studenter som startade om datorer eller dödade mitt program av ren princip!

Malin Sandström sa...

Arbetstiden lär nog vara den mest svårlösta faktorn. Inte minst eftersom ett sådant program kräver underhåll även efter att det är igång, och därmed bli man så gott som tvungen att använda sig av permanent eller semipermanent (=doktorander etc) arbetskraft som är dyrare än, säg, exjobbare och sommarjobbare. Inte minst eftersom den tid de lägger på att programmera skulle kunna användas till forskning (=publikationer) istället.

Datamängden är nog mer lösbar (så länge det gäller stationära datorer iaf) om folk accepterar att lagra data tills beräkningen är färdig och att köra ett script som mailar eller ftp:ar över data till forskarens dator. Så gott som alla har ju bredband, och med dagens gigantiska hårddiskar är ett par temporära GB inget stort problem. (Datamängdsproblemet skulle däremot snabbt döda min fina ide med ett mobilnätverk.)

Osäkerhet är svårare. Speciellt som det gäller att man ska kunna lita på sina data. Parametersökning är nog OK, där kan man testa de värden man får på sin egen dator utan så stor tidsförlust. Men riktiga, långa simuleringspaket? Betydligt trassligare.

Björn Felten sa...

Många goda invändningar mot @home-varianten där, Lars. Men...

Att börja just på exempelvis CTH och/eller KTH skulle ju innebära en stor mängd synnerligen värdefulla examensarbeten på området, såväl vad gäller hård- som mjukvara.

Det är ju ett gammalt, välkänt faktum att de största "uppfinningarna" på framför allt datorsidan har åstadkommits inte innanför företagens lyckta dörrar utan genom öppna högskoleprojekt. Och då faller ju hela ekonomiinvändningen, eller hur?

Vad gäller osäkerheten, så löser man det säkert genom en tillräckligt stor redundans, och, som Malin påpekar, diskutrymme har vi nog ganska gott om lite till mans.

Kopplar man sedan den gratis internetanslutning som medföljer till ett quota-system kopplat mellan utförda beräkningar och tillgänglig bandbredd (2-108Mb), så blir det nog många som ställer upp med rejält med diskutrymme.

Lars Arvestad sa...

Ekonomiinvändningen står sig! Den kostnad jag tar upp kommer från den tid det tar mig och andra forskare att anpassa andra och egna program till det distribuerade system du föreslår. Den tiden är långt ifrån försumbar och desssutom mycket dyr. Jag använder ibland ett datorkluster här på KTH och det är tillräckligt med strul att få mina beräkningar att fungera på en väl kontrollerade hårdvara för att jag helt ska skygga iväg från ide'n om ett försök med @home. Det är inte bara en binär som jag slänger ut på ett antal datorer, det är också scripts som kopplar ihop flera olika program och ibland beror av avancerade kodbibliotek. För vissa forskare (som de bakom folding@home) är det definitivt lönsamt och tillräckligt enkelt att göra det, men för de flesta jag kommer i kontakt med är det inte värt besväret.

Man kan lösa osäkerhetsproblemet med redundans, men det förutsätter att ditt problem är enkelt att bryta upp i oberoende delar. Jag har använt redundans tidigare, när jag la ut på beräkningar på närmare 100 undervisningsdatorer (säg inget till nån!), men det kostade mig en del tid i programmering.

Det är säkert så att det går att sätta ihop schyssta @home-projekt, men jag är skeptisk till att det skulle vara värt besväret om man räknar in kostnaden för den tid forskare skulle lägga ner på att arbeta med sina program. Antag att 20 forskare får ett merarbete på en månad för att få sitt program att funka på det system du föreslår, och att kostnaden för en forskare är 50 kkr. Det ger 1 Mkr bara där. På det kluster jag använder har vi i princip samma hårdvara som står på mitt skrivbord, och det är högst en dags merarbete att börja använda klustret.

Anonym sa...

När jag exjobbade på Riget i Köpenhamn höll en forskarstudent ett kort föredrag om alla de magiska fördelar som PS3as skulle ha, vilka man som forskare då skulle kunna använda. Två sammankopplade PS3 skulle generera lika mycket arbetskapacitet som nån av topp-100-superdatorerna. I alla fall för de bildberäkningar som krävs på Rigshospitalet. Har nån hört talas om huruvida PS3 har börjat användas till vettigare saker än Guitar Hero än?

Malin Sandström sa...

Calle: jodå, det finns någon i USA som har kört ett 8-maskinskluster sedan februari förra året. Och vi har en PS3 här i gruppen som vi kör lite saker på...

Lars Arvestad sa...

Hos oss ligger det ett grafikkort inköpt för att användas för beräkningar utan grafik. Grafikkorten sägs innehålla bra kapacitet på vektorberäkningar och det har påtalats i andra sammanhang också. Än så länge tror jag inte personen ifråga har hunnit implementera nåt, vilket bara är typexempel på problemet med speciell hårdvara!

Björn Felten sa...

Men Lars då! Din ekonomiinvändning utgår ju ifrån att någon eller några experter, mot betalning, skall utveckla det hela?

Jag utgår i stället ifrån att hela projektet skall komma underifrån. Det skall bygga på den samlade erfarenhet som kommer från mängder av laborationer och examensarbeten på området. Ungefär som när unix och C utvecklades på Berkley.

Vi i Sverige ligger ju i framkant vad gäller IT. Det är där vi skall konkurrera på världsmarknaden, inte genom att marknadsföra våra arbetare som maskindelar i olika fabriker, så som skett det senaste seklet.

Här har vi ju -- genom vår unika ställning vad gäller bandbredd och datorinnehav -- en fantastisk möjlighet att vara de som lägger grunden för ett helt nytt tänkande vad gäller superdatorer. Inte skall vi väl låta mikroekonomiska aspekter hindra oss ifrån att leda denna utveckling?

Lars Arvestad sa...

Nej, jag utgår ifrån att jag måste göra det och min tid är dyr! Det är ett misstag att inte värdera tid!

Jag tycker att forskare ska forska och inte skriva massvis med program. Från samhällets sida ska man tänka så här: Hur får vi ut mest forskning för pengarna? Förenklat blir alternativen nu: (1) Billigt @home-system, men många forskare sitter varsin månad extra och hackar, eller (2) dyr hårdvara som det tar en dag att anpassa sitt program till. Jag argumenterar att alternativ 2 i många fall (inte alla) är mer kostnadseffektivt.

I mitt fall är det (i mina ögon) värre: Jag undervisar mycket och det vore katastrofalt om jag var tvungen att lägga min forskningstid på att hacka. Med de resurser som ställts till mitt förfogande är det tack och lov mycket enkelt att använda standardprogram och standardbibliotek för beräkningar.

Anonym sa...

Så det är här du håller till Lars! ;)

Tänk om det skulle finnas en matlab@home version, där du helt enkelt kan använda matlab syntax för att skriva sina script, samt någon enkelt förfarande för hemanvändare att bli medlemmar i ett kluster.

Dvs, istället för att varje enskild forskare utvecklar plattformen om igen, så finns det ett standardiserat verktyg som tar hand om det.

Du får ursäkta Malin, läste inte hela blogginlägget, utan reagerade på din idé att använda mobiler för @home. Hade samma batteriinvädning som första inlägget.

Måste tillägga att det var intressant att läsa igenom samtliga kommentarer här. Kunde inte slita mig. :)

Malin Sandström sa...

Oooh, ett matlab@home vore inte alls dumt. Jag har tillbringat extremt många timmar med att skriva och köra matlabkod vid det här laget, och det misstänker jag att jag inte är ensam om.

Både du och tidigare kommentatoren oestrogen har såklart rätt när det gäller batterier, men jag tror inte alltid det skulle vara ett problem (det finns ju också sådana som jag, som i snitt pratar i mobilen 5 minuter per dag eller så, inte tar kort, har en separat mp3... vi skulle nog kunna avvara lite batterikapacitet och ladda mobilen två gånger i veckan istället för en). Det begränsar däremot helt klart vilka sorters problem man skulle kunna lösa.

Magnus Persson sa...

Det verkar inte som om alla här är riktigt uppdaterade på det senaste inom @home & co. För något år sedan gick flera av de där projekten över till att använda ett gemensamt ramverk, BOINC. Jag kan inte så mycket om det men den som har intresse kan ju gräva ner sig i dokumentationen för att se om det verkar vara värt mödan eller inte...

Malin Sandström sa...

Magnus: Jo, åtminstone jag känner till BOINC (jag har t o m skrivit om det) men jag tycker det verkar som om flexibiliteten där framför allt finns på "användarsidan" dvs för de som upplåter sin datorkraft - inte för de som behöver använda det för att sätta upp ett distribuerat projekt (jag har dock inte använt det själv).

"Scientists: if your group has moderate programming, web, sysadmin, and hardware resources, you can use BOINC to create a volunteer computing project."

Det är klart det blir lättare än att skriva allt själv, ingen fråga om det, men om man talar i termer av en person (tyvärr verkligheten för ganska många forskare) finns det ju en rätt begränsad mängd tid och resurser att lägga ner. Frågan är vad som ryms inom ramen för "moderate resources"? Det är nog även så att en del av det man vinner i smidighet tappar man i konkurrens om den tillgängliga datorkraften - man konkurrerar ju till stor del om samma användare som alla andra BOINC-projekt.

"A research project that has limited funding but large public appeal (such as SETI@home) can get huge computing power."

Att de inte har fler projekt på sin lista efter över två års verksamhet ser jag lite som ett varningstecken. Däremot tror jag de har adderat grid computing, dvs distribuerade beräkningar på ett nätverk man redan äger, sedan jag var inne och kollade senast. Det har ju färre av nackdelarna, och såvitt man har tillgång och körrättigheter till datorerna kan det kanske vara en smidig(are) lösning.

Anonym sa...

Tja, det är ju tämligen billigt att bygga ett kluster idag med vanliga pc burkar som kör linux beowulf, inget jag testat själv än dock men planerar att göra det med mina 4 labburkar nån dag.

http://sixdays.se/2008/02/02/kul-fakta-angaende-varldens-500-snabbaste-superdatorer/