Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Problémy s PC (HW/SW): stroj pro komprimaci

Neregistrovaný (0)|28.8.2008 13:03
Jméno tazatele: redman

Znění dotazu:
Zdravím. Mám následující dotaz. Budu stavět počítač, krey bude přes noc z několika serverů "vycucávat" po sítí (GBit) data a přes den je rovnat a zipovat na externí disk.

Pro noční"vycucávání" není třeba až tak výkonného stroje, protože stejně je bržděn LAN kartou, ale jde mi o práci přes den. Dat bude celkem hodně (desítky stovky Gb) a balení s maximální kompresí bude trvat dlouho. Jelikož stroj budu stavět nový a jenom pro tuto činnost, chtěl bych vědět, jaký HW pořídit. Nikde sem se nedočetl, co má na rychlost.... souhrnně na výkon při kompresi vliv. Výkon CPU? RAM? DualCore vs. Single ? TripleCore? QuadCore? 64bit vs. 32bit? P4, C2D, Athlon, Opteron, Xeon ? Rychlost disků ?

Předpokládám, že na stroji poběží WinXP. dále předpokládám dva disky v RAIDu1 (poskytovaném řadičem desky), na kterých bude systém a odkladiště pro balení. A externí disk, na který se budou dávat hotové zabalené soubory. Připojení asi USB nebo eSATA. Balit se bude do zip nebo 7zip.

HW a SW počítače jehož se dotaz týká:
Logout (4018)|28.8.2008 13:33
No, na kompresi potřebuješ především výkonej procesor. Pokud použiješ program, kterej umí využít víc jader (např. winrar), tak ber určitě čtyřjádro. Osobně bych ale šetřil za licenci a použil linux (navíc má IMHO lepší IP stack, takže by moh bejt o něco rychlejší, ale to je jen doměnka). Rozhodně ber 64bit procesor a systém.
Co se týče paměti, tak záleží na použitym softu - něco počítej na režiji OS (linux 512MB, XP radši 1024, Visty 2048). Pak potřebuješ něco na diskovou cache (512MB nejmíň) a zbytek pro soft. zip či rar nemaj velký slovníky, tam stačí málo, takovej 7zip může mít obrovskej slovník, tak tomu bych 1GB přidal.

Co se týče rychlosti disků, tak záleží na parametrech komprese. Běžný kompresní algoritmy jsou ale poměrně pomalý, takže jim stačí libovolnej disk. Když koupíš nějaký nový disky, tak by jejich rychlost
měla dostačovat. Rychlost disků Tě ale bude limitovat při kopírování přes síť (na gigabytu prorveš přes
100MB/s, což při čtení z filesystému běžný disky kontinuálně (na celé ploše) nedaj).
johny__g (6387)|28.8.2008 15:06
Souhlasím s Logoutem, komprese je závislá skoro výhradně na rychlosti CPU. Takže čím víc jader a MHz, tím líp. RAM by měla stačit běžná velikost - 4 GB.
Ještě k tomu externímu disku - určitě počítej s připojením přes eSATA, USB už je dost pomalé.
Pavel Boček (4169)|28.8.2008 20:30
A já myslel, že kompresi ovlivňuje propustnost pamětí ;) :notsure Samozřejmě, je to velký datový tok a tak cache vždycky nestačí a je třeba rychlých pamětí. Resp. větší propustnost paměťového systému je mnohem více vidět než frekvence jádra.

Zcela jistě to bude na Intelu a protože Intel=FSB, tak bych hledal procesor, který:

  • má více jader
  • má při dané frekvenci jádra vysokou frekvenci FSB
  • má velkou L2 cache
Jako ideální se mi jeví Intel Core 2 Q9300, obzvláště s násobičem manuálně sníženým na 6,5x a FSB na 400 MHz.

Čistě jako nad možností by se možná bylo vhodné zamyslet i nad nějakou páskovou knihovnou s vlastní HW kompresí, které by stačilo opravdu jen velmi slabé PC jakožto shromaždiště dat, než by se vydaly na pásku.
Logout (4018)|28.8.2008 21:55
Drbáš se na hlavě sice hezky, ale pravdu nemáš. Ono se stačí zamyslet - propustnost FSB i paměti je řádově 10GB, takovejdle rychlostí jaksi komprese nedosahuje. Většina slovníkovejch kompresí používá slovníky v řádech MB, takže moc externí paměti mimo cache neni potřeba. A když, tak vzhledem k rychlostem komprese je zpoždění zanedbatelný.

Viz třeba (zip):
http://techreport.com/articles.x/10351/12
v podstatě lineární nárůst (silnější procesor má 99% výkonnosti při přepočtu na jeden megahertz .

nebo (rar)
http://www.tomshardware.com/charts/cpu-charts-2007/winrar,402.html?p=1273%2C1307%2C1265%2C1274%2C1264%2C1252%2C1248%2C1244%2C1234%2C1299%2C1295%2C1298%2C1297%2C1292%2C1227%2C1291%2C1220%2C1223%2C1280%2C1290%2C1317%2C1315%2C1314%2C1283%2C1311%2C1310
(x6800 a x6850 při přepočtu na stejnou frekvenci maj naprosto shodnej výkon, přestože x6850 má značně větší FSB než x6800)
U stejnejch čtyřjader je už výkonnostní rozdíl... celý dvě procenta....
Tamtéž když srovnáš E6400 a E6420, tak uvidíš rozdíl cache 2MB/4MB - celejch 0.5%. A to se vyplatí.

Takže dominantním faktorem je frekvence a počet jader. Howgh.

PS: Možná u 7zipu by seto mohlo u obrovskejch slovníků víc projevit - ale v okamžiku, kdy by se to projevovalo, tak by šla rychlost komprese tak dolu a zisk z lepší komprese by byl tak malej, že by se to moc nevyplatilo používat.
pavel_p (993)|28.8.2008 23:19
Jestli to pomůže, tak orientačně:
- balení různorodých dat tar + gz, max. komprese, zdrojová data nevím (asi 330-350GB) výsledná cca 230GB - 10 hodin na Core2Duo 1.6GHz (využité jen jedno jádro).
- balení backupu SQL databáze 15.2GB -> 670MB 7zip s parametrem mx=5 trvá 55min na čtyřech 2.3GHz jádrech (ale nevím jestli se nepoužijí jen dvě)

Dokud komprese proběhne za noc, tak menší poměr neřeším, jinak 7zip víc jader využije. Ale jak kdy ... tuším každý procesor komprimuje někdy jeden soubor, někdy velký blok ... zkus prověřit ono se to v posledních verzích nějak liší a pro různé algoritmy je to různé. U zipu si ověř, jestli konkrétní implementace umí velké soubory ... tuším má většina programů omezení na 2GB soubor nebo 2GB max. velikost archivu ... už nevím, ale určitě jsem s tím párkrát narazil. Také může být problém s českými znaky ... co zazipuješ na Linuxu v UTF-8 nemusíš rozbalit v TotalCommanderu pod windows. Poslední beta 7zipu by snad měla různé rozšíření (překódování názvů souborů dle systému a 2GB limit čehosi)
Pavel Boček (4169)|29.8.2008 01:13
[QUOTE=Logout;156351]...[/QUOTE]

Dobře, jak myslíš. Doba asi pokročila :) Já vycházel z https://www.svethardware.cz/forum/showthread.php/99-winrar#137386 a https://www.svethardware.cz/forum/showthread.php/99-winrar#150363. Jak vidíš, čistě kvůli na procesor pomalé sběrnici je Athlon XP s víc jak dvojnásobnou frekvencí a s dvojnásobnou L2 cache o třetinu pomalejší. Rozdíl samozřejmě hraje i systém a využití paměti, ale přece jen je až moc propastný aby to bylo jen OS.

Ale IMHO nemá mnoho společného množství dat zkomprimovaných za sekundu propustností paměti jak to prezentuješ. Tobě přece procesor ukládá do RAM spousty mezivýpočtů, než z něj vypadne pár set zkomprimovaných KB/s.
Neregistrovaný (0)|29.8.2008 14:06
mno... děkuji za příspěvky. Několik odpovědí/doplnění:

- páskovou mechaniku nemůžu, protože by to znamenalo SCSI řadič a hlavně mechanika, která mi zapíše 500-700Gb je cenově jinde. To samý pro knihovny. V současné době je cena/výkon u disků prostě nepřekonatelný. Přemýšlel jsem i o RDX, ale taky je to moc drahý. Potřebuju na jedno médium dostat 500-700Gb. pak to médium vyndat/odpojit a odnýst do trezoru.

- pro zálohování bude použit sw COBIAN ver. 9. Bohužel zatim nevim, jestli má implementovanou podporu pro více jader. Sice bych to dokázal, ale nechce se mi na to psát hromadu skriptů a cronovat to.

- po GBitu procpu tak 20Mb a to ještě jenom občas. Kopíruje se spousta malejch souborů a realita je tak 10Mb/s. Takže rychlost disků mi až tolik neštve. Spíš se bojim, aby se to stíhalo.

- externí disk bych rád na eSATA, ale záleží na tom, jak se to bude chovat. U USB vim, že to pojede minimálně 20Mb/s a nebude dělat problémy