Linus Torvalds sågar fler processorkärnor

Permalänk
Medlem
Skrivet av moztech:

Nu pratar du ur röfven. Min 1100T är precis lika snabb som din 2500k och skulle klocka över 5GHz på vatten. Slå det om du kan.

6 kärnor är dessutom underbart. Speciellt om man gillar multitasking. Skulle aldrig gå ner till 4 igen.

Om du hade samma flertrådade prestanda i en singlecore processor skulle multitaskingen vara lika bra, men när du kör något enkeltrådat skulle det blixtra till och du undra vad fan var det som hände! Tidshopp?

Tyvärr är det inte möjligt i dagsläget att få sådan prestanda ur en processorkärna.

Permalänk
Hedersmedlem
Skrivet av Paddanx:

Dock är en viktigt poäng sagd här. Vi gör fler saker samtidigt idag. Vi har youtube på en skärm, spelet på en, och forum på den tredje skärmen. DÅ och endast DÅ, är 8 kärnor av intresse imho, dvs när inte bara våra program parallelliseras, utan även vår konsumering av den. Dvs, VI börjar bli multitrådade...

Fast det gäller ju att man verkligen gör något som kräver prestanda också. Youtube och forum (trots att chrome och liknande är bra på att skapa trådar) kräver fortfarande väldigt lite kraft. Titta i aktivitetshanteraren.

Permalänk
Medlem
Skrivet av Elgot:

Fast det gäller ju att man verkligen gör något som kräver prestanda också. Youtube och forum (trots att chrome och liknande är bra på att skapa trådar) kräver fortfarande väldigt lite kraft. Titta i aktivitetshanteraren.

Jo väldigt sant. Det var mer tanken bakom, att bara spelet i sig själv inte behöver mer, utan endast när du använder fler saker bredvid som behovet av 4+ kärnor finns. Youtube @ 1080 drar en del dock, speciellt i SW mode. Forum dra typ inget normalt, men du kan ju ha chatt mm rullande där där folk klistrar in allt från GIF bilder till allt möjligt (något de ofta gör på en del jag är på). Inget som direkt kommer maxa din CPU, men det är inte poängen, utan att dina 4 kärnor redan är upptagna med spel + OS, och du kanske behöver fler för att kunna göra fler saker utan att det ska bli segt.

Permalänk
Hedersmedlem
Skrivet av Paddanx:

Jo väldigt sant. Det var mer tanken bakom, att bara spelet i sig själv inte behöver mer, utan endast när du använder fler saker bredvid som behovet av 4+ kärnor finns. Youtube @ 1080 drar en del dock, speciellt i SW mode. Forum dra typ inget normalt, men du kan ju ha chatt mm rullande där där folk klistrar in allt från GIF bilder till allt möjligt (något de ofta gör på en del jag är på). Inget som direkt kommer maxa din CPU, men det är inte poängen, utan att dina 4 kärnor redan är upptagna med spel + OS, och du kanske behöver fler för att kunna göra fler saker utan att det ska bli segt.

Fast en kärna borde räcka långt (om man nu inte har väldigt många högupplösta youtube-filmer igång samtidigt). Titta som sagt i aktivitetshanteraren; man måste anstränga sig lite för att få upp belastningen (med "normal" användning det vill säga).

Permalänk
Medlem

För den som tycker att det här med Amdahls lag och formler och sånt bara är akademiskt bullshit följer här ett litet tankeexempel.

Ett staket ska målas och du har till uppgift att organisera jobbet. Du har till ditt förfogande målare, penslar och färgpytsar. En målare målar staketet på 60 minuter och det tar 1 minut att ge målaren en pensel, färgpyts och instruktioner. Om en målare målar staketet, tar hela jobbet alltså totalt 61 minuter, om två målare målar, tar det 32 minuter, tre målare tar 18 minuter och så vidare. Då märker man att för 8 målare tar hela jobbet 15 minuter 30 sekunder, men för 9 målare 15 minuter 40 sekunder! För 60 målare tar hela jobbet återigen 61 minuter. En minut att måla staketet och 60 minuter att dela ut penslar, pytsar och instruktioner.

Här är det uppenbart att man når en gräns där fler målare inte hjälper ett dugg, utan bara förvärrar problemet. Hur du än vrider och vänder på problemet löses det inte av fler målare!

Permalänk
Medlem

Här är ett annat tankeexempel. Denna gången handlar det om en uppgift som inte helt lätt låter sig parallelliseras.

En författare skriver en bok. Författaren skriver ett kapitel per vecka, så en bok om tio kapitel är färdig på tio veckor. Om tio författare skriver varsitt kapitel på en vecka, så är boken klar på en vecka. Fast hur ska varje författare veta vad de ska skriva om inte föregående kapitel är färdigställt? Det är ett problem som inte kan lösas med hjälp av fler författare!

Permalänk
Inaktiv
Skrivet av Ilja:

Här är ett annat tankeexempel. Denna gången handlar det om en uppgift som inte helt lätt låter sig parallelliseras.

En författare skriver en bok. Författaren skriver ett kapitel per vecka, så en bok om tio kapitel är färdig på tio veckor. Om tio författare skriver varsitt kapitel på en vecka, så är boken klar på en vecka. Fast hur ska varje författare veta vad de ska skriva om inte föregående kapitel är färdigställt? Det är ett problem som inte kan lösas med hjälp av fler författare!

Beror på vad det är för typ av bok. Jag själv har arbetat i team där vi skriver våra egna kapitel själva och sedan slår ihop dem, där vissa mjukvaror som Adobe Indesign har just stöd för detta. Där man låter varje kapitel ärva egenskaper från mallen etc som håller ordning på delarna.

Skrivet av Ilja:

För den som tycker att det här med Amdahls lag och formler och sånt bara är akademiskt bullshit följer här ett litet tankeexempel.

Ett staket ska målas och du har till uppgift att organisera jobbet. Du har till ditt förfogande målare, penslar och färgpytsar. En målare målar staketet på 60 minuter och det tar 1 minut att ge målaren en pensel, färgpyts och instruktioner. Om en målare målar staketet, tar hela jobbet alltså totalt 61 minuter, om två målare målar, tar det 32 minuter, tre målare tar 18 minuter och så vidare. Då märker man att för 8 målare tar hela jobbet 15 minuter 30 sekunder, men för 9 målare 15 minuter 40 sekunder! För 60 målare tar hela jobbet återigen 61 minuter. En minut att måla staketet och 60 minuter att dela ut penslar, pytsar och instruktioner.

Här är det uppenbart att man når en gräns där fler målare inte hjälper ett dugg, utan bara förvärrar problemet. Hur du än vrider och vänder på problemet löses det inte av fler målare!

Inom datorsammanhang så brukar man med mer datorkraft och bättre ramverk göra allt mer komplicerade saker.
Så ditt staket får helt plötsligt en massa utsmyckningar, belysningar, vargstängsel, blommor etc och den ska täcka några hektar mark utanför huset och man då behöver ha 100st arbetare för att få jobbet gjort inom den tid som man kräver.

Dock kommer man såklart upp i en gräns för hur många arbetare som man kan ha nytta av innan det blir meningslöst. I Persondatorsidan så är dock programmen långtifrån bloatade så mycket som det bara går och vi lär se ännu mer saker som ska snurra för att egentligen utföra samma arbete. Så jag ser inget konstigt om persondatorerna inom 10år har 8 kärnor.

Men all extra bloated programvara behöver dock inte nödvändigtvis kräva att klientdatorerna behöver bli kraftigare utan allt mer arbete utförs i molnet på någon annan dator, detta av flera anledningar, där en stor anledning är att folks tid att pilla med datorer knappast kommer att öka så mycket så att de har tid att göra allt själva. Folk kommer dock garanterat använda datorn mer och mer, men det är för att se på facebook, aftonbladet etc.

Edit:
Påstal om lagar så finns det en intressant även om man nu ska tolka denna komisk.
Wirth's law: It states that software is getting slower more rapidly than hardware becomes faster
http://en.wikipedia.org/wiki/Wirth%27s_law

Permalänk
Medlem
Skrivet av anon159643:

Beror på vad det är för typ av bok. Jag själv har arbetat i team där vi skriver våra egna kapitel själva och sedan slår ihop dem, där vissa mjukvaror som Adobe Indesign har just stöd för detta. Där man låter varje kapitel ärva egenskaper från mallen etc som håller ordning på delarna.

Inom datorsammanhang så brukar man med mer datorkraft och bättre ramverk göra allt mer komplicerade saker.
Så ditt staket får helt plötsligt en massa utsmyckningar, belysningar, vargstängsel, blommor etc och den ska täcka några hektar mark utanför huset och man då behöver ha 100st arbetare för att få jobbet gjort inom den tid som man kräver.

Dock kommer man såklart upp i en gräns för hur många arbetare som man kan ha nytta av innan det blir meningslöst. I Persondatorsidan så är dock programmen långtifrån bloatade så mycket som det bara går och vi lär se ännu mer saker som ska snurra för att egentligen utföra samma arbete. Så jag ser inget konstigt om persondatorerna inom 10år har 8 kärnor.

Men all extra bloated programvara behöver dock inte nödvändigtvis kräva att klientdatorerna behöver bli kraftigare utan allt mer arbete utförs i molnet på någon annan dator, detta av flera anledningar, där en stor anledning är att folks tid att pilla med datorer knappast kommer att öka så mycket så att de har tid att göra allt själva. Folk kommer dock garanterat använda datorn mer och mer, men det är för att se på facebook, aftonbladet etc.

Edit:
Påstal om lagar så finns det en intressant även om man nu ska tolka denna komisk.
Wirth's law: It states that software is getting slower more rapidly than hardware becomes faster
http://en.wikipedia.org/wiki/Wirth%27s_law

Visst kan man göra så, men andra premisser gällde i mina extremt enkla exempel. Om man ändrar premisserna så att ett problem förvandlas till ett annat så håller förstås inte den ursprungliga slutsatsen längre. Hursomhelst kan du inte lösa de problem som jag lade fram genom att slänga fler målare eller författare på dem, och det var det som var hela poängen.

Permalänk
Medlem

"Han menar att normala klienter klarar sig med fyra kärnor och att fler än så leder till högre strömförbrukning än vad som är praktiskt gångbart, alternativt tvingar fram svagare beräkningsenheter, vilka är svåra att utnyttja."

Om 4 cpuer skulle vara någon gräns så kommer denna nyhet alltså betyda mest noll "Microsoft ger utvecklare tillgång till en sjunde processorkärna"
http://www.fz.se/artiklar/nyheter/20150105/microsoft-trimmar-...

Möjligtvis får vi se vad som stämmer bäst i framtiden

Men sen tycker jag att det borde vara logiskt att oavsett om det är 1 en eller 10 som ska bli effektivare så har man alltid högre strömförbrukning att kämpa emot.

Permalänk
Hedersmedlem
Skrivet av igelkotte:

"Han menar att normala klienter klarar sig med fyra kärnor och att fler än så leder till högre strömförbrukning än vad som är praktiskt gångbart, alternativt tvingar fram svagare beräkningsenheter, vilka är svåra att utnyttja."

Om 4 cpuer skulle vara någon gräns så kommer denna nyhet alltså betyda mest noll "Microsoft ger utvecklare tillgång till en sjunde processorkärna"
http://www.fz.se/artiklar/nyheter/20150105/microsoft-trimmar-...

Fast i det där fallet sitter man ju redan med svaga kärnor. Det är väl inte omöjligt att situationen blir bättre om man får ännu en, men ännu bättre hade kanske varit att ha färre men starkare kärnor från början?

Permalänk
Avstängd
Skrivet av MBY:

Om man öh ska kunna "koda för flera trådar" krävs det att själva problemet/arbetet som ska utföras har de fundamentala egenskaperna av "parallellproblem".

Har inte sagt nåt annat heller.

Permalänk
Medlem
Skrivet av Paddanx:

Jag har alltid trott att begränsningarna var pga både mjukvara och hårdvara. Mjukvaran (DOS) var ju 16-bit, och därav hade sin begränsning med det. Det var ju först när Windows 95 kom som 32-bitars mjukvara började köras, som då kunde hantera mer minne, samt att den hanterade minnet på ett annat sätt. (Du kunde tex köra 2 DOS fönster med vars 640kB minne som bas + expanderat).

Om OS:et hade kunnat gå över i real-mode hade man kunnat accessa allt minne direkt, ja. Vad highmem.sys gjorde var att den lät olika program accessa olika 1Mb sektioner via MMU:n.

Det var dock fullt möjligt att komma åt allt minne direkt, jag har skrivit protected-mode DOS-program i pascal. Däremot så fick man en rätt ordentlig sidoeffekt: När man startade dem kunde man inte längre komma åt DOS (och till viss del inte BIOS). Och det gick inte att avsluta programmen om man inte hade en 386:a (har jag för mig, det var väl då man kunde lämna protected mode också? Det börjar bli länge sedan nu.. Och jag föredrog min 68000 baserade Amiga ändå. )

Skrivet av Paddanx:

Dock kan du ha helt rätt i att 640kB aldrig var mjukvaru begränsning, men detta minne var ju bas minnet även långt in i 486 tiden, i mjukvaran D[OS. Sen fick man ju köra expanderat minne för att få det RAM vi känner till idag. Och man var tvungen att ladda drivare som gjorde att DOS kunde använda det, för att sedan spel/program skulle kunna använda det.
Eller?

Ja, eller, ja, om man vill vara snäll snarare. DOS har inte mycket till skydd för att man gör saker som att peta på MMU:n. Windows startades ju från dos, och var ett protected-mode program från windows 2 iaf (väl?)

Permalänk
Medlem
Skrivet av Elgot:

Fast i det där fallet sitter man ju redan med svaga kärnor. Det är väl inte omöjligt att situationen blir bättre om man får ännu en, men ännu bättre hade kanske varit att ha färre men starkare kärnor från början?

Det kan man nog säga men det är väl också en relativt billig cpu. Som jag förstår det så använder man flera kärnor i telefoner just för att få ner strömförbrukningen, men Linus påstår precis tvärtom. Jag tror att så länge man tillverkar rätt och kan hantera cpun rätt så tror jag fler kärnor i dom allra flesta fall ger mest overall prestanda. Men jag tror tyvärr att svårigheten att hantera dessa flerkärniga processorer ibland kostar mer än det smakar.

Men för dom som enbart gör en sak på datorn och vill ha ut maximal prestanda så förstår jag att dom hellre ser 1 snabb cpu mot 10 som inte gör jobbet lika bra. Men för mig är det viktigare att datorn inte stannar upp för att andra saker tar resurser och därav bryr jag mig inte om den inte är lika snabb och effektiv på allt.

Det är så skönt att kunna rendera, surfa, spela, lyssna på musik och se på film samtidigt utan att datorn ska bli låst

Permalänk
Datavetare
Skrivet av Paddanx:

Jag har alltid trott att begränsningarna var pga både mjukvara och hårdvara. Mjukvaran (DOS) var ju 16-bit, och därav hade sin begränsning med det. Det var ju först när Windows 95 kom som 32-bitars mjukvara började köras, som då kunde hantera mer minne, samt att den hanterade minnet på ett annat sätt. (Du kunde tex köra 2 DOS fönster med vars 640kB minne som bas + expanderat).

Dock kan du ha helt rätt i att 640kB aldrig var mjukvaru begränsning, men detta minne var ju bas minnet även långt in i 486 tiden, i mjukvaran DOS. Sen fick man ju köra expanderat minne för att få det RAM vi känner till idag. Och man var tvungen att ladda drivare som gjorde att DOS kunde använda det, för att sedan spel/program skulle kunna använda det.
Eller?

Real-mode som var det adressläge som DOS använde hade rent tekniskt en begränsning på 1MB. För att begripa 640kB gränsen måste man titta på hur dåtidens PC var designade, framförallt hur minnesmappen för I/O-enheter såg ut.

I read-mode läge adresseras minne via två register, det ena kallas "segment-register" och väljer vilken 64kB segment man för tillfället ska jobba med. Intel valde sedan (av någon för mig okänd anledning) att ha ett överlapp på 12-bitar mellan 16-bitars segment-register och 16-bitars register som används som pekare. Så summan av segment-register + register man använder som pekare är 20-bitar (2^20 = 1M), effektiv adress beräknas som register-seg * 16 + pointer-register.

Första 10 64kB segmenten har DOS reserverat för applikationer, där har du 640kB. Anledningen till just detta val var därför att IBM-PC maskiner hade sin första I/O-enhet minnes-mappad på adress $a0000 (->11:e 64kB segmentet), här hittade man minnet för EGA/VGA-grafik. De 384kB som startar på adress $a0000 var nästan tvungen att hanteras av operativsystemet då den exakta funktionen av dessa adresser beror på vilken HW man har i sin dator. Det mesta av dessa adresser var i praktiken RAM och här låg systemfunktioner, drivrutiner och liknande.

Så 640kB gränsen var mer en effekt av PC-maskinvaran på den tiden än ett aktivt val av Microsoft.

Extendended memory (himem.sys) var en riktigt fulhack som var en effekt av överlappet mellan segment-register och register-pekare. Sätter man segmentpekaren till $ffff så går det att adressera $ffff0 till $1ffff0, vilket är 65536-16 bytes OVANFÖR 1M gränsen. Så utan saker som DOS/4G (som många spel använde, t.ex. Doom) var man tvungen att använda RAM utöver de första 1MB via ett fönster på ~64kB på en fix adress av $fff0:xxxx ... Inte kul att skriva dom programmen

Permalänk
Medlem

Torvalds är inte skaparen av operativsystemet "Linux". Han skapade kärnan/kernel som saknades i operativsystemet GNU, skapat av Richard Stallman, och kallade den för Linux.

Gnällfisen har talat.

Permalänk
Avstängd
Skrivet av anon159643:

Jag håller med vad du skrev men..

Inom datorteknik så är det inte alltid självklart vad arbetsuppgiften ska vara. Uppgiften beror dels på utvecklingstiden, ramverket och datorns beräkningskapacitet.
De två sista faktorerna är något som har stigit med rasande fart de senaste åren, vilket leder till att dagens programvara är mer bloated än vad den vad förr.
Det är bara se på fps spel, det arbetsuppgiften var igår är inte densamma idag. Nu ska man spela multiplayer, fysiken ska kännas verklig så att man kan förstöra objekt och skada motspelare (skjuta av kroppsdelar) och även spela in matcher, tanka hem torrents, ha igång någon filserver, packa filer m.m samtidigt. Hur långt denna utvecklingen kommer att gå är en bra fråga och realistisk fysik i spel är processorkrävande.

Så det jag menar är att arbetsuppgiften inte är självklar. För min del så får jag varje år bättre ramverk med fler funktioner som jag kan lägga in genom få musklick, detta vill självklart kunderna ha och antalet kluster som behövs för att driva skiten bara ökas. (p.g.a att utvecklingen av cpu har börjat stagnerat)

Och samma sak gäller allt, jag surfade bra på en 486 med 4MB ram runt 96, nu idag känns internet nästan slöare på min 2*12 kärniga bruk.

Så en fråga om fler kärnor i framtiden eller ej kräver att man först analyserar vad man gör i framtiden på datorn? För min egen del har jag inga problem att utnyttja "min" dator idag.
Annars kan man se på bilar, det är märkligt att dagens bilar behöver ha mer datakraft än en månraket, men detta tillräckligt och kommer utvecklingen att stagnera? Knappast, det blir bara mer och mer skit som bilföraren ska ha igång samtidigt och allt mer saker som att bearbetas av en dator. T.ex. dieselvärmaren, för några år sedan var det elektronisk bara en strömbrytare, idag är det en dator som styr denna och hela tiden ändrar hur denna beter sig och ändrar var värmen ska spridas. Och om några år om det inte redan finns idag så ska man nog från mobiltelefonen både kunna övervaka och styra dieselvärmaren.

Vilket innebär att problemet "värma upp bilen" inte är statisk utan allteftersom man får tillgång till mer datakraft så blir det bara fler funktioner. Där väldigt många av dessa funktioner är väldigt enkla att utföra parallellt på helt olika cpus om man så ville.
Och detsamma gäller såklart persondatorn, på 80talet satt entusiaster och bara gjorde en sak i taget, nu gör man väldigt mycket på datorn samtidigt.

Jag förstår inte? Din invändning är komplett obegriplig. Självklart kan arbetsuppgiften ändras. Det har inte med saken att göra. Amdahls lag gäller alltjämt och den gäller givet en arbetsuppgift eller ett beräkningsproblem. Parallellismens vara eller icke-vara en är fundamental egenskap hos problemet, helt oberoende av hur väl man ens känner till problemets möjligheter till parallellism. Det enda man kan göra är att försöka utföra så mycket som möjligt av problemet parallellt, och detta gäller då bara de delar som faktiskt är parallella. Just eftersom ett problem sällan eller aldrig är helt fri från seriella egenskaper kommer hastigheten inte skala linjärt med antal parallella beräkningsenheter.

Permalänk
Avstängd
Skrivet av nackskägg:

Har inte sagt nåt annat heller.

Varför talade du då om saker? Tråden rör specifikt Amdahls lag och ingenting du kontrar med kan faktiskt ändra detta fundamentala sakförhållande.

Permalänk
Avstängd
Skrivet av anon159643:

Beror på vad det är för typ av bok. Jag själv har arbetat i team där vi skriver våra egna kapitel själva och sedan slår ihop dem, där vissa mjukvaror som Adobe Indesign har just stöd för detta. Där man låter varje kapitel ärva egenskaper från mallen etc som håller ordning på delarna.

Inom datorsammanhang så brukar man med mer datorkraft och bättre ramverk göra allt mer komplicerade saker.
Så ditt staket får helt plötsligt en massa utsmyckningar, belysningar, vargstängsel, blommor etc och den ska täcka några hektar mark utanför huset och man då behöver ha 100st arbetare för att få jobbet gjort inom den tid som man kräver.

Dock kommer man såklart upp i en gräns för hur många arbetare som man kan ha nytta av innan det blir meningslöst. I Persondatorsidan så är dock programmen långtifrån bloatade så mycket som det bara går och vi lär se ännu mer saker som ska snurra för att egentligen utföra samma arbete. Så jag ser inget konstigt om persondatorerna inom 10år har 8 kärnor.

Men all extra bloated programvara behöver dock inte nödvändigtvis kräva att klientdatorerna behöver bli kraftigare utan allt mer arbete utförs i molnet på någon annan dator, detta av flera anledningar, där en stor anledning är att folks tid att pilla med datorer knappast kommer att öka så mycket så att de har tid att göra allt själva. Folk kommer dock garanterat använda datorn mer och mer, men det är för att se på facebook, aftonbladet etc.

Edit:
Påstal om lagar så finns det en intressant även om man nu ska tolka denna komisk.
Wirth's law: It states that software is getting slower more rapidly than hardware becomes faster
http://en.wikipedia.org/wiki/Wirth%27s_law

Igen, din invändning mot Iljas exempel är obegriplig. Snälla, försök begrip att varje "författande av en bok" är en unik arbetsuppgift med olika grader av möjlig parallellism. Varje bok kan inte författas snabbare än vad Amdahls lag dikterar för denna specifika bok, hur mycket du än konstrar.

Redan i början av tråden tog någon upp "exempel 1A", det klassiska exemplet som varje människa borde begripa och som illustrerar inte mindre än två fundamentala aspekter av datorer. Nio mammor kan inte föda ett barn på 1 månad om det tar en mamma 9 månader att gro ett barn. Däremot, nio mammor kan i princip föda ett barn i månaden i snitt (under nio månader, dvs, men inte oftare då det är sällan som man kan bli mamma var nionde månad), men ställtiden är lik förbaskat nio månader. Detta illustrerar även pipelining. En pipeline i en CPU kan ge en IPC på under ett, men tiden det tar för den första instruktionen att bli klar påverkas inte. Och stallar pipelinen så kan kostnaden bli hög, så nackdelarna med en pipeline kan paradoxalt skala mer linjärt med antalet beräkningsenheter än fördelarna under ogynnsamma förhållanden.

Dina kontringar tidigare har varit ungefär som att du nu skulle säga att möss minsann har lägre generationstid än människor. Det är skit samma. Exakt samma sak gäller för möss. Exakt samma sak gäller oberoende av arbetsuppgift, av vilken bok som ska skrivas eller hur blingbling staketet ska vara. Skillnaderna är endast att varje arbetsuppgift har egna egenskaper när det kommer till parallellism.

Permalänk
Avstängd
Skrivet av igelkotte:

Det är så skönt att kunna rendera, surfa, spela, lyssna på musik och se på film samtidigt utan att datorn ska bli låst

Det här är lite av pudelns kärna tror jag. INGEN påstår att en kärna är bättre än två, eller tio. Poängen är endast att tio kärnor är inte tio gånger bättre än en kärna. Det är liksom HELA poängen.

Exempel med surfa och vardagligt datorarbete idag bli lite futtigt, eftersom det handlar i sak om vad som händer med godtyckligt många kärnor. Men en liten handfull kärnor kan man lätt få intrycket att datorns arbetsförmåga ökar N ggr där N är antalet kärnor. I själva verket är det något under N, men det spelar ingen roll. Men det kommer att spela roll så fort N inte längre är trivialt litet.

Färre och färre applikationer kan längre snabbas upp när N ökar, och vissa ej försumbara arbetsuppgifter skulle dessutom förlora på det, fullt i enlighet med Iljas staketexempel. Det är bara ett väldigt exklusivt fåtal av arbetsuppgifter som faktiskt kan dra nytta av stora N, när vi talar N > 1000 eller där N går mot oändligheten. Ju högre N, desto färre praktiska uppgifter av mer och mer exotisk karaktär drar nytta.

Ingen i tråden, och inte Torvalds heller, påstår att multitrådat eller en handfull kärnor är på något sätt sämre än en kärna. Men det motiverar inte tiotals kärnor och om linjär/exponentiell utveckling av en kärna skulle vara möjligt godtyckligt länge skulle det vara toppen, därför parallella uppgifter låter sig lösas seriellt, medan det omvända inte låter sig göras. Det enda man kan göra är att analysera fram parallellitet i befintlig uppgift. Finns ingen så hjälper inte fler beräkningsenheter.

Permalänk
Avstängd
Skrivet av anon159643:

Edit:
Påstal om lagar så finns det en intressant även om man nu ska tolka denna komisk.
Wirth's law: It states that software is getting slower more rapidly than hardware becomes faster
http://en.wikipedia.org/wiki/Wirth%27s_law

Problemet med eponymer till lagar är att man på förhand inte kan veta om en lag är fundamental eller inte. Vissa är skämt, andra är naturlagar och en tredje kategori är lagbundenheter som helt enkelt gäller utan någon strikt formell anledning.

Denna lag är precis som du säger mer "komisk". Den är ett krasst konstaterande av en verklighet. Moores lag är en annan lagbundenhet som gäller empiriskt, utan någon riktigt stark reduktionistisk, teoretisk grund. Amdahls lag är mer matematisk till sin natur och är ovedersäglig, oomkullrunkelig och omutbar.

Permalänk
Inaktiv
Skrivet av MBY:

Jag förstår inte? Din invändning är komplett obegriplig. Självklart kan arbetsuppgiften ändras. Det har inte med saken att göra.

När man säger vilken hårdvara som behövs för en viss uppgift i framtiden, så är det första kravet att analysera vad uppgiften är i framtiden. Vad uppgiften i framtiden är beror på en mängd faktorer (som tillgänglig datorkraft, framework och vad folk efterfrågar) , det som har hänt de senaste 50åren inom datorteknik är att lösningarna blir allt mer avancerade. Notis: Apple har varit ett föredöme på att rensa gränssnitt på funktioner som för den stora skaran resulterar i bättre programvara.

Jämför Adobes Indesign med en simpel texteditor typ Edit/notepad. Där man kunde säga att det finns inget behov av fler kärnor i texteditorer för man kan inte kan parallellisera arbetet i texteditorn bättre och hänvisar till Amdahls lag.
Men då har man missat det allra grundläggande att man i nutiden inte gör samma sak i en texteditorer idag som igår, idag ska man arbeta kanske över 20 personer i samma dokument(book) samtidigt och ha en massa länkade objekt till adobe illustrator, photoshop, autocad etc i. Där folk kan uppdatera dessa länkar under tiden som man arbetar i dokumentet. Likaså kan man idag ha ett och samma dokument för flera olika språk och att man länkar in olika texter beroende på språk. (montra text kallas detta för i Indesign)

Nu går vi dock emot molnet lösningar, så det kan mycket väl innebära att framtidens textreditorer kräver mindre processorkraft på klienten än de för 20år sedan, men det beror då helt på att arbetet utförs på en helt annan dator.

Skrivet av MBY:

Amdahls lag gäller alltjämt och den gäller givet en arbetsuppgift eller ett beräkningsproblem. Parallellismens vara eller icke-vara en är fundamental egenskap hos problemet, helt oberoende av hur väl man ens känner till problemets möjligheter till parallellism. Det enda man kan göra är att försöka utföra så mycket som möjligt av problemet parallellt, och detta gäller då bara de delar som faktiskt är parallella. Just eftersom ett problem sällan eller aldrig är helt fri från seriella egenskaper kommer hastigheten inte skala linjärt med antal paralella beräkningsenheter.

Det jag säger är att alms lag etc är bra för att använda för att visa hur mycket man kan parallellisera ett problem.
Lagen säger dock inte ett skvatt om vad datorbehovet i morgon är och det ska den såklart inte hellre göra.
Det jag invänder mig emot är dock att folk använder lagen för att argumentera emot morgondagens behov inom datorteknik, där jag självklart säger att lagarna självklart begränsar vilken hårdvara som är meningsfull att ha, men det viktigaste är att ta redan på vad just uppgiften imorgon är.
Och min uppfattning är att det går emot att vi utför allt fler parallella arbetsuppgifter. Så argumentet att man inte kan göra en deluppgift snabbare, motargumenteras emot att man imorgon gör väldigt många deluppgifter.
Detta betyder dock inte att ett par hundra cpu-kärnor är bra, men 8st som jag tidigare har nämnt ser jag ej som orimligt.

Permalänk
Medlem
Skrivet av anon159643:

Ok, bara för att vi imorgon eventuellt har ett nytt problem som enkelt kan parallelliseras kommer helt magiskt alla seriella problem att upphöra att vara seriella och transformeras till parallella även dem. Bra att veta.

Permalänk
Avstängd
Skrivet av anon159643:

När man säger vilken hårdvara som behövs för en viss uppgift i framtiden, så är det första kravet att analysera vad uppgiften är i framtiden.

I en och samma mening skriver du en viss uppgift och vad uppgiften är i framtiden. Inte konstigt att du hamnar i så många nonsensresonemang när du nog inte själv förstår vad du skriver eller menar. Nej, för en viss uppgift gäller Amdahls lag statiskt, för just den uppgiften. För en annan uppgift gäller lagen, men med andra ingångsvärden.

Det här med vad som är parallelliserbart eller ej är återigen fundamentala egenskaper hos uppgifter/problem/algoritmer/arbeten, etc och har inte ett smack med "framtiden", programspråk eller datorarkitektur att göra.

Skrivet av anon159643:

Vad uppgiften i framtiden är beror på en mängd faktorer (som tillgänglig datorkraft, framework och vad folk efterfrågar) , det som har hänt de senaste 50åren inom datorteknik är att lösningarna blir allt mer avancerade. Notis: Apple har varit ett föredöme på att rensa gränssnitt på funktioner som för den stora skaran resulterar i bättre programvara.

Det är inte första gången du säger "framework". Vad menar du ens med "framework"?

Du verkar tala om helt andra saker än vi andra, och du tycks helt enkelt inte ta in vad vi andra talar om. Ger någon ett exempel på en bok så hittar du på en annan bok. Om kriterierna är att måla ett staket så ska du ändra förutsättningarna. Det verkar kort sagt helt enkelt som du inte förstår.

Amdahls lag gäller alla framtida ännu ej upptäckta algoritmer, "lösningar", programspråk och CPUer.

Skrivet av anon159643:

Jämför Adobes Indesign med en simpel texteditor typ Edit/notepad. Där man kunde säga att det finns inget behov av fler kärnor i texteditorer för man kan inte kan parallellisera arbetet i texteditorn bättre och hänvisar till Amdahls lag.

Det du säger är komplett obegriplig och kan bara förstås om vi antar att du helt enkelt intet förstår av det vi försöker säga dig. Use–mention-distinktionen? Jag vet ärligt talat inte vad du försöker säga.

Skrivet av anon159643:

Men då har man missat det allra grundläggande att man i nutiden inte gör samma sak i en texteditorer idag som igår, idag ska man arbeta kanske över 20 personer i samma dokument(book) samtidigt och ha en massa länkade objekt till adobe illustrator, photoshop, autocad etc i. Där folk kan uppdatera dessa länkar under tiden som man arbetar i dokumentet. Likaså kan man idag ha ett och samma dokument för flera olika språk och att man länkar in olika texter beroende på språk. (montra text kallas detta för i Indesign)

??? Har inget med saken att göra. Såklart.

Skrivet av anon159643:

Nu går vi dock emot molnet lösningar, så det kan mycket väl innebära att framtidens textreditorer kräver mindre processorkraft på klienten än de för 20år sedan, men det beror då helt på att arbetet utförs på en helt annan dator.

Har ingenting med saken att göra, såklart.

Skrivet av anon159643:

Det jag säger är att alms lag etc är bra för att använda för att visa hur mycket man kan parallellisera ett problem.

Nej och åter nej. Ett problem har en och endast en möjlig parallellisering. Det är en fundamental egenskap. Det kan vara svårt att analysera problemet och det kan vara svårt att praktiskt parallellisera det som går, men du kan aldrig parallellisera en seriell uppgift.

Skrivet av anon159643:

Lagen säger dock inte ett skvatt om vad datorbehovet i morgon är och det ska den såklart inte hellre göra.

Bara du talar om "datorbehovet i morgon". Amdahls lag gäller varje problem även i morgon. Lagen säger ingenting om nästa fluga. Däremot kan du vara säker på att morgondagen inte automagiskt för med sig nya parallellproblem och att seriella sådana plötsligt upphör. Glöm ej att linjär skalning får du endast vid 100% parallella problem. "100%" är också rent bokstavligt talat, inte bildligt.

Skrivet av anon159643:

Det jag invänder mig emot är dock att folk använder lagen för att argumentera emot morgondagens behov inom datorteknik, där jag självklart säger att lagarna självklart begränsar vilken hårdvara som är meningsfull att ha, men det viktigaste är att ta redan på vad just uppgiften imorgon är.

Nonsens. Ingen har argumenterat något "mot" morgondagens behov. Däremot är det med matematisk visshet så att ett visst problem har en viss möjlighet till parallellisering som fundamental begränsning.

Skrivet av anon159643:

Och min uppfattning är att det går emot att vi utför allt fler parallella arbetsuppgifter. Så argumentet att man inte kan göra en deluppgift snabbare, motargumenteras emot att man imorgon gör väldigt många deluppgifter.

Återigen, du tycks helt enkelt inte förstå.

Skrivet av anon159643:

Detta betyder dock inte att ett par hundra cpu-kärnor är bra, men 8st som jag tidigare har nämnt ser jag ej som orimligt.

För vissa problem är hundratals kärnor bra, eller tiotusentals. Det ändrar inte det fundamentala faktum att lejonparten av problem igår, idag och i morgon har seriell natur som endast kan lösas seriellt. Läs gärna Iljas exempel några gånger till, tills polletten faller ner. Det handlade ju bland annat om dina idéer kring kollaborering med flera kring ett och samma dokument, etc.

Permalänk
Inaktiv

Jag ger mig. Förklarar bara kortfattat.

Skrivet av MBY:

Det är inte första gången du säger "framework". Vad menar du ens med "framework"?

http://en.wikipedia.org/wiki/Software_framework
Jag delar upp utvecklingsmiljön i 3 delar.
Själva utvecklingsprogram, språket och olika ramverk som man kan köpa/bygga som kommer med mängder av olika funktioner. Definitionen när något får kallas för ett framework/ramverk kan självklart diskuteras.
Fördelarna med färdiga ramverk är självklara, mindre utvecklingstid, fel etc och man superenkelt kan lägga till nya funktioner. Detta är ett stort orsak till varför programvarorna får fler funktioner utan att utvecklingskostnaden ökas, likaså varför systemkraven stiger.

Angående Alms lag så har jag aldrig motsagt mig att man kan kringgå denna för att lösa en specifik uppgift med ett specifikt givet resultat.

Mitt påstående som jag inte har något belägg för är att jag tror att programvarorna och användaren kommer utföra allt fler parallella uppgifter på datorn samtidigt. Det enda jag grundar på detta påstående är att se hur utvecklingen har gått de senaste 50åren och anta att den kommer att fortsätta åt samma håll. Molnet är dock något som helt kan ändra detta.

Permalänk
Medlem
Skrivet av anon159643:

Mitt påstående som jag inte har något belägg för är att jag tror att programvarorna och användaren kommer utföra allt fler parallella uppgifter på datorn samtidigt.

Jag skulle vilja påstå att det är precis tvärt om. På den gamla goda tiden körde många användare på varje dator, och de flesta körde flera program samtidigt. Sedan kom "hobby" datorer, med enanvändaroperativsystem.

Men mängden samtidiga saker man kör på en dator har inte direkt ökat sedan jag började använda PC:s 1992 iaf. Flera skärmar var ju rätt standard redan då, min sparcstation hade fyra t.ex (om än lägre upplösning, jag hade 1152x864 * 2 och 1280x1024 * 2), och man hade sitt kom, chat, emacs, xterm x 10 etc igång redan då. Jag skulle vilja påstå att det är rätt få program som tillkommit, en webbrowser eller två och spotify för min del.

Redan 94 hade vi en dator med några hundra cores på skolan (om än fyrabittars transputer-liknande saker), och vi läste parallellisering. Ditt prat om frameworks indikerar att du inte är vad som på den tiden kalledes för "datavetare", utan snarare en "systemvetare". Så jag kan se att perspektivet är rätt annorlunda.

Personligen anser jag att "frameworks" i princip alltid slöar ner utvecklande förutom kanske vid webbapplikationer (klient-side, server-side vill jag helst inte ha ett gigantiskt framework att slåss mot). Ungefär som moden inom utvecklingsmetodiker, waterfall, xp etc, så påverkar det egentligen inte hur program blir skrivna. Förutom att om man använder ett framework kan man göra samma sak med 10% mindre kod och 10x större och långsammare resultat.

Permalänk
Inaktiv
Skrivet av cardeci:

. Ditt prat om frameworks indikerar att du inte är vad som på den tiden kalledes för "utvecklare", utan snarare en "systemvetare". Så jag kan se att perspektivet är rätt annorlunda.

Jobbar mycket med offentliga upphandlingar där vi har krav att använda vissa ramverk som både består av massa programkomponenter och byråkratiska regler.

Skrivet av cardeci:

Personligen anser jag att frameworks i princip alltid slöar ner utvecklande förutom kanske vid webbapplikationer (klient-side, server-side vill jag helst inte ha ett gigantiskt framework att slåss mot)

Ja jag har aldrig använt ett ramverk/framework som är perfekt. (dock bättre än vad jag skulle åstadkomma)
Men allt handlar nästan om ekonomi idag, där det gäller att på så kort tid göra det som göras ska. Om lösningen då genom att fuska kräver lite snabbare dator, så kan lätt motiveras med att utvecklingskostnaden sjunker med några miljoner istället. -Har man uppgifter som är väldigt snarlika varandra kan man spara mycket tid och jag kodar skräddarskydda applikationer för olika system.
En annan sak är att de vill ha en enhetlig lösning, har två personer från helst skilda företag gjort olika saker så vill de tvinga oss att göra ett så snarlikt gränssnitt som möjligt.

Permalänk
Medlem
Skrivet av anon159643:

Jobbar mycket med offentliga upphandlingar där vi har krav att använda vissa ramverk som både består av massa programkomponenter och byråkratiska regler.

Mjo, allt för att göra saker dyrare, och långsammare.

Jag jobbar med att utveckla system vi har skrivit från scratch, som kör på ett kluster med tusentals datorer (och ungefär 120k cores).

För oss är prestanda helt klart mycket viktigare, men även utvecklingstid.

Vi skrev (eller, på det tiden var det jag och en utvecklare för klient) systemet (Opera Mini) på under två månader, driftade det nån vecka senare med TV2-releasen i norge, och skalade sedan till ~300M användare utan att egentligen ändra grunderna i systemet (eller, ja, vi bytte storage-system (egenskrivna, så klart) tre gången det första året, men sedan dess har det varit skalbart nog om än med lite hackande).

Och vi har inte använt några "frameworks". Den totala dependencylistan vid kompilering är ganska precis opera+pike (eller, ja, de är med i byggträdet, men..), libjpegturbo, libnettle och libgmp.

F.ö: Om vi får ner cpu-förbrukningen med 10% betalar det hela utvecklingsavdelningen i tre år. Per år.

Permalänk
Inaktiv
Skrivet av cardeci:

Grymt ! Vi sysslar med helt skilda saker och jag tillhör nog mer systemutvecklare som du nämnde.
Jag skulle gärna bli en riktig utvecklare, men har ej den kompetensen och kommer ej hellre få den.

Gör man som ni får man såklart betydligt bättre resultat, tveksam om sådan lösning skulle vara något för mitt område. (scadasystem från 5 till 50 miljoner i större fabriker, trafiknät m.m, där olika aktörer ska kunna gå in och pilla direkt i systemet för de har kännedom om verktygen)

Permalänk
Medlem
Skrivet av cardeci:

Jag läste klart DV för.. 20 år sedan ungefär. Och, ja, olika språk gör olika saker _olika enkla_. Jag har skrivit kompilatorer. Jag har skrivit intepretatorer. Jag har skrivit "frameworks". Och typ fem olika lispar (om man räknar javascriptmotorer som en lisp, vilket det ju är).

I grunden är allt maskinkod. Så länge ditt språk är turingkomplett (bonus: och har access till de grundläggande primitiverna i OS:et) så kan du skriva _exakt vad som helst_ i det. Det är en av grunderna i datavetenskap.

Ja, i grunden är allt maskinkod men jag håller inte med dig om att "språket inte är relevant" i frågan. Ja det finns teoretiska begränsningar vad det gäller problem som inte går att dela upp och parallellisera och så vidare, men språket kan underlätta enormt vad gäller att säkerställa determinism i parallella program vilket också är en faktor att betrakta när man talar om massiva SMP system.

Permalänk
Medlem
Skrivet av Eson:

Beror på om problemet är lämpligt för parallella beräkningar. Tex 9st mammor föder inte ett barn på 1 månad.

Antyder du att problemet beror på att kvinnor är dåliga på att samarbeta?