Windows 7 rendszerű rendszerek számítási teljesítményének összefogása/megosztása

Sziasztok!

Egy olyan feladatba futottam bele, amihez még nem volt szerencsém.
Adott egy cég, -egy alhálózaton lévő desktop PC-k-, Windows7 OS-el.
A 3D grafikus renderelési idejét lenne fontos felgyorsítani, hardverbővítés nélkül.

A kérdésem, hogy létezik-e olyan szoftver, vagy megoldás, amivel egy pc
egy, vagy több pc szabadidős (rész)számítási teljesítményét tudja igénybe venni?

Az ötlet abból eredt, hogy elég erős, -desktop szinten- irodai pc-k
kempingeznek egész nap, mert az email, és a táblázatkezelők nem terhelik le eléggé,
viszont a tartalék ott lenne bennük.

Hozzászólások

A renderelő szoftver rendelkezik ilyen képesség támogatásával?
Ha nem, hogyan vennéd igénybe? Vagy olyat képzelsz el, ami az alkalmazásréteg számára 1 sokprocesszoros gépet mutat sok kevésprocesszoros helyett? Ez utóbbiról még nem hallottam.

Üdv,
Marci

Ha jól tudom 3DSMaxról van szó, de sajnos csak ennyit tudok egyelőre.
Valahogy úgy képzelném, hogy valami egyszerű programok a slave gépeken,
amik jelzik a 'master'-nek, ha a cpu load egy érték alatt van, és
biztosítanak neki számítási teljesítményt, etherneten küldik-kapják
a 'házi feladatot'.
Nagy vonalakban valami ilyesmit tudok elképzelni.

Nekem elég abszurd ez az egész. Csak tanácsot kértek, de még nem hallottam hasonlóról.
Ha nekem lenne a feladatom ezt megoldani, vennék egy szervert, -vagy ha van virtualizálnék-, számolgasson az, vagy fejleszteném a jelenleg renderelésre használt gépet.

Üdv, Józsi

Igen, de mivel akarsz renderelni? Mit akarsz csinálni? A kérdésed nem pontos.

Valóban nem pontos, mert egyelőre ennyi információt kaptam.
Ha jól rémlik, 3DSMax a használt program, hétvégén tudok majd bővebbet.
Egyelőre általánosságban annyi lenne a kérdésem, hogy egy alhálózaton,
azonos OS-el rendelkező gépek számára elméletben létezhet-e hogy megosztják
a számítási teljesítményüket, egy program számára.
Nincs ilyennel tapasztalatom, nem tudok róla semmit.
De rémlik valami félig elfeledett félinformáció, 'hogy ha akarsz besegítesz
NASAnak/akárminek számítási teljesítménnyel', ha a cpu load egy adott érték alá esik,
beszáll számolni a cpu-d.

Elvileg lehetséges, gyakorlatilag értelmetlen az overhead miatt, és azért, mert a render engine-k általában támogatják a parancssori renderelést (lightwave-el és blenderrel csináltam ilyet), és onnét kezdve csak scriptelés kérdése az egész. Tuti a Max is tud hasonlót, azaz elindítod az adott fájllal, megadod neki, hogy a 124,765. frame-t számolja és jónapot. Vagy kotorsz hozzá kész cuccot, ami kb. ugyanezt csinálja.

Ja, és jut eszembe, blendernél a CPU->GPU render durva javulást hoz, ezen is érdemes merengeni, bár ez pénzbe van. Bár nem sokba. Hétfőn jön meg egy K2000-es, azzal tudok blender cycles tesztet csinálni.

LinuxPMI tud ilyesmit. Mikor még openMosix volt, értem el vele sikereket, de production környezetben sose próbáltam.

Tudom, Windows volt a kérdés, de hátha. :)

irodai pc-k kempingeznek egész nap

Ez csak addig tűnik így, amíg majd találsz és feltelepítesz egy alkalmas compute node csomagot. Onnantól nem kempingezés lesz, hanem majd csőstül dőlnek a felhasználói panaszok, úgymint:

  • teker a diszkem, nem indul a word,
  • zabálja a memóriát, nem tudok netet böngészni és 300,000 soros XLS-t szerkeszteni,
  • zabálja a procit, nem tudok youtube-ot nézni,
  • zabálja a hálózatot, döglik tőle a samba hozzáférésem.

Az irodai PC-nek nem az a szerepe, hogy ki legyen használva (high throughput), hanem az, hogy azonnal reagáljon, ha a felhasználó csinál valamit (low latency). (Az "alapos hangolás" természetesen csak vicc; egy hagyományos pörgős diszket (ill. annak ütemezőjét) az életben nem hangolod be úgy, hogy ha odébb ment a fej, akkor annyi időn belül visszaérjen, mintha el sem ment volna.)

azonnal reagáljon, ha a felhasználó csinál valamit (low latency)

Ezt mondhatnád a külföldön székelő vadbarom központi IT-nknak is. A tetves céges mcafee a tápos quad-core i5 6 gb ram-os gépemet naponta többször elküldi homokórázni úgy, hogy közben az egérkurzor se reagál úgy tekeri a vincsesztert.

"render farm" a kulcsszo.

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám

Hali!

Régen több tucat gépen futtatam a distributed.net kliensét... az volt hivatott az "unatkozó" gépek szabad számítási teljesítményét kihasználni, de ott szó sem volt realtime alkalmazásról. Arról pedig még nem is szóltunk, hogy ott a telepített kliens azonnal "elengedte" a procit ha a rendszernek szüksége volt rá. Ami viszont nagyon megfontolandó manapság: nézzétek meg az áramszolgáltató számláját amikor majd tizen-huszon gép 100% proci terheléssel ketyeg napi sok-sok órában. Akkor már inkább hardware beruházás a renderer masinába.

Üdv:
Feri

Az áramszámlához: i5-ös cuccom (16 GB RAM, 2 HDD + 1 SSD) üresjáratban 40 W-ot, max terhelésen (mind a 4 mag 100% + összes disk teljes terhelés alatt) 80 W-ot mutatott egy teljesítménymérő eszközzel. Tehát nem igazán sok az áram költség különbség szerintem (max dupla, de csak max).

Videó renderelés GPU-n nem ment. Ez nyilván pluszban jönne hozzá.

Azért erről nincs szó, atomheart-nak írtam az új infót:
"Igen, ha lenne rá idő/pénz, és nem csak évente pár alkalommal lenne szükség felgyorsítani a folyamatot."
Sajnos abszolút nincs ráhatásom a dolgokra, de teljesen jogos amit mondasz. Közel negyven i5-i7 csúcson járatva 17-08-ig rendesen megpörgetné a villanyórát.

Üdv, Józsi

3DSMax konkrétan támogatja slave renderer none-ok telepítését (IP alapon, nem csak helyi hálózatban és bármilyen rendszerre, amin elfut).
A master gép frame-enként osztogatja ki az animációt a node-okra, így igazán csak nagyobb animációk végső renderelésénél van valódi haszna, szerkesztés közbeni teszteknél nem sok.
De amint már fentebb is írták, napközben nem, max. az éjszakai holtidőre használnám erre az irodai gépeket. SzIE-n volt így beállítva a több száz laborgép, hogy éjjel WOL-ra indultak és PXE-ről computing node-ba bootolták magukat.
Bár én ~10 éve csináltam ilyet (akkor is csak érdekesség képpen 2 géppel), de a slave node-ra is szinte a full Max-ot kellett feltelepíteni :(

"A master gép frame-enként osztogatja ki az animációt a node-okra, így igazán csak nagyobb animációk végső renderelésénél van valódi haszna, szerkesztés közbeni teszteknél nem sok."

Ez így nem igaz. A distributed render tile vagy scanline szerint egy képet is levezényel. Animációkhoz pedig a backburer használatos.

Ha 3dsmax-ról van szó, és van lehetőség a használatára akkor a V-Ray tud distributed rendert egy frame-re is. Egy barátom és én kipróbáltuk, teljesen jól működött és annak idején nagy szó volt egyszerre 10 szál.

http://kepeim.winben.hu/image?id=108216&.jpg