abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:33 | Komunita

    Projekt microDMG Racer na Kickstarteru nevyšel, tak se autor rozhodl uvolnit na ESP32 postavené autíčko i ovladač jako open source.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byl vydán TrueNAS SCALE 24.10 „Electric Eel“. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | Nová verze

    Byla vydána nová verze 24.10.29 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nově s podporou AI (whisper.cpp) pro generování titulků. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Wasmer byl vydán ve verzi 5.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Bezpečnostní upozornění

    X.Org X server 21.1.14 a Xwayland 24.1.4 řeší bezpečnostní chybu CVE-2024-9632 využitelnou k eskalaci práv. Pochází z roku 2006 (xorg-server-1.1.1).

    Ladislav Hagara | Komentářů: 0
    dnes 02:44 | IT novinky

    Společnost Apple představila nový Mac mini. Menší, výkonnější a zároveň uhlíkově neutrální. S M4 nebo M4 Pro.

    Ladislav Hagara | Komentářů: 28
    dnes 02:22 | Nová verze

    Byla vydána (𝕏) říjnová aktualizace aneb nová verze 1.95 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.95 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | Nová verze

    Byl vydán Mozilla Firefox 132.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 132 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:00 | IT novinky

    Jan Gruntorád byl včera večer ve Vladislavském sále Pražského hradu během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) vyznamenán prezidentem republiky medailí Za zásluhy 1. stupně za zásluhy o stát v oblasti techniky. Gruntorád je český informatik a manažer, patří mezi průkopníky internetu v České republice a je často označovaný jako 'Otec českého internetu'. V roce 2021 byl uveden jako první Čech do Internetové síně slávy. Mezi léty 1996 až 2021 byl ředitelem sdružení CESNET.

    Gréta | Komentářů: 19
    včera 15:55 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 41. Ve finální verzi vychází pět oficiálních edic: Workstation pro desktopové, Server pro serverové, Fedora Cloud pro cloudové nasazení, IoT pro internet věcí a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich je k dispozici také Silverblue a Kinoite a alternativní desktopy, např. KDE Plasma, Xfce nebo LxQt, a k tomu laby – upravené vydání Fedory například pro designery, robotiku, vědecké použití atd. Přehled novinek ve Fedora Workstation 41 a Fedora KDE 41 na stránkách Fedora Magazinu.

    Ladislav Hagara | Komentářů: 17
    Rozcestník

    Dotaz: Jak vyždímat z procesoru maximum?

    4.8.2009 22:29 hufhendr | skóre: 33 | blog: U hufhendra
    Jak vyždímat z procesoru maximum?
    Přečteno: 1092×

    Zdravím,

    potřeboval bych nějak přinutit systém, aby jeden program (mencoder) dostával mnohem více výkonu procesoru. V jádře mám (snad dobře) zakompilovanou podporu pro SMP i Real Time Clock, mplayer mám s podporou RTC, zkoušel jsem zvyšovat prioritu přes renice -20 PID, nastavil jsem obě jádra natvrdo na max 1.8GHz, experimentoval jsem s příkazem chrt, ale pořád je to málo. Přitom ale vidím, že nepočítají obě jádra na plný výkon a dokonce jsem zahlédl, že mi ten proces občas usíná.
    Nechce se mi kupovat nový procesor a věřím, že existuje způsob jak ten proces přibít natrvalo na 98%, jen už nevím jak dál.

    Předem děkuji za každou radu.

    Odpovědi

    4.8.2009 23:01 jirkamailto | skóre: 31
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

     No je vubec otazka, zdali program ma podporu pro SMP, umi vyuzivat vice jader. Pokud ano, tak se podivejte, jestli v softwaru mate zapnutou tuto volbu.

    4.8.2009 23:33 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Díky, ačkoli mám přes globální USE nastavenou podporu SMP pro všechny, konkrétně u mplayeru není ani zapnutá ani vypnutá, není tam překvapivě vůbec. To mě nenapadlo. Při enkódování videa je mplayer spuštěný hned 3x. Nevím ale, co konkrétně který z nich dělá, 2 z nich berou z procesoru mnohem méně.
    Mplayer-smp v portage nevidím, byla by cesta přilepit tento mplayer nějak přes afinitu na 1. jádro a vnutit mu nejvyšší prioritu?

     

    5.8.2009 07:39 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    Přitom ale vidím, že nepočítají obě jádra na plný výkon
    Môžeš to nejak kvantifikovať? Ako to zisťuješ a čo vidíš? Nemôže to byť tým, že mencoder čaká na I/O? Skúšal si ionice? Skúšal si okresať iné služby bežiace na tom systéme?

    Ja práve bežím mencoder na jedno-processorovom systéme a load je konštantne na 100%.
    5.8.2009 08:12 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Tak tohle mě vůbec nenapadlo, možné to je. Disk nijak zvlášť nebliká, vypadá v pohodě, ale je fakt, že už kdysi dávno mě překvapil nebezpečně špatnými hodnotami při čtení i zápisu.
    Vidím to jednoduše přes gnome-system-monitor nebo htop, vždy je jedno jádro zatížené víc, pak se třeba po čase prohodí, obě naplno nejedou nikdy, ale jedno si na 100% sáhne - nedrží se tam ale konstantně pořád jako třeba při rekompilaci systému.
    Ionice zkusím, kolem toho čekání na data by mohl být problém, jak to mohu prozkoumat a odladit víc?

    5.8.2009 08:12 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    Prva otazka je, ci samotny program je napisany tak, aby vedel svoju pracu rozdelit na viacero procesorov, ako bolo naznacene vyssie.

    Druhy problem je, ze pri spracovavani vacsieho mnozstva udajov - co zmienene programy zjavne robia - skor ci neskor dojde k situacii, ze je potrebne tieto udaje nacitat z pamate, vyprazdnit cache pamat pre nove polozky, zmenit zaznamy v TLB a pod. Vsetky tieto operacie su z pohladu procesora velmi pomale a pocas ich vykonavania jednoducho nema co robit. Optimalizacia pozostava v takych upravach aplikacie a prostredia, aby k tymto preruseniem dochadzalo co mozno najzriedkavejsie. Upravy a optimalizacie su mozne na viacerych miestach:

    - Prekladac moze na zaklade urcitych algoritmov ci heuristik robit mikrooptimalizacie za ucelom lepsieho vyuzitia registrov procesora a cache pamati ci pouzivania prednacitavania udajov. Ako "pouzivatel" mozes skusit prelozit konkretnu aplikaciu (alebo kniznicu vykonavajucu "kriticky" algoritmus) s optimalizacnou volbou -Os namiesto obligatneho -O2. Sice to vypne niektore optimalizacie, ale zmensi to kod, a teda viacej kodu sa zmesti do cache pamate, a teda sa nemusi citat z pomalej hlavnej pamate.

    - Operacny system moze optimalizovat vyuzitie prekladovej tabulky TLB. V poslednych verziach FreeBSD sa za tymto ucelom implementovali tzv. "superpages", t.j. pamatove stranky premenlivej velkosti, potencialne ovela vacsie ako bezna stranka. Tym moze jeden TLB zaznam adresovat viac pamate a teda aj cela TLB prekladova tabulka moze adresovat viac pamate naraz. Informaciou o superpages v Linuxe nemozem sluzit. Ako "pouzivatel" mozes patrat, ci takato funkcia (alebo podobne funkcie) sa v jadre nachadza, a ak ano, skusit ju pripadne zapnut, ak je vypnuta. Dobry napad je aj upgradovat na novsie jadro; nedavno sa v jadernych novinach objavila pekna sprava o tom, ako drobne mikrooptimalizacie v kode spravy pamate vykonostne pomohli aj mnohym inym inym oblastiam.

    - Nakoniec mozno pouzit upravy samotneho algoritmu tak, aby lepsie vyuzivali cache pamat. Zvycajne sa jedna o velmi neintuitivne algoritmy riesenia problemov; hladaj "cache oblivious algorithm", ak si programator, rozhodne odporucam niektore si len tak pre ilustraciu vyskusat. Ako "pouzivatel" nemozes patrne tento druh optimalizacie pouzit.

    Nakoniec len dodam, ze velkym spomalovacom su IO operacie. Stretol som sa s programom, ktory vytvaral znacne mnozstvo docasnych suborov. Zatial co jeho beh nad normalnym diskom trval cca 2 minuty, presunutim na memory disk sa doba skratila pod 30 sekund.

    5.8.2009 12:40 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Našel jsem v jednom diskusním fóru k mplayeru, že podporu SMP nemá a ani se neplánuje, protože nejužším hrdlem je stejně sběrnice a navíc by to bylo moc pracné. Každopádně se to nějak dělí na 3 stejné procesy.

    Programátor nejsem, spíš normální uživatel, používám 64bit jádro, SLAB allocator; mohlo by pomoci přejít na SLUB? K těm superpages, včera jsem zrovna náhodou překládal jádro 2.6.30 a všiml jsem si volby CONFIG_DEFAULT_MMAP_MIN_ADDR (65536). Může to být ono?

    Mplayer jsem zkusil přeložit znovu CFLAGS="-march=core2 -Os -pipe" emerge mplayer, ale asi to nebude dobře, protože při kompilaci jsem zahlédl -O4 -march=native. Stejně ani s tímto novým mplayerem na 100% nedosáhnu a přitom nestíhá.

    Možná to opravdu bude zakleté v disku, rád bych to hodil do RAM, jenže 8GB je už docela dost.

     

    6.8.2009 19:57 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    používám 64bit jádro, SLAB allocator; mohlo by pomoci přejít na SLUB?

    To je alokátor jederné paměti. Ta s počítáním mplayeru nemá nic společného.

    CONFIG_DEFAULT_MMAP_MIN_ADDR

    Hodí se taky přečíst nápovědu ;) CONFIG_DEFAULT_MMAP_MIN_ADDR omezuje adresu, kam uživatelský proces mmapuje paměť, zespoda. Je to preventivní bezpečnostní opatření (které se začalo používat jako reakce na poslední nalezenou bezpečnostní chybu v Linuxu). Opět nemá vliv na výkon. V praxi akorát tak zabije virtuální stroj, který se snaží emulovat bootovací režim i386 v86.

    CFLAGS="-march=core2 -Os -pipe"

    Co vás lidi furt k optimalizaci na velikost? Vždyť moderní hyperrychlé x86 procesory se naopak vyznačují monstrózní keší (jeden z důvodů obrovského příkonu).

    při kompilaci jsem zahlédl -O4 -march=native

    USE=custom-cpuopts

    6.8.2009 23:46 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Zkusil jsem i ten SLUB alokátor, ale ačkoli můj subjektivní pocit byl, že se to mírně zlepšilo, stejně to nestačilo.

    CONFIG_DEFAULT_MMAP_MIN_ADDR: už jsem nevěděl kudy kam, zkusil jsem to :) A stejně i když už mám přeložené jádro 2.6.30, nemohu to využít, protože mě hrozně zlobí ovladače grafiky Intel. Nechtělo se mi to řešit, takže jsem na 2.6.28

    CFLAGS="-march=core2 -Os -pipe" stejně nepomohlo. Snažil jsem se mít ten systém naladěný co nejlépe už od začátku a tak nepomohlo vlastně skoro nic, co jsem zkoušel. Přesto má příběh šťastný konec ...

    5.8.2009 15:22 M. Lox | skóre: 12
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    A jaké používáš volby při kódování? Třeba x264enc je vícevláknový, ale filtry (-vf) nejsou, takže pokud např. používáš deinterlace filtr a kóduješ do H.264, tak chvíli poběží obě jádra, chvíli jenom jedno, podle toho, ve které části zpracování videa se mencoder zrovna nachází.
    make menuconfig, not war!
    5.8.2009 15:59 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    No vlastně já to kóduji obráceně, z H.264 do Mpeg2, ale moc šancí nějak to ovlivnit nemám - co jsem se díval, tak snad jen keyint, vqscale a vqmin, ostatní si poručí server. Pro mne je důležité, aby to běželo opravdu realtime, protože v obýváku je televize a pomalý výpočet způsobuje záseky.
    Tohle jsem odchytl, běží to 3x, 1 bere 80%CPU, další dva kolem 12:


    mencoder -ss 0 -quiet /data/video/Terminator/The.Terminator.1984.1080p.BluRay.x264-hV.mkv -quiet -quiet -oac copy -of mpeg -lavfopts format=asf -mpegopts format=mpeg2:muxrate=500000:vbuf_size=1194:abuf_size=64 -ovc lavc -channels 2 -lavdopts debug=0:threads=2 -lavcopts autoaspect=1:vcodec=mpeg2video:acodec=ac3:abitrate=384:threads=2:keyint=1:vqscale=1:vqmin=2 -subcp cp1250 -subfont-text-scale 3 -subfont-outline 1 -subfont-blur 3 -subpos 98 -aid 0 -sid 0 -quiet -quiet -ofps 24000/1001 -quiet -quiet -af lavcresample=48000 -srate 48000 -o /tmp/javaps3media/mencoder1249479680448

     

    5.8.2009 16:10 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    A není nějaká možnost ten původní formát rovnou dekódovat na obrazová data (digitální nebo analog), aby se nemuselo přes mpeg2?

    5.8.2009 16:20 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Bohužel ne, počítač funguje jako DLNA server.
    V době psaní článku jsem ale neměl žádný skutečně HD film a ani FullHD televizi.

    5.8.2009 16:50 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Aha, díky za zajímavý článek a nakopnutí poučné diskuse pod ním.

    6.8.2009 13:54 msaft | skóre: 7
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Imho na konverzi h264 --> mpeg2 je neslozitejsi dekodovani h264. To je ale skutecne jednovlaknova vec. Pro vetsi vykon bud zakompilovat vicevlaknovy ffmpeg-mt (experimentalni?) nebo dekodovat s hw podporou (nvidia vdpau).

    6.8.2009 23:50 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Díky moc, vlastně to tu naznačovali skoro všichni. Ten ffmpeg-mt byl skvělý tip!

    5.8.2009 16:10 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    Příloha:

    Ještě jsem si všiml, že jde přiložit obrázek, takže posílám screenshot když opravdu nestíhá. Všechna menší (i když veliká) videa šla v pohodě, ale s rozlišením 1920x1040 nastal problém. Odhaduji, že by mi stačilo vyždímat z počítače celkově tak 10% navíc a bude to OK.

    5.8.2009 18:36 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    Staci 10%? Overclocking! :-D

    Pozeram, ze zataz sa symetricky prepina medzi jadrami, tak mi napada: ten procesor ma dve jadra, kolko ma ale FPU? Typujem, ze len jednu. Ak je algoritmus zalozeny na praci s pohyblivou radovou ciarkou, moze to byt zavazne obmedzenie. O aky procesor sa vlastne jedna? Ak ma HT, odporucam skusit vypnut; zvycajne robi viac skody, ako osohu.

    5.8.2009 20:20 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Je to E4300 a z výpisu vypadá, že má každé jádro své FPU.

    Jinak je to z této sestavy, jen je doplněná na 4GB RAM.

    6.8.2009 02:56 Brud
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Ten system evidetne travi vetsinu casu v systemu ...

    6.8.2009 02:59 Brud
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Pokud to mam jeste upresnit, tak pokud je to dvoujaderny procesor, tak vetsinu casu ten system travi v operacich, ktere jsou mimo user.

    Tudiz vetsinu veci travi ve vecech co ty nedokazes ovlivnit, nebot to ten system potrebuje. A soude dle toho obrazku, at tam delas cokoliv tak to bezi na prave pulku jader co mas, zbytek to travi ve vecech co jsou tobe sumak a nedokazes ovlivnit.

    7.8.2009 00:14 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Podle výpisů zatížení to na mě působilo, že krom toho encódování skoro vůbec nic nedělá. Hrál jsem si všemožně s renice -20 PID, chrt -p PID, ionice -c 1 -p PID i taskset -p 01 PID a nakonec jsem došel ke stejnému závěru, že s tím nic nenadělám. Ale i tohle pomohlo...

    6.8.2009 03:01 Brud
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Ci finalne, ta aplikace neumi vyzit dvou jader ...

    6.8.2009 03:05 Brud
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Jeste by byla zajiam diskova zatez celkove statistiky sytemu jako iostat atd...

    To vypad sice ze to tam naneco ceka, ale tam bude primarni problem, ze to neumi pouzit vic jak jedno jadro ...

    6.8.2009 07:19 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    # iostat 
    Linux 2.6.28-gentoo-r5 (dx2300) 	6.8.2009 	_x86_64_	(2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              15,33    0,01    0,71    2,13    0,00   81,82
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               5,20       243,78        19,79    9743355     791106
    
    # sar 1 5
    Linux 2.6.28-gentoo-r5 (dx2300) 	6.8.2009 	_x86_64_	(2 CPU)
    
    07:18:37        CPU     %user     %nice   %system   %iowait    %steal     %idle
    07:18:38        all     53,23      0,00      0,50      1,99      0,00     44,28
    07:18:39        all     57,21      0,00      1,49      1,49      0,00     39,80
    07:18:40        all     59,41      0,00      0,50      1,49      0,00     38,61
    07:18:41        all     53,23      0,00      1,99      1,49      0,00     43,28
    07:18:42        all     56,28      0,00      1,01      1,01      0,00     41,71
    Average:        all     55,88      0,00      1,10      1,49      0,00     41,53
    
    AraxoN avatar 6.8.2009 11:06 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    mencoder skrátka a jednoducho nie je multithreadový pre tú úlohu, ktorú ty po ňom chceš. Jeden mencoder vyťaží jedno jadro. Nič viac s tým nenarobíš. Jedine, že by si vedel prácu rozdeliť na nezávislé časti a tie časti potom spustil v dvoch nezávislých mencoder-och.

    6.8.2009 13:15 chinook | skóre: 28
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    To znamena, pokud mam 2 procesory po 4 jadrech, tak kdybych napr. spustil 8x encoder na 8 videi, tak pojede vsech 8 jader na 100%?
    AraxoN avatar 6.8.2009 14:44 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Áno, malo by - ak disk bude stíhať čítať a zapisovať toľko údajov.

    6.8.2009 15:26 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Tomu bych docela rozuměl, ale proč to jedno jádro nevytíží na 100% ?
    Zkoušel jsem už různé věci, ale bez nějakého většího efektu – pořád nestíhá a přitom se klidně fláká. Podle mne by disk měl být schopný data dodávat dost rychle, síťová karta na druhé straně je 100BaseT, tam problém určitě nebude a sběrnice je doufám (?) rychlá dost.
    Jakým příkazem bych mohl zjistit jestli procesor čeká / nečeká na data?

    AraxoN avatar 6.8.2009 15:45 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Ak tie dáta čítaš zo siete, tak tam je nejaké opozdenie. Počas toho opozdenia procesor čaká, ale nezarátava sa to do iowait, ale do idle.

    Ak tie dáta po sieti len odosielaš, tak to potom neviem...

    6.8.2009 18:27 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?

    Ahoj,

    Koukal jsem se do zdrojaku mplayer jak resi paralelni dekodovani u H264, ktera je nejvetsi brzdou.

    Nejdrazsi proces pri dekodovani je dekodovani jednoho elementu (kteremu rikaji NAL_SLICE) - toto se snazi paralalelizovat. Bohuzel algoritmus je nasan tak, ze se paralelizace deje jen v ramci jednoho MPEG packetu, ale zatim jsem nenarazil na HD video ktere melo vic NAL_SLICE v jednom packetu (overil jsem si pridani par ladicich informaci pri dekodovani).

    Takze nehlede na pocet nastavenych vlaken provadi drahe operace soucasne jen jedno. To ze zadne jadro procesu neni vitizene na 100% neni pravda - akorat jsou k dispozici jen prumerne statistiky (pri zmenseni intervalu mereni zatizeni trebas na milisekundy by to bylo videt).

    Predstavit se to da tak, ze pokud ma jadro A 80% a jadro B 20% a meri se po jedne sekunde, tak 0.8s bezelo jadro A na 100% a jadro B na 0% a dalsich 0.2s bezelo jadro A na 0% a jadro B na 100%. Je to dano tim, ze kernel se snazi zatizeni jader vyrovnat.

    Samozrejme se pak museji pripocist dalsi hodnoty jako kodovani MPEG2, ktere muze bezet na druhem jadre, takze celkove zatizeni je vic 100%.

    7.8.2009 00:56 hufhendr | skóre: 33 | blog: U hufhendra
    Rozbalit Rozbalit vše Re: Jak vyždímat z procesoru maximum?
    Příloha:

    Díky za vysvětlení a díky všem za cenné příspěvky do diskuse. V práci mi už kolegové radili vyměnit procesor a pak i celý počítač, že to nemá smysl.
    Díky Vám jsem našel a nainstaloval mplayer-mt a teď už mi to běží pěkně na obou jádrech. Nakonec mi funguje ta ručně kompilovaná verze a mohu potvrdit, že se jeví docela stabilně. Pokud jde o výkon, jsem docela na hraně, pro video 1920x1040 se teploměr bufferu PS3 Media Serveru plní hodně pomalu, přesto stoupá a udrží i krátkodobé klesání v rychlejších scénách. Propady na přiloženém grafu jsou momenty, kdy se buffer spočítaného videa naplnil a procesor si krátce oddech. Teplota procesoru se pohybuje kolem 75°C, větráčky na cca 1200 otáčkách (na začátku filmu až ke 2k) a počítač jde i při tom všem docela v pohodě používat.
    Z procesoru se nám povedlo vyždímat maximum a myslím, že tak má před sebou ještě dlouhý křemíkový život.

     

    Přidám ještě aktuální statistiky:

    # iostat 
    Linux 2.6.28-gentoo-r5 (dx2300) 	7.8.2009 	_x86_64_	(2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
              34,07    0,00    2,01    0,94    0,00   62,98
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               9,50      1009,52       178,77   21844569    3868424
    
    # sar 1 5
    Linux 2.6.28-gentoo-r5 (dx2300) 	7.8.2009 	_x86_64_	(2 CPU)
    
    00:51:57        CPU     %user     %nice   %system   %iowait    %steal     %idle
    00:51:58        all     72,36      0,00      3,52      0,00      0,00     24,12
    00:51:59        all     56,65      0,00      2,46      0,99      0,00     39,90
    00:52:00        all     89,60      0,00      3,96      0,00      0,00      6,44
    00:52:01        all     84,19      0,00      4,65      1,40      0,00      9,77
    00:52:02        all     90,55      0,00      1,99      1,00      0,00      6,47
    Average:        all     78,73      0,00      3,33      0,69      0,00     17,25
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.