(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Is het niet makkelijker om verschillende pc's te plaatsen die specifiek/optimaal geschikt zijn om hun ding te doen?
in ieder geval al mercikluyze schreef op zondag 13 januari 2008 @ 18:53:
Je moet eens googlelen naar 'cluster software' of iets dergelijks, is het eigenlijk de bedoeling dat dit windows pc's worden? Het is namelijk veel makkelijker volgens mij om dit op linux te doen. Maar of het helemaal aan jou eisen gaat voldoen weet ik niet.
Is het niet makkelijker om verschillende pc's te plaatsen die specifiek/optimaal geschikt zijn om hun ding te doen?
het worden inderdaad windows pc's, en als ik apparte pc's moet gaan plaatsen voor al m'n eisen dan zal het een zware en dure pc worden
ik wou gewoon het eens proberen met wat oudere pc's, ik heb alles wat ik nodig heb hier thuis, het is allemaal materiaal dat nog werkt, dus ik dacht laten we eens iets proberen. want alleen de zwaarste pc's worden effectief gebruikt, daarom wou ik dit eens doen met wat oudere en luchtere pc's
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Wat ik begrepen hebt gaat videobewerken en spellen niet echt werken t.a.v. snelheid, de programma's zijn gemaakt om berekeningen uit te voeren.
Een game die op internet bezig is en op de 2e en 3e en 4e pc van je thuis zal dus zeer langzaam zijn.
je krijgt dus ook niet een verdubbeling indien je 2 dezelfde pc's hebt.
Het overnemen van schermen is in het geval van gamen zeker niet te doen. Als de software al DirectX ondersteund, gaat dat alsnog erg traag. Voor beeldbewerking kun je er misschien mee wegkomen als je een paar filmpjes aan het recoden bent, dat is nog wel te doen. Maar anders kun je het wel vergeten.
En met pcanywhere kan je ook als je op vakantie bent je pcs aan het werk zetten, of als je bij een maat bent kan je zo even je pc's van nieuwe videobewerking opdrachten voorzien.
@hierboven
Videobewerking kan je heel goed parallel bewerken, videobestanden kan je meestal heel makkelijk opsplitsen en samenvoegen, games gaan inderdaad nooit werken via een cluster.
En dan hebben we het wel over flinke bewerkingen anders is het niet efficiënt genoeg, om het dan helemaal op te splitsen en verdelen over de clusters en dan weer samenvoegen, want dat zou meer cpu tijd kosten dan de videobewerking zelf uit te voeren op 1 pc.
[ Voor 28% gewijzigd door mad_max234 op 13-01-2008 19:17 ]
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
het idee daarachter is eigenlijk hetzelfde als de seti@home projecten. het gaat er dan om dat je een vrij constante hoge load naar de clients kunt sturen wil het enig nut hebben. voor wat jij wilt is er geen software die automatisch je taken verdeelt over verschillende pc's ( video bewerken of zo) dat gaat immers al mis als je bijvoorbeeld een dualcore pc hebt en photoshop er toch nog maar 1 van gebruikt)
de software of de kernels zouden er voor geschreven moeten zijn, dat kan dus wel bij linux, maar voor windows heb je dat volgens mij niet.
tenminste niet voor betaalbare prijzen.
jou soort van werken is dus ook niet geschikt iervoor.
voor jou is het handiger om zoals al voorgesteld is de pc gewoon over te nemen en gewoon handmatig taken te geven. gewoon bureaublad overnemen is al voldoende. wellicht wil je nog wel eens kijken naar thin clients, dan zou je misschen van de lichte machines nog stations kunnen maken die samen 1 krachtige pc gebruiken, of dat je wellicht dmv clustring of loadbalancing 2 krachtige pc hiervoor kunt gaan gebruiken.
bij jou betekent dat dan echter dat je dus die systemen moet aanschaffen, omdat de krachtige systemen die je nu hebt al worden gebruikt.
wil je die toch als server inzetten dan is het voor de gebruikers van de clients natiuurlijk een achteruitgang voor wat betreft de beleving van de programma's en zo.
Ja dat kan maar niet met games, wel met dingen die goed parallel berekent kunnen worden, maar dat is niet zo makkelijk en er is na mijn weten geen kan en klare windows oplossing. je zal dus voor jou taken iets moeten ontwikkel op een linux platform. Ik ben er niet zo in thuis, maar vind het wel erg interessant.pm1 schreef op zondag 13 januari 2008 @ 19:26:
het is zo wat de bedoeling dat het werk dat ik ze stuur een beetje spreiden zodat het sneller gaat
En hou er rekening mee dat er ook (veel) pc kracht verloren gaat in het manage van de cluster, en zeker als je het niet optimaal optimaliseert.
en om genoeg data over te kunnen sturen zou je dan minstens met fibre nics moeten gaan werken denk ik. wat het geheel een beetje duur maakt.
Together let us beat this ample field, Try what the open, what the covert yield.
het gaat hem dan ook alleen maar om een proefprojectje heHubert schreef op zondag 13 januari 2008 @ 19:35:
en zoals men je dus uitlegt hier gaat dat niet werken. cluster software is daar niet voor bedoeld.
en om genoeg data over te kunnen sturen zou je dan minstens met fibre nics moeten gaan werken denk ik. wat het geheel een beetje duur maakt.
nieuw voorstel misschien want ik heb al gemerkt dat renderen heel veel proccessorkracht vergt en soms heel lang kan duren.
zou je door bijvoorbeeld met de servers die ik zou bouwen de druk op die ene pc wat te verlichten en het proces sneller laten verlopen
ik zal een voorbeeld geven, mijn zus haar pc een 3 GHz (HT) 1024 MB RAM(nog voor de core 2 duo's bestonden) heeft 5 uur aan een tekening zitten renderen in VIZ 2006 met cpu @ full load
zou ik dit dan wat kunnen versnellen
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
zoals seti@home prjecten, maar elke keer je muisbeweging naar een andere pc sturen om daar het effect ervan op je positie te berekenen en dan een andere pc weer het nieuwe beeld te laten maken is natuurlijk niet erg slim.
en verder weet een cluster , als je dat zou hebben niet automatisch dat je een film bewerking doet die wel op een andere pc mag, of dat het bijvoorbeeld een geluid of beeld is dat je net op youtube zit te bekijken. dus dan loopt het nite meer paralel, dat heb je al met terminal servers. bijvoorbeeld. loopt het niet meer synchroon.
ik meende met iets als maya, maar kan ook in de war zijn. kijk anders even op sites van dat soort studios. misschien dat er dar informatie is te vinden, of google er eens op.
Dat dus! Voor rekenintensieve taken die weinig bandbreedte vragen kan dit goed, maar voor dingen als een game kan je het simpelweg vergeten omdat je netwerkconnectie de video-output nooit aan zal kunnen.Wilko schreef op zondag 13 januari 2008 @ 18:58:
Vergeet het maar. Zulke constructies kunnen wel werken voor bepaald rekenintensief werk (video renderen bv) maar voor alledaags gebruik gaat het niet lukken.
Ik neem aan dat je dit "voor de lol" doet, want meerdere oude PC's aanzetten i.p.v. 1 nieuwe kost aanzienlijk meer stroom!
Maar eerlijk gezegd lees ik hier een stel antwoorden die heel ver van de waarheid staan. Ten eerste is een active-active cluster bedoeld om taken te verwerken die niet van elkaar afhankelijk zijn. Dat je dus op node A lekker geil zit te internetten en op node B je videobewerking laat uitvoeren (indien de clustersoftware zit zou snappen), heeft op geen van beide taken ook maar enige invloed. Helaas is het zo dat clustering avant-la-lettre eigenlijk vereist dat n nodes bijna identitiek zijn uitgevoerd en voor failover tegen een gedeelde resource moeten babbelen zoals een SAN.
Goed aangezien dat niet kan met verschillende machines van de topicstarter, zou je aan NLB kunnen denken. Daarbij wordt de aanvraag voor een functie afgehandeld door machine A of machine B. De installaties van beide machines is dus gelijk en afhankelijk van bepaalde parameters zal machine A 2 requests afhandelen in de tijd dat machine B er 3 kan doen ofzo.
Parellel computing en dergelijke met asexuele machines (dus met volledig verschillende configuraties) is eigenlijk alleen echt goed mogelijk met gespecialiseerde software (denk aan 3DS Max die rendering kan verdelen) of met Linux-distro's (ik kan me nog iets herinneren als Beowulf; sorry als ik dat verkeerd heb).
Oftewel; wil je onder Windows meerdere machines inzetten om bepaalde taken samen af te handelen, dan ben je heeeeel erg beperkt qua software (zowel OS als applicaties) en erg afhankelijk van hardware (om te voldoen aan bepaalde OS/applicatie-specificaties).
@engelbertus: sorry, maar wtf heeft een terminal server te maken met het topic tot nu toe?
Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof
MAX3400 schreef op zondag 13 januari 2008 @ 20:09:
Voor de mensen die wel weten wat een cluster is en wat NLB is: voel je niet aangesproken.
Maar eerlijk gezegd lees ik hier een stel antwoorden die heel ver van de waarheid staan. Ten eerste is een active-active cluster bedoeld om taken te verwerken die niet van elkaar afhankelijk zijn. Dat je dus op node A lekker geil zit te internetten en op node B je videobewerking laat uitvoeren (indien de clustersoftware zit zou snappen), heeft op geen van beide taken ook maar enige invloed. Helaas is het zo dat clustering avant-la-lettre eigenlijk vereist dat n nodes bijna identitiek zijn uitgevoerd en voor failover tegen een gedeelde resource moeten babbelen zoals een SAN.
Goed aangezien dat niet kan met verschillende machines van de topicstarter, zou je aan NLB kunnen denken. Daarbij wordt de aanvraag voor een functie afgehandeld door machine A of machine B. De installaties van beide machines is dus gelijk en afhankelijk van bepaalde parameters zal machine A 2 requests afhandelen in de tijd dat machine B er 3 kan doen ofzo.
Parellel computing en dergelijke met asexuele machines (dus met volledig verschillende configuraties) is eigenlijk alleen echt goed mogelijk met gespecialiseerde software (denk aan 3DS Max die rendering kan verdelen) of met Linux-distro's (ik kan me nog iets herinneren als Beowulf; sorry als ik dat verkeerd heb).
Oftewel; wil je onder Windows meerdere machines inzetten om bepaalde taken samen af te handelen, dan ben je heeeeel erg beperkt qua software (zowel OS als applicaties) en erg afhankelijk van hardware (om te voldoen aan bepaalde OS/applicatie-specificaties).
@engelbertus: sorry, maar wtf heeft een terminal server te maken met het topic tot nu toe?
kan ik dan bijvoorbeeld vanaf mijn windows pc de taken laten verdelen naar de linux "servers" ?
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Ja, mits je een pakket gebruikt wat onder Windows instructies kan aanmaken en wat door een Linux-doos weer gegeten kan worden. Je kan niet tegen (ik noem even wat) Windows Movie Maker zeggen "regel jij het lijmen van de film ff op die linux-doos" want dat gaat niet werken.pm1 schreef op zondag 13 januari 2008 @ 20:13:
[...]
bedankt dat is duidelijk
![]()
kan ik dan bijvoorbeeld vanaf mijn windows pc de taken laten verdelen naar de linux "servers" ?
*edit*
Zie net dat ik wat vergeten/incorrect: clustering met active-active of active-passive, kan wel zo zijn dat de machines andere taken uitvoeren maar dusdanig zijn ingericht/aangekocht dat de software eenvoudig de taken kan overdragen aan de buurman indien de machine uitvalt. Je kan taken dus onafhankelijk van elkaar laten uitvoeren maar in het algemeen is een cluster bedoeld om 1 of meerdere taken op elke willekeurige node te laten uitvoeren.
Kan nog wel een half uur doorgaan maar voor de mensen die meer willen lezen/weten: Microsoft Technet is een ideale resource om redelijk leesbare documenten te vinden over wat Microsoft verstaat onder clustering, NLB's en hoe/wat/wanneer kan.
[ Voor 40% gewijzigd door MAX3400 op 13-01-2008 20:22 ]
Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof
Verwijderd
Je bottle neck gaat je netwerk worden, wil je er optimaal gebruik van maken (met veel units) ga je al snel richting fiber optic
Fiber optic? Dat scheelt "maar" een factor 4 in burst-mode ten opzichte van het veeel goedkopere Gbit. Ik zie sowieso geen nut om fiber aan te leggen als je clients redelijk verouderd zijn en, zoals te lezen is, over 1GHz beschikken. Afhankelijk van hoeveel snelheid er in het netwerk beschikbaar moet zijn, vermoed ik dat je zelfs met 100Mbit uit de voeten kan.Verwijderd schreef op maandag 14 januari 2008 @ 23:13:
Speel eens met Parallel-Knoppix, echte toepassingen heb ik nog niet gevonden maar werken doet het zeer zeker.
Je bottle neck gaat je netwerk worden, wil je er optimaal gebruik van maken (met veel units) ga je al snel richting fiber optic
De bottleneck is in dit topic waarschijnlijk het RAM-geheugen en de oudere HDD's die erin hangen; de rest kan het allemaal wel aan.
[ Voor 8% gewijzigd door MAX3400 op 14-01-2008 23:19 ]
Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof
verder bvedpoelde ik dus ook dat er met windows eigenlijk bijna geen software is die overweg kan met het zelf verdelen van taken over meerdere machines, en gaf ik gaf verder aan dat veel software niet eens overweg kanmet het zelf verdelen van taken over meerdere processors in een simpele pc, of dual core processor.
een bepaalde taak of instantie van een niet speciaal aangepast programma draait dan volledig op 1 core.
zoals je zelf ook zegt kan 3dsmaxx bjvoorbeeld wel zoeits zelf verdelen, maar dan is dat ook bijna het enige pakkeet waarmee de topicstarter zou kunnen experimenteren.
verder kun je niet op 1 werkstation gaan zitten werken op een manier waarop de taken transparant op de achtergrond worden verdeeld over verschillende clusters.
met clusterserver van windows misschien wel, maar dat gaat volgensmij alleen voor client server toepassingen. waarbij je verschillende terminal servers in een sluster kunt zetten die dan aan loadbalancing gaan doen. in hoeverre de taken van 1 client dan nog worden verdeeld weet ik niet, maar ik gok dat die alsnog gekoppeld wordt aan het communiceren met 1 van de servers in de cluster.
daarom gaf ik verder aan dat het niet veelk zin heeft een cluster te maken van de langzame machines omdat het werken dan trager gaat dan wanneer je het werk op de krachtige clients gaat doen. de krachtige clients in een cluster zetten en dan de langzamere clients gaan gebruiken om te werken op het cluster kan maar levert waarschijnlijk niet zon goeie performance op voor mutimedia zaken, omdat je dan afhankelijk bent van de hardware op de lngzamere clients voor de weergave.
ik gaf dus verder aan dat filmstudios met specal effects vaak wel taken van het maken van een film uitbesteden aan specifieke clusters voor bijvoorbeeld renderwerk. maar alsnog gebruik maken van krachtige werkstations om te modeleren etc. omdt gewoon het hetactieve werken, alswel het door de pc laten uitwerken van de films een erg rekenntensieve bezigheid is, war je behoorlijk op gaat zitten wachten als je dat op 1 machine wilt laten doen. in dat geval geld dus dat als je twee keer zoveel machines in het cluster hebt, het werk ook twee keer zo snel gedaan wordt.
bij wat de topicstarter wil zijn de opdrachten zo uiteenlopend, en in mijn ogen niet intensief genoeg om te verdelen over meerdere computers om rendabel te zijn tegenover de extra zaken en datatransfers die nodig zijnom alles in goede banen te leiden.
het windows operatingsysteem is daar niet op gebaseerd, terwijl dat met linux vanaf de kernel kan worden geregeld.
loadbaancing op een cluster servers wrdt vaak gedaan bij client server zaken waarbij elke client aanvraag gewoon appart naar 1 van de servers jan worden verwezen, waarbij elke taak slechts een fractie voorstelt van het antal taken dat verdeeld kan worden dus veel "hits"of aanvragen op een webserver, dataserver, of mailserver, etc.
de taken die de topic starter voor ogen heeft zijnn verhouding te weinig en t everschillend om makkelijk door de software te laten verdelen, en dit handmatig aan een pc toewijzen is nauwelijks nog een cluster te noemen, en komt heel erg in de buurt van "bureaublad overnemen"dat elke windows pc voor je kan doen.
niet dat ik er nu zoveel van weet maar zonder echte infrastrucxtuur voor zon project, een stevige noodzaak om taken te verdelen en applicaties die dit ook echt kunnen heeft het opzetten van een cluster weinig meerwaarde dan het leeraspect van het project
blijkbaar heb jij er veel meer verstand van, maar ik kannou niet echt zeggen dat je de topic starter hebt geholpen om een beeld te vormen van de mogelijkheden, zin en onzin van het al of niet opzetten van een cluster, en uiteindelijk slechts verwijst naar een linux distributie waarvan je niet zegt wat het nu feitelijk zal doen, terwijl je blijkbaar wel kennis hebt van wat het gaat doen. je legt immers wel uit over active pasive etc. maar het nut van die uitleg gaat niet verder dan de conclusie dat een cluster uit dezelfde servers moet bestaan om er voor te zorgen dat de cluster zinvol beheerd kan worden( er moet immer voorspeld worden wanneer welke node gebruikt wordt en wanneer, en voor welke taken een cluster de beste papieren heeft. dit gebeurt volgens mij nog steeds niet op een fuzzy logic manier waarbij de custer controler of hoe dat ook mag werken leert wat welke machine aan kan. dat bedoel ik dus verder ook met dat de cluster niet zelf kan bedenken hoe hij het bewerken van een film moet gaan verdelen over verschillende nodes als de cluster ook on dmeand vrij geschakeld moet kunnen wordenom de beste machine voor het bekijken van een filmpje op youtube ingezet te worden..
voor de topicstarter is het wellicht interesanter een zijn netwerk op een bedrijsmatige manier in te richten met bijvoorbeeld een san, ad server etcetera, als het gaat om leerstof eigen maken al of niet voor het plezier daarvan, dan zou wel nog steeds slechts het netwerk efficienter benut kunnen worden.
wellicht is het zinvol om dan alleen naar virtualisatie te kijken om toch een aantal nodes te kunnen maken die gelijkwaardg zijn, door op zware machines meer instanties te laten draaien danop een lichter uitgevoerde machin, om loadbalancing beter mogelijk te maken.
het opzetten van een cluster in de omgevingvan de topicstarter is in mijnogen bedoeld om de ervaring van het werken met de werkstations pretiger en beter te maken, en de zaken die de gebruikerservaring op een werkstation negatief kunnen beinvloeden zoas het eigenlijke rekenwerk op de achtergrond die er voor zorgt dat je muziek niet wordt afgespeeldop het goeie moment op een lichte machine, of dat een download je videoperformance in de vernieling helpt. of wat dan ook, op een andermachine te laten uitveren. dat effect zal niet behaald worden bij het gebruik van virtualisatie ofclusterig in de situatie van de topicstarter, deze zal eerder verslechteren in mijn optiek.
de linuxdistro waar je naar verwijst is echter wel een leuk speledingetje om toch te kijen wat j emet je hardware nog kunt doen, enje de materie van clustering eigen te maken en het effect ervan kunt inschatten voor verschillende situaties.
een echte cluster hakt er mijns inziens nogal in. op het gebied van os. en dat kun je niet met windows even gaan doen. met linux kun je op kernel nivo de taken al gaan scheiden en gewoon vertellen dat een bepaald soort berekening op een bepaalde node wordt gedaan, etc. verdeeld kan worden of just op 1 node moet blijven, hoe van het geheugen gebruik gemaakt kan worden ( dus of pc 1 geheugen uit pc kan aanspreken bijvoorbeeld) hierbij fungeert de cluster als1 virtuele pc met bijvoorbeeld al het geheugen van de nodes samen als 1 virtueel gehuegen.er wordt dan niet geswapped , meaar gegevens in het geheugen van een ander "pc" opgeslagen. hierbij moet je dus eerder denken aan speciale moederbordenwaarop de nodes als processors zijn gebprikt, en het gehuegen op andere borden is geplaatst, de opslag gebeurt op een nas systeem etc.waardoor erniet meer sprake is van samenwerkende pc's maar een zwerm beschikbare resources die naar gelieve kunnen worden aangesproken.
En dat is het dan eigenlijk ook; ik ben een Windows-man en werk dagelijks met multi-node clusters en NLB's en zoals ik terecht aangaf weet ik niet eens meer of dat stukje Linux-software daadwerkelijk Beowulf heette, laat staan of het nog gebruikt wordt. Desondanks is Windows (al dan niet in combinatie met shared storage) helemaal geen gek idee voor clustering of NLB (let op: NLB kan wel worden toegepast op een cluster maar een cluster is geen verplichting voor het inrichten van een NLB-setup).
Wat ik wel even wil verduidelijken of corrigeren is dat middels abstracte protocollen zoals NLB je toch echt zwakke en sterke machines aan elkaar kan knopen waardoor een request van een client wordt verwezen naar de machine die op dat moment "het minste te doen heeft" afhankelijk van bepaalde criteria. Dat wil dus niet per definitie zeggen dat dat de handigste keuze is maar NLB is eenvoudigweg niet geschikt voor het eerlijk verdelen van taken.
Feit is: topicstarter heeft een aantal clients die eigenlijk niet voldoen voor Windows-installaties tenzij de taakverwerking geen deadline heeft (gezien de CPU-power) en de machines niet regelmatig een reboot moeten ondervinden. Dan zou je met Server 2003 Enterprise best een mooi NLB of cluster opstelling kunnen maken. Logischerwijs zou ik, in een dergelijke situatie, geen flauw idee hebben of Linux hier anders/beter voor geschikt is. Misschien is de footprint voor het OS kleiner maar misschien is de taakverwerking langer (gemeten in CPU tijd ofzo).
*kleine aanpassing*
VMWare is natuurlijk een briljante oplossing mits de host voldoende power heeft. Op de gemiddelde huis-tuin-keuken Dell van 1000 Euro kan je, met enige beperkingen, 3 tot 4 XP-machines virtualiseren of (binnen bepaalde marges) 2 of 3 Win2K3-machines. De grootste beperking is en blijft dan de hardware van de "host" die niet alleen zijn eigen OS moet handhaven maar ook nog eens overhead voor VMWare-processen en dan ook nog alle virtuele machines.
[ Voor 13% gewijzigd door MAX3400 op 15-01-2008 09:41 ]
Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof
Verwijderd
Het gaat er hier juist om, om minder snelle machines samen het werk van één dikke machine te laten doen.
Efficient wordt het natuurlijk nooit en kun je beter één of twee hele snelle machines nemen, maar als hobby-projectje kan het erg leuk zijn om te doen.
Windows heeft standaard geen distributed computing componenten. Of Linux deze wel heeft, weet ik niet...
Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?
Voor het uitvoeren van meerdere totaal losstaande taken kun je beter gewoon één PC (de snelste) gebruiken voor games en voor beheer van de rest, en de rest gewoon als headless servertjes laten draaien voor andere taken.
Denk dus aan een downloadbak, een bak die videos converteert/rendert, evt nog een mailserver etc. Draai naar keuze Windows of Linux of iets anders (ik draai op m'n losse bakken allemaal Linux met distro's die niet noodzakelijkerwijs een desktop installeren, in mijn geval Debian en Gentoo) en beheer ze via SSH (PuTTY is een goede client onder Windows).
* dion_b zit momenteel op het werk op een XP bak waar PuTTy een SSH verbinding regelt naar m'n router/server/downloadbak, waarvandaan een andere SSH verbinding naar m'n woonkamerbak gaat waar ik momenteel wat onderhoud op doe
Maar goed, dit gaat totaal niet over hardware maar over software. Ik gooi'm naar Non-Windows Operated Systems omdat OSkeuze nog niet vaststaat en er qua clustering met non-dedicated hardware veel meer non-Windows keuzes zijn. Mocht het alsnog puur de Windows kant op gaan, dan kan via een TR weer gemoved worden.
Oslik blyat! Oslik!
Dit artikel onderstreept dion_b's punt goed.
[ Voor 10% gewijzigd door Mr_gadget op 15-01-2008 10:57 ]
leuk projectjeMr_gadget schreef op dinsdag 15 januari 2008 @ 10:56:
Interessant stukje van de moderator Sprite_tm: http://spritesmods.com/?art=wtcluster Hij heeft een mini clustertje met AMD geode's gemaakt. Alleen met compileren was het nog trager dan zijn eigen 3000+![]()
Dit artikel onderstreept dion_b's punt goed.
ik ben van plan om de pc's die ik ga gebruiken uit te rusten met een aantal 100 MBit netwerkkaarten
allemaal nog een bedankt voor de
nu alleen alles nog omzetten in de praktijk
ik zal misschien nog even wat specs posten over de systemen die ik allemaal voor het project kan inzetten
een AMD 1010 MHz
waarschijnlijk 512 MB RAM (moet nog eens zoeken tussen m'n ramlatjes
dan nog eens bijna hetzelfde systeem
ik heb ook nog een intel celeron van 1,1 GHz staan met 265 MB RAM en 30 Gb HDD (die draait momenteel op XP-pro)
dan nog een intel P IV 1,6 GHz 265 MB Rimm 70 Gb HDD
en ik heb onlangs nog een moederbord met proc binnengekregen ik heb nog geen tijd gehad om hem te testen wegens exames
edit: ik heb wel geen licentie noch cd-rom van windows server, van ubuntu wel
[ Voor 3% gewijzigd door pm1 op 15-01-2008 11:30 ]
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
is veel directer dan een cluster.
>.< >.< >.< >.<
Het is dus wel mogelijk om single taken sneller uit te voeren, zolang de opdracht maar rekenintensief genoeg is, dat de working set (=basisgegevens van waaruit gerekend moet worden) en het resultaat klein genoeg zijn, en dat er zo weinig mogelijk afhankelijkheden zitten tussen het resultaat van 1 opdracht en een volgende working set.
dat is m'n petje te boven , ik mag al blij zijn dat we een beetje programmeren op school zienneedless to say schreef op dinsdag 15 januari 2008 @ 11:52:
[b]Als je je programma zelf schrijft kun je via RPC je verschillende pc's aanspreken om zo een rekenintensieve opdracht sneller te laten uitvoeren.[/b] Zo heb ik eens grote matrixvermigvuldigingen kunnen versnellen door het gelijktijdig te laten lopen op een Itanium1 en AMD Opteron( ik weet niet meer welke snelheid) met een gewoon gigabit netwerk.
Het is dus wel mogelijk om single taken sneller uit te voeren, zolang de opdracht maar rekenintensief genoeg is, dat de working set (=basisgegevens van waaruit gerekend moet worden) en het resultaat klein genoeg zijn, en dat er zo weinig mogelijk afhankelijkheden zitten tussen het resultaat van 1 opdracht en een volgende working set.
ik zoek de software die eigenlijk achter windows draait en die de taken die windows naar de proceesor stuurt om te verwerken verdeelt over de andere pc's als er te veel rekenwerk bij te pas komt.
het klinkt simpel maar er komt precies veel bij kijken
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Het is ook totaal niet simpel.....pm1 schreef op dinsdag 15 januari 2008 @ 12:46:
[...]
dat is m'n petje te boven , ik mag al blij zijn dat we een beetje programmeren op school zien![]()
ik zoek de software die eigenlijk achter windows draait en die de taken die windows naar de proceesor stuurt om te verwerken verdeelt over de andere pc's als er te veel rekenwerk bij te pas komt.
het klinkt simpel maar er komt precies veel bij kijken
Bij een pc is er een verbinding van meerdere GiB/s tussen processor en RAM. Met B2C commerciëel spul geraak je aan maximaal 1Gb/s voor een netwerk. En dan houd je nog geen rekening met het verhoogd aantal interrupts, latency, etc....
In optimale omstandigheden bij een gigabit-netwerk kan je een 100 MiB/s sturen. Stel dat je met een latency van 1 ms 1 MiB aan data wil verstueren naar een andere pc. Dit duurt dus in ideale omstandigheden maar 1ms + 10 ms = 11ms (bij gebruik van UDP, met TCP zal dit nog langer duren). Die pc moet nu alles berekenen en stuurt dan weer alles terug. Stel dat de oplossing weer 1 MiB is, dan kom je weer aan 11 ms. Zonder rekening te houden met de verwerkingstijd van die andere pc kom je dus al aan 22ms wachten. Jouw pc heeft een 1GHz-processor. Dit betekent 1.000 * 1.000 * 1.000 bewerkingen per seconde. In 22ms zijn dit 22.000.000 bewerkingen die de processor van de hoofdpc heeft uitgevoerd, gewoon tijdens de transmissie van data op een gigabit-netwerk. Dit in de veronderstelling dat jouw CPU maar 1 bewerking per kloktik doet en dat de verwerking op de andere pc geen tijd in beslag neemt. Dit is dus al het aantal bewerkingen dat je moet "inhalen" om een snelheidswinst te bekomen. Je ziet al snel dat je enkel winst kan halen bij zeer rekeninstensieve applicaties.
Om nog een andere moeilijkheid te bespreken: Bij een gewone singlecore CPU heb je maar 1 CPU die gegevens kan wijzigen. Bij het gebruik van meerdere pc's heb je ook meerdere pc's die gegevens gaan wijzigen. Je moet dus extra opletten dat de ene pc geen gegevens leest die de andere aan het schrijven is. Je programma moet in elk geval multi-threaded zijn.
bij mijn weten is het renderen van een 3D-tekening redelijk intensief zoals ik al zei ergens in de helft van het topicneedless to say schreef op dinsdag 15 januari 2008 @ 14:59:
[...]
Het is ook totaal niet simpel.....
Bij een pc is er een verbinding van meerdere GiB/s tussen processor en RAM. Met B2C commerciëel spul geraak je aan maximaal 1Gb/s voor een netwerk. En dan houd je nog geen rekening met het verhoogd aantal interrupts, latency, etc....
In optimale omstandigheden bij een gigabit-netwerk kan je een 100 MiB/s sturen. Stel dat je met een latency van 1 ms 1 MiB aan data wil verstueren naar een andere pc. Dit duurt dus in ideale omstandigheden maar 1ms + 10 ms = 11ms (bij gebruik van UDP, met TCP zal dit nog langer duren). Die pc moet nu alles berekenen en stuurt dan weer alles terug. Stel dat de oplossing weer 1 MiB is, dan kom je weer aan 11 ms. Zonder rekening te houden met de verwerkingstijd van die andere pc kom je dus al aan 22ms wachten. Jouw pc heeft een 1GHz-processor. Dit betekent 1.000 * 1.000 * 1.000 bewerkingen per seconde. In 22ms zijn dit 22.000.000 bewerkingen die de processor van de hoofdpc heeft uitgevoerd, gewoon tijdens de transmissie van data op een gigabit-netwerk. Dit in de veronderstelling dat jouw CPU maar 1 bewerking per kloktik doet en dat de verwerking op de andere pc geen tijd in beslag neemt. Dit is dus al het aantal bewerkingen dat je moet "inhalen" om een snelheidswinst te bekomen. Je ziet al snel dat je enkel winst kan halen bij zeer rekeninstensieve applicaties.
Om nog een andere moeilijkheid te bespreken: Bij een gewone singlecore CPU heb je maar 1 CPU die gegevens kan wijzigen. Bij het gebruik van meerdere pc's heb je ook meerdere pc's die gegevens gaan wijzigen. Je moet dus extra opletten dat de ene pc geen gegevens leest die de andere aan het schrijven is. Je programma moet in elk geval multi-threaded zijn.
edit: ik zou het dan eens willen proberen wet solid-edge en/of solid-works niet dat m'n zus geen VIZ meer nodig heeftpm1 schreef op zondag 13 januari 2008 @ 19:58:
ok schrap de games( alvast bedankt voor de vele reacties
)
[...]
het gaat hem dan ook alleen maar om een proefprojectje he![]()
nieuw voorstel misschien want ik heb al gemerkt dat renderen heel veel proccessorkracht vergt en soms heel lang kan duren.
zou je door bijvoorbeeld met de servers die ik zou bouwen de druk op die ene pc wat te verlichten en het proces sneller laten verlopen
ik zal een voorbeeld geven, mijn zus haar pc een 3 GHz (HT) 1024 MB RAM(nog voor de core 2 duo's bestonden) heeft 5 uur aan een tekening zitten renderen in VIZ 2006 met cpu @ full load
zou ik dit dan wat kunnen versnellen
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?
welk software moet ik dan draaien op de pc's om het zo te laten werken, en hoe moet ik dan alles gaan instellenThunderNet schreef op dinsdag 15 januari 2008 @ 15:55:
3D renderen zijn oplossingen voor, zoals ik al aangaf. Dit wordt namelijk door meerdere renderengines ondersteund om over het netwerk te doen.
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Dan moet je even in de handleiding van je renderer kijken.pm1 schreef op dinsdag 15 januari 2008 @ 15:56:
[...]
welk software moet ik dan draaien op de pc's om het zo te laten werken, en hoe moet ik dan alles gaan instellendaar draait het hele topic toch om
Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?
de overhead van het os en de footprint ervoor zou je met een ubuntu distributie kunnen oplossen. die heeft een speciale versie gemaakt om er alleen vmware op te tdraaien en voor het werken op de machine alleen virtuele machines te laten draaien. ( die dan weer bijvoorbeeld een normale linux of windows machine kan zijn.
deze distro is ook geoptimaliseerd voor gebruik met vmware . dus zou out of the box een beter prestatie realiseren voor een virtueel systeem dan een andere out of the box linux ( en windows?) instalatie als host os.
dat is ook inderdaad misschien wel een leuke uitdaging voor de TS. de windos die normaal gesproken op een desktop op de machine zelf verschijnen kun je zo laten verschijnen op een andere pc. de hele taak word en het hele programma wordt dan wel op die andere pc uitgevoerd, maar alleen het schermpje komt op de desktop waar je op dat moment achter zit te werken, als of het op je eigen machine draait. dit lijkt een beetje op bureaublad overnemen of terminal server, maar werkt toch heel anders, en maakt goed gebruik van de uitgebreide mogelijkheden die het x window system biedt.daft_dutch schreef op dinsdag 15 januari 2008 @ 11:30:
ik heb een X aantal jaren gelenden van 3 486 een desktopje samen geknoopt door gewoon. via ssh een commando uit te laten voeren en dat weer met X samen te binden.
is veel directer dan een cluster.
je moet dan wel nog zelf voor scheidsrechter spelen voor de beslissing op welke machine je een programma laat draaien, maar voor het renderen is dat wel acceptabel. als de opdracht 1 keer gegeven moet worden en vervolgens een paar uur bezig is. voor die "andere"machine" kun je misschien dan weer wel effectief een cluster of zoiets maken, als dat zinvol is ivm of programmas dit ondersteunen.
(\ _ /)
(='.'=)
(")_(")This is Bunny.
Copy and paste Bunny into your signature to help him gain world domination.
Niet echt maar gezien de capaciteit van die bakkies; Google eens op "povray cluster"... Is een 3D render pakket wat relatief licht is en voor zover ik weet bootable te clusteren is. Maar pin me er niet op vast.pm1 schreef op woensdag 16 januari 2008 @ 22:12:
ok kan er iemand mij nu eens concreet vertellen welke OS en welke software ik op de "clusters" moet zetten ??
Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof
niet zonder dat je eens duidelijk verteld wat die clusters moeten doenpm1 schreef op woensdag 16 januari 2008 @ 22:12:
ok kan er iemand mij nu eens concreet vertellen welke OS en welke software ik op de "clusters" moet zetten ??
Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?
Ik kan me niet voorstellen dat er onder linux niet iets vergelijkbaars is.
Overigens kan niemand je iets concreet vertellen. Een programma moet speciaal ontworpen zijn voor distributed werk. Als je programma's wil verdelen over meerdere PC's dan kan dat prima met een willekeurige unix/linux/bsd variant zonder veel moeite.
Maar dat is allemaal al een paar keer vermeld, je zal toch echt zelf een beetje moeten zoeken. Hier is bijvoorbeeld een howto om blender (3d-rendering) distributed te krijgen: http://www.blendernation....ue-manual-for-windows-xp/