Ny programvara oftast slöseri med resurser [delad, blåskärm]

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

TomasL skrev:Naturligtvis har du fel, samma har Glenn.
Enligt all tillgänglig statistik så säljs det mer PC-spel än konsolspel, och har gjort så de senast 5 åren, Konsolgaming är I en nedåtgående spiral, både gällande spel och hårdvara, medan PC-spel är uppåtgående.

Vore intressant att se den statistiken!
Och jag tänker även såhär: Det borde vara lättare att skriva kodeffektiva kompilatorer till SC-maskiner än till MC-maskiner för, rätta mig om jag har fel, alla instruktioner kan inte splittas hur som helst och därmed kan den fulla kapaciteten hos MC-maskiner ändå inte nyttjas fullt ut.
Nej varför det, varken lättare eller svårare att skriva 64 bitars jämfört med 32-bitars.
Bara för att ordlängden är längre blir det inte svårare, förmodligen lättare, eftersom man slipper hitta på en massa konstigheter när data är större än nativa ordlängden (vilket den ofta är I ett 32-bitars system, men kanske inte så ofta i ett 64-bitars system.
Här kan jag svära på att du har fel! Det handlar nämligen inte om ordlängd utan om huruvida instruktioner verkligen kan delas upp och köras parallellt för maximal nytta av MC-konceptet. Nu ska jag vara fräck i min okunskap men multipla kärnor (MC) har liksom med just multipla processorer helt enkelt att göra. Och konsten är att få dessa processorer att splitta instruktionerna så att de jobbar helt parallellt och därmed kan ge utdata motsvarande exakt M gånger snabbare än en SC-maskin. Och jag vill kategoriskt hävda att detta inte går fullt ut. Min naiva gissning är att generellt kan man kanske få ut en faktor 1,8 mer datahastighet (för DC, alltså).

Så jag vill alltjämt hävda att kompilatorerna blir svårare att designa för att nyttja MC-konceptet fullt ut. Och ju fler kärnor, desto svårare blir det!

Om inte annat så blir dom i alla fall onödigt komplicerade ;)

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

blueint skrev:En CPU som hanterar 64-bit kräver fler transistorer och därmed mer resurser att tillverka. Så det finns en merkostnad. Men frågan är hur stor den är egentligen.
Det här var en intressant synpunkt som jag faktiskt inte tänkt på.

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

TomasL skrev: Roger, det handlar inte om "Att det inte räcker till" utan snarare om hur lång tid det får lov att ta.
Om du skall göra en rörlig rendering (till en animation till exempel), och förväntar dig att du skall få ut 25fps, så duger inte 2 fps helt enkelt.
Så du menar att en enda frame är på 2GB?

Hur kan den vara så stor?

Är det för att bilden ska visas på bio-duk, eller?
Om du sitter och konstruerar och vill göra en stressanalys av det du konstruerat, så duger det inte att du får vänta till nästa dag för att se resultatet.
Det hela är väldigt enkelt, vi har andra krav nu än på 80/90-talet.
Jag har inte råd att låta mina konstruktörer sitta och "rulla tummarna" pg.a. att de har långsamma datorer med för lite minne.
Sitter du i något CAD-program och konstruerar, och har ett par tusen eller fler parts i din assembly, blir det helt enkelt inte arbetsbart om man inte har mycket med minne (dvs minst 8G helst 16-32G) och snabba flerkärniga processorer (dvs minst 4 kärnor med hastigheter över 3 GHz, gärna 4 eller över)
"Dina konstruktörer", du sitter alltså och jobbar i animeringsbranchen? Det skulle förklara varför du är så duktig på området. Trodde f.ö man inte animerade så mycket i Sverige.

Som en korkad anektdot tycker jag att datoranimeringar används alldeles för mycket på film. Det finns ingen riktig måtta på det för man animerar så mycket man kan helt enkelt för att man just kan. Många gånger tycker jag charmen med en film tom går förlorad när man animerar för mycket. Ta t.ex Starwars I. Efter dom fantastiskt charmiga "sista" tre filmerna så fick plötligt George Lucas möjlighet att använda datorer av kaliber. Vad hände? Jo, korkade scener som den där när det kommer en jättestor fisk simmandes efter farkosten ner till Jar-Jar Binks residens under sjön och den sedan blir uppäten av en ännu större fisk varvid Liam Neson/Obi Wan(?) säger "there's always a bigger fish" :D
Du vet hur mycket datakraft det gick åt för att rendera AVATAR, eller?
Nej, men jag har läst ditt svar och kommer med ytterligare kommentarer senare.
Beträffande hårddiskarna så adresseras med 48 bitars adresser, vilket begränsar storleken till 144 000 TB.
Du kan läsa om LBA på tillexempelvis vikipedia
Jag har aldrig fattat hur hårddiskar fungerar annat än att dom är magnetiska så det ska jag göra!

MVH/Roger
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av sodjan »

> Så jag vill alltjämt hävda att kompilatorerna blir svårare att designa för att nyttja MC-konceptet fullt ut.

Hela ditt resonemang bygger på att maskinen enbart ska utföra en sak (i taget).
Se snart den kör flera program/processer så räcker det att varje program
är "single threaded".

Sen så har det inte så mycket med kompilatorerna att göra, man använder helt
enkelt olika typer av "multi threading" bibliotek när man skriver programmen.
På en single CPU/single core maskin kommer det att fungera ungefär som
innan. Men på en multi code (eller en multi CPU/single core, vilket var
det vanliga under väldigt många år) så kommer operativsystemet att
fördela lasten mellan kärnorna (eller mellan CPU'erna).

Men visst, min 4 core laptop har normalt 2 cores som "Parkerad", men under
uppstarten av MPLAB X (NetBeans miljö för PIC processorer) så går alla
4 cores "i taket" under en liten tid.

Men visst är det intressant att jag har 4 x 2.4 GHz "i knät" medans vi kör
stor del av fabrikstödet med 100 användare och svarstider på några
millisekunder på en single CPU/single core 666 MHz maskin... :-)
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av sodjan »

När det gäller kompilatorer så finns det ett annat område där du har delvis rätt.
Det gäller VLIW http://en.wikipedia.org/wiki/Very_long_instruction_word och
EPIC http://en.wikipedia.org/wiki/Explicitly ... _computing där
förhoppningen var att kompilatorerna skulle bli mycket smartare och räkna ut rätt
kombination av instruktioner (d.v.s varje "bundle"). Nu visade det sig att det var
för svårt att skriva dessa kompilatorer så resultatet var att processorn fick köra
fler NOPs än vad som var tänkt från början. Intel Itanium är ett bra exempel
på en VLIW/EPIC arkitektur.

Rena RISC arkitekturer som t.ex Alpha gick dels att köra snabbare och hade
ofta en avancerad OOO (Out Of Order) logic för att själv välja i vilken
ordning de seriala instruktionerna skulle köras. Detta ställer också
lägre krav på kompilatorerna. Las ner av politiska orsaker (en del
i dealen när HP och Compaq gick ihop).
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

Sodjan, jag förstår inte mycket men är mycket villig att lära mig.

Hur funkar multitasking t.ex?

För mig är en CPU (oftast) en Von Neumann-maskin så hur ska den kunna utföra flera processer samtidigt?

Jag fattar inte, den gör ju per definition en instruktion i taget!

Sen tror jag mig förstå följande (Motorola Mnemonics):

LDA#$F0
värdet på bussen laddas direkt in i ackumulator A hos kärna #1
Denna sekvens tar ett antal cykler men "samtidigt" läses nästa instruktion in som pre-fetch till kärna #2, säg
ADD#$01
I dom båda kärnorna har vi då värdet för A i kärna #1 och värdet det ska adderas med i kärna #2
Gemensam(?) ALU ger sen summan ut på bussen

Jag är rätt långt ifrån verkligheten, va? :D

MVH/Roger
PS
Du har tydligen postat nåt trevligt medans jag skrev detta och jag småryser lite när du säger att jag har "delvis rätt"!
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

sodjan skrev:...medans vi kör
stor del av fabrikstödet med 100 användare och svarstider på några
millisekunder på en single CPU/single core 666 MHz maskin... :-)
Bara tvungen att citera det här :D

MVH/Roger
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av sodjan »

> Hur funkar multitasking t.ex?
> Jag fattar inte, den gör ju per definition en instruktion i taget!

Hur gör de som spelar 10 shackpartier samtidigt ("simultanchack")?
Man kan ju bara flytta en pjäs i taget!
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av sodjan »

> värdet på bussen laddas direkt in i ackumulator A hos kärna #1

Jag tror inte att det är normalt att man har den kontrollen över
kärnorna direkt från maskinkoden. Varje program upplever att det
körs ensamt i en single core maskin. Det är hårdvaran som
styr vilken core det hela hamnar i och det har i princip
ingen som helst betydelse för programmet. Det kan köras några
millisekunder i en core sedan i en annan o.s.v, det är helt upp
till processorn hur den allokerar sina resurser (d.v.s "cores").

En 4 core CPU är i princip 4 "datorer" som delar på en del saker
som minne, cache och själva kapseln som det hela sitter i. Men
för övrigt så körs varje program var för sig utan att ha en susning
om att det samtidigt körs ett annat program i en annan core...

> ...så hur ska den kunna utföra flera processer samtidigt?

En sådan fråga är helt meningslös utan en definition av "samtidigt".

Jag kan ta bilen till stan för ett besök hos Claes Olsson, och "samtidigt"
göra ett besök i Telia butiken. Man självklart är jag inte i båda
butikerna på samma gång...

Om en SC processor kör ett program i 10 millisekunder, sedan växlar till
ett annat program i 10 millisekunder och sedan tillbaka o.s.v, så kommer du
som sitter framför skärman att uppleva att de körs "samtidigt".
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

Aha :D

Så det är alltså "samma" fenomen som hos en CRT-TV, dvs bildmässigt blinkar den med 25Hz (50Hz interleaved) men det går så fort att man ser det inte.

Var det så enkelt, alltså? :D

Jag tycker du är underbar sodjan i dina förklaringar!

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

sodjan skrev: En 4 core CPU är i princip 4 "datorer" som delar på en del saker
som minne, cache och själva kapseln som det hela sitter i. Men
för övrigt så körs varje program var för sig utan att ha en susning
om att det samtidigt körs ett annat program i en annan core...
Men hur kan man då ha en gemensam bus?

MVH/Roger
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av sodjan »

Processorn har logik i hårdvaran för att fördela de gemensamma resurserna
(t.ex minnet, cache o.s.v) mellan de olika kärnorna. Inget direkt konstigt
egentligen, varje kärna "säger till" när den behöver läsa från minnet och
processorn ser till att den får sin andel av tillgängliga minnescykler.

Det är ju inte så enket som att varje kärna i en 4-kärning CPU får var
fjärde minnescykel. Om en kärna t.ex är upptagen med en division så
kanske de andra hinner med hundratals minnescykler under tiden.

Sen blir det lite mer komplext med cachen, det finns normalt extra
logik i hårdvaran för att detektera då en del av cachen har blivit
"gammal" så att det måste läses in igen från minnet. Flera olika program
som körs i olika kärnor kan ju delvis använda samma minne, och det
behöver styras upp så att det inte blir skit av det hela.

> Så det är alltså "samma" fenomen som hos en CRT-TV...

Ja, lite kanske. Eller som en gammal hederlig film, varje "bild" är ju i
princip en stillbild, men ändå så rör det på sig...

Men poängen är så klart att ingen kärna kan göra mer än en sak i taget
("samtidigt" om man vill det), men den kan hålla många bollar i luften
och växla mellan dom. Där kommer operativsystemet in i bilden, det är
ju det som ser till att processorn byter uppgift ("task" eller "process")
med lämpliga mellanrum.

SC eller MC har enbart med hur mycket kraft man vill att det ska
finnas att dela på.

Sen så är det en helt annan diskussion om all denna kraft faktiskt behövs.
Men det finns nog ingen rakt och entydig "sanning" i den frågan...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46943
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av TomasL »

RogerK skrev:"Dina konstruktörer", du sitter alltså och jobbar i animeringsbranchen? Det skulle förklara varför du är så duktig på området. Trodde f.ö man inte animerade så mycket i Sverige.
Onej, vi håller på med mekanisk konstruktion och elektronikkonstruktion, men, vi vill ju gärna veta hur produkterna kommer att se ut i verkligheten när vi konstruerar, dessutom är det rätt kostnadseffektivt att har broschyrmaterial med foton färdigt innan produkten börjar tillverkas.
Fotona kommer naturligtvis från de renderade cad-modellerna.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Spisblinkaren »

f-n TomasL, sover du aldrig ;)

MVH/Roger
PS
Själv har jag bara 3st 2.8:or kvar :D
Användarvisningsbild
Glenn
Inlägg: 36661
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Ny programvara oftast slöseri med resurser [delad, blåsk

Inlägg av Glenn »

TomasL skrev:Nej exakt, men glenn skrev ju 20 år innan intel kom med sin 64- bitars, och eftersom den kom 2001, så måste han menat 1981 för MIPS och SPARCarna mfl, vilket jag inte riktigt tror på.
Vilken x86-kompatibel 64bits arkitektur syftar du på då ? ..för det var ju det jag skrev (men du kanske missade det, eller ignorerade ?), det är också x86 som suttit i arbetsstationer vad det gäller intel, även om man gjort lite misslyckade försök med titanic..itanium, vilket jag antar du syftar på iom 2001, men där egentligen bara fått till det på servrar, och det har ju också gått ganska uselt marknadsmässigt.

Både SGI och Sun körde 64bit i arbetsstationer i mitten av 90-talet, och i servrar innan det.

Angående anledningar till 64bit så var det mycket att kunna ge enskilda processer mer än 4G minne, nu var ju 4G RAM enorma mängder minne på den tiden, men man kan ju alltid swappa, jag vet att folk körde simulationer hos oss som kunde käka över 16G RAM, en maskin hade fyra stycken 4G widescsidiskar som enbart användes som swap, plus 8G RAM internt eller nåt (som dessutom bestod av mängder med 128M moduler om jag minns rätt hehe)
Skriv svar