Dualcore - CPU Affinity, windows scheduler
K zaplave threadu o dualcore pridam jeden, ktery by se mel zabyvat problemem "přesouváni jednovláknového procesu z jednoho jádra na druhé"
Tenhle problem je popsan v Eaglove clanku na zive, ja sem si ho uvedomoval uz drive, ale az ted sem ho zacal podrobneji zkoumat.
Tak napr. singlethreaded WinRAR -
Affinity nastavena na CPU0 a CPU1
rychlost komprese v benchmarku: 456kB/s
http://ui.upce.cz/~ispaci1/noaff.PNG
Affinity nastavena na CPU1
rychlost komprese v benchmarku: 475kB/s
http://ui.upce.cz/~ispaci1/aff.PNG
Rozdil neni nikterak tragicky, ale nutno rici, ze obcas byva singlethreaded prepinana mezi CPU v pomeru 40:60 i 50:50.
Dnes sem ale hral hru Return To Blockland (Lego :) ) a mel sem velke problemy s frameratem, hra se postupne stavala nehratelnou, chvilema vytezovala obe jadra na 100%, chvilema pouze jedno na 30%. Kdyz sem nastavil Affinity na jedno CPU, razem zacla slapat naprosto plynule. A take Richard Burns Rally chodi "pokazde jinak".
Podobnou vec by mela resit neverejna zaplata KB896256 (pripadne cesky). Muj procesor ale neni vybaven zadnym power managementem a pochopitelne nic neresi.
Jeste sem na 4u nasel odkaz na zaplatu KB909095, ale ta opet resi jiny problem nez tento.
Je jasne, ze to je problem Windows scheduleru, nedelam si iluze, ze by se to melo do vydani Visty nebo mozna i SP3 na XP nejak resit. Stacil by mi program, nejaky launcher pro aplikace, ktery by pevne nastavil affinity na jedno CPU. Jedna se mi prakticky pouze o hry, u nekterych nelze affinity nastavit manualne (nepodporuji Alt-Tab), nehlede na to, ze nastavovat to manualne je otrava.
Diky za za kazdou podnetnou reakci.
Re: Dualcore - CPU Affinity, windows scheduler
Tahle záplata totiž nic neřeší. Že jí Hulán označí na svém webu jako spásu, bohužel spíše svědčí o tom, že neví, o co kráčí. Zřejmě se jedná o to, že scheduler je vcelku jednoduchý a s něčím takovým nepočítá.
KB826256 opravuje jádro OS - s největší pravděpodobností trochu změní prahovou hodnotu na růst PState, jinak nic. KB909095 taktéž opravuje jádro.
Summary: KB909095 částečně nahrazuje KB826256 novým jádrem (některé soubory má ale KB826256 navíc). Mimochodem, tyto záplaty už jsou dneska hodně staré, existuje už i jádro z 12. dubna 2006 v rámci záplaty KB889816 - http://support.microsoft.com/?kbid=889816 (pro anglické Windows se tato záplata dá sehnat tady http://www.laptopvideo2go.com/driver...16-x86-enu.exe).
Jinak v mém testu byly použity Windows XP Professional x64 Edition SP1 (tj. Windows Server 2003). Ty měly díky záplatám jádro z 15. března 2006. A jak je vidět, ani NT5.2 a s tak novým jádrem toto nemají ošetřené.
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Eagle
Summary: KB909095 částečně nahrazuje KB826256 novým jádrem (některé soubory má ale KB826256 navíc).
Bohuzel se zaplatou KB909095 mi nenabednou Windows :confused: Kousnou se po kontrole disku pred inicializaci grafiky.
Jak sem psal, nedelam si nadeje, ze bych tento problem nejak vyresil, spis bych rad nasel nejakej workaround, tj. nastavovani affinity pro spoustene programy.
Re: Dualcore - CPU Affinity, windows scheduler
Tak zkus nainstalovat těhle 130 MB neveřejných záplat, třeba něco z toho pomůže - http://hotfix.xable.net/index.php?di.../Windows%20XP/
Spouštění batch:
WindowsXP-KB870981-v2-x86-CSY.exe /passive /norestart /passive /norestart
WindowsXP-KB871228-x86-CSY.exe /passive /norestart
WindowsXP-KB883523-x86-CSY.exe /passive /norestart
WindowsXP-KB883586-x86-CSY.exe /passive /norestart
WindowsXP-KB883667-x86-CSY.exe /passive /norestart
WindowsXP-KB884538-x86-CSY.exe /passive /norestart
WindowsXP-KB884575-x86-CSY.exe /passive /norestart
WindowsXP-KB885855-x86-CSY.exe /passive /norestart
WindowsXP-KB887173-x86-CSY.exe /passive /norestart
WindowsXP-KB887572-v4-x86-CSY.exe /passive /norestart
WindowsXP-KB888111-x86-CSY.exe /passive /norestart
WindowsXP-KB888321-x86-CSY.exe /passive /norestart
WindowsXP-KB889315-x86-CSY.exe /passive /norestart
WindowsXP-KB890463-x86-CSY.exe /passive /norestart
WindowsXP-KB890733-x86-CSY.exe /passive /norestart
WindowsXP-KB890927-v4-x86-CSY.exe /passive /norestart
WindowsXP-KB891593-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB892489-x86-CSY.exe /passive /norestart
WindowsXP-KB892627-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB893371-x86-CSY.exe /passive /norestart
WindowsXP-KB893476-x86-CSY.exe /passive /norestart
WindowsXP-KB894395-x86-CSY.exe /passive /norestart
WindowsXP-KB895245-x86-CSY.exe /passive /norestart
WindowsXP-KB895564-x86-CSY.exe /passive /norestart
WindowsXP-KB895961-x86-CSY.exe /passive /norestart
WindowsXP-KB896256-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB896269-x86-CSY.exe /passive /norestart
WindowsXP-KB896360-x86-CSY.exe /passive /norestart
WindowsXP-KB896430-x86-CSY.exe /passive /norestart
WindowsXP-KB897574-x86-CSY.exe /passive /norestart
WindowsXP-KB897649-x86-CSY.exe /passive /norestart
WindowsXP-KB898062-x86-CSY.exe /passive /norestart
WindowsXP-KB898713-x86-CSY.exe /passive /norestart
WindowsXP-KB899266-x86-CSY.exe /passive /norestart
WindowsXP-KB899418-x86-CSY.exe /passive /norestart
WindowsXP-KB899527-x86-CSY.exe /passive /norestart
WindowsXP-KB899815-x86-CSY.exe /passive /norestart
WindowsXP-KB900387-x86-CSY.exe /passive /norestart
WindowsXP-KB900730-x86-CSY.exe /passive /norestart
WindowsXP-KB900732-x86-CSY.exe /passive /norestart
WindowsXP-KB900808-x86-CSY.exe /passive /norestart
WindowsXP-KB901104-x86-CSY.exe /passive /norestart
WindowsXP-KB901122-x86-CSY.exe /passive /norestart
WindowsXP-KB901155-v4-x86-CSY.exe /passive /norestart
WindowsXP-KB902149-x86-CSY.exe /passive /norestart
WindowsXP-KB902346-x86-CSY.exe /passive /norestart
WindowsXP-KB902845-x86-CSY.exe /passive /norestart
WindowsXP-KB902853-x86-CSY.exe /passive /norestart
WindowsXP-KB905519-x86-CSY.exe /passive /norestart
WindowsXP-KB905816-x86-CSY.exe /passive /norestart
WindowsXP-KB906216-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB906232-x86-CSY.exe /passive /norestart
WindowsXP-KB906472-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB906650-x86-CSY.exe /passive /norestart
WindowsXP-KB906688-x86-CSY.exe /passive /norestart
WindowsXP-KB906751-x86-CSY.exe /passive /norestart
WindowsXP-KB906866-x86-CSY.exe /passive /norestart
WindowsXP-KB907247-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB907717-x86-CSY.exe /passive /norestart
WindowsXP-KB908536-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB908673-x86-CSY.exe /passive /norestart
WindowsXP-KB909279-x86-CSY.exe /passive /norestart
WindowsXP-KB909441-x86-CSY.exe /passive /norestart
WindowsXP-KB909608-x86-CSY.exe /passive /norestart
WindowsXP-KB909667-x86-CSY.exe /passive /norestart
WindowsXP-KB910365-x86-CSY.exe /passive /norestart
WindowsXP-KB910623-x86-CSY.exe /passive /norestart
WindowsXP-KB911013-x86-CSY.exe /passive /norestart
WindowsXP-KB911589-x86-CSY.exe /passive /norestart
WindowsXP-KB911904-x86-CSY.exe /passive /norestart
WindowsXP-KB912354-x86-CSY.exe /passive /norestart
WindowsXP-KB912666-x86-CSY.exe /passive /norestart
WindowsXP-KB912761-x86-CSY.exe /passive /norestart
WindowsXP-KB912784-x86-CSY.exe /passive /norestart
WindowsXP-KB913365-x86-CSY.exe /passive /norestart
WindowsXP-KB913478-x86-CSY.exe /passive /norestart
WindowsXP-KB914399-x86-CSY.exe /passive /norestart
WindowsXP-KB914810-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB914929-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB915326-x86-CSY.exe /passive /norestart
WindowsXP-KB915365-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB915832-x86-CSY.exe /passive /norestart
WindowsXP-KB916094-x86-CSY.exe /passive /norestart
WindowsXP-KB916189-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB916199-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB916204-x86-CSY.exe /passive /norestart
WindowsXP-KB916731-x86-CSY.exe /passive /norestart
WindowsXP-KB917022-x86-CSY.exe /passive /norestart
WindowsXP-KB918014-x86-CSY.exe /passive /norestart
WindowsXP-KB918033-x86-CSY.exe /passive /norestart
WindowsXP-KB918204-x86-CSY.exe /passive /norestart
WindowsXP-KB918208-x86-CSY.exe /passive /norestart
WindowsXP-KB918334-x86-CSY.exe /passive /norestart
WindowsXP-KB918338-x86-CSY.exe /passive /norestart
WindowsXP-KB918365-x86-CSY.exe /passive /norestart
WindowsXP-KB918495-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB918599-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB918837-x86-CSY.exe /passive /norestart
WindowsXP-KB919250-x86-CSY.exe /passive /norestart
WindowsXP-KB919408-x86-CSY.exe /passive /norestart
WindowsXP-KB919477-x86-CSY.exe /passive /norestart
WindowsXP-KB919484-x86-CSY.exe /passive /norestart
WindowsXP-KB919692-x86-CSY.exe /passive /norestart
WindowsXP-KB920183-x86-CSY.exe /passive /norestart
WindowsXP-KB920867-x86-CSY.exe /passive /norestart
WindowsXP-KB920875-x86-CSY.exe /passive /norestart
WindowsXP-KB920918-x86-CSY.exe /passive /norestart
WindowsXP-KB921028-v5-x86-CSY.exe /passive /norestart
WindowsXP-KB921321-x86-CSY.exe /passive /norestart
WindowsXP-KB921337-x86-CSY.exe /passive /norestart
WindowsXP-KB921401-x86-CSY.exe /passive /norestart
WindowsXP-KB921411-x86-CSY.exe /passive /norestart
WindowsXP-KB921413-v4-x86-CSY.exe /passive /norestart
WindowsXP-KB921619-x86-CSY.exe /passive /norestart
WindowsXP-KB921982-x86-CSY.exe /passive /norestart
WindowsXP-KB922410-x86-CSY.exe /passive /norestart
WindowsXP-KB922668-x86-CSY.exe /passive /norestart
WindowsXP-KB922859-x86-CSY.exe /passive /norestart
WindowsXP-KB923118-x86-CSY.exe /passive /norestart
WindowsXP-KB923154-x86-CSY.exe /passive /norestart
WindowsXP-KB923214-x86-CSY.exe /passive /norestart
WindowsXP-KB923232-v3-x86-CSY.exe /passive /norestart
WindowsXP-KB923262-x86-CSY.exe /passive /norestart
WindowsXP-KB923404-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB923416-x86-CSY.exe /passive /norestart
WindowsXP-KB923996-v2-x86-CSY.exe /passive /norestart
WindowsXP-KB924271-x86-CSY.exe /passive /norestart
Re: Dualcore - CPU Affinity, windows scheduler
Ufff, tak do toho nejdu - Windows mam anglicke, tj. 330MB zaplat
http://hotfix.xable.net/index.php?di.../Windows%20XP/
.. a neverim tomu, ze by mi potom okna nabehly
Re: Dualcore - CPU Affinity, windows scheduler
Zkus ROPE, ale neni to free: http://www.innes.org/
Pak jsem jeste neco nasel tu: http://forums.amd.com/lofiversion/index.php/t65211.html
ale nemam moznost vyzkouset ani to ani to :)
Re: Dualcore - CPU Affinity, windows scheduler
ANO, to je PRESNE ono :)
ROPE je command line launcher, funguje naprosto bez problemu.
SetAffinity je naopak aplikace co dokaze monitorovat procesy a pote jim priradit prednastavenou affinitu (bohuzel, ten service mi nejak nefungoval).
Hlavne umi modifikovat exe soubor a nastavit v nem affinitu napevno - vedel sem ze to jde, ale netusil sem, ze na to existuje takhle sikovna utilita. Takhle si zmodifikuju problemove programy (prozatim jenom to Lego :mweheh:). Dodam jen, ze takto modifikovane programy funguji bez problemu i na singlecore, navic program vytvori zalozni kopii.
Moc si mi pomohl Andurile, dekuji, K+
Re: Dualcore - CPU Affinity, windows scheduler
Utilitka na forcnuti affinity u nejake aplikace primo v .exe existuje uz hodne dlouho. Je dokonce neoficialne od MS a jmenuje se imagecfg.exe. Nicmene, je to sice cesta, ale ne moc idealni. Jsou programy, ktere po tomto zasahu do exe jiz nenajedou.
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Haste
Utilitka na forcnuti affinity u nejake aplikace primo v .exe existuje uz hodne dlouho. Je dokonce neoficialne od MS a jmenuje se imagecfg.exe. Nicmene, je to sice cesta, ale ne moc idealni. Jsou programy, ktere po tomto zasahu do exe jiz nenajedou.
Ono tech aplikaci moc neni - u obycejnych CPU intensive aplikaci je ten propad vykonu kolem 5-10%, coz mi opravdu zily netrha. Spis mi jde o par problematickych her, kde tohle prepinani ma brutalni vliv na vykon - ale to clovek pozna okamzite, tj. nejde o zadne experimentovani - pokud by nefungovalo forcnuti skrze exe soubor, je tu porad ROPE.
Muj problem je v podstate vyresen, ale bych bych rad, kdyby tento thread zustal otevren pro pripadnem informovani o nejake zaplate na windows scheduler (tomu ale sam neverim)
BTW: Nechcete to nekdo vyzkouset ve Viste RC1? Zda trpi stejnym problemem. Ja uz ji smazal a instalovat ji znovu abych zjistil, ze to tam je take no h*vn* se mi moc nechce.
Re: Dualcore - CPU Affinity, windows scheduler
No, ono tento DC issue s prepinanim jader neni zas tak uplne problem scheduleru. Ten system je v podstate jednoduchy. Osobne bych to videl spis na HW/driver zalezitost. Treba jedna hra co delala problemy na X2 porad i se vsema moznyma zaplatama byl SeriousSam2. Ta proste porad poskakovala. Jediny zpusbo byl forsnout affinitu. Ovsem na C2D nic takoveho neni! Tady sem zatim nenainstaloval zadnou zaplatu ani drivery(ani zadne nejsou) a vse bezi jak ma. Zadna hra mi zatim neudelal zadny problem, ani NHL05 ani SS2, nic. Pritom XPcka sou normalni SP2, takze to spis davam za vinu HW/driverum.
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Haste
Ovsem na C2D nic takoveho neni! Tady sem zatim nenainstaloval zadnou zaplatu ani drivery(ani zadne nejsou) a vse bezi jak ma. Zadna hra mi zatim neudelal zadny problem
Ale mně třeba ano. V Quake 4 v síťovém timedemo (... které jsem používal) běží panák jakýmsi domem a pak vyběhne ven do takové arény. V tom okamžiku to vždycky cukne. Na single-core je většinou cuknutí malé, na dual-core se to většinou zasekne tak na vteřinu. Preload dema hodně pomáhá, ale ne 100%. Proč? Netuším, ale každopádně je to divné. A dělá to i na Core 2 Duo. Kvůli tomu jsem musel změnit timedemo.
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Eagle
Ale mně třeba ano. V Quake 4 v síťovém timedemo (... které jsem používal) běží panák jakýmsi domem a pak vyběhne ven do takové arény. V tom okamžiku to vždycky cukne. Na single-core je většinou cuknutí malé, na dual-core se to většinou zasekne tak na vteřinu. Preload dema hodně pomáhá, ale ne 100%. Proč? Netuším, ale každopádně je to divné. A dělá to i na Core 2 Duo. Kvůli tomu jsem musel změnit timedemo.
No tyhle DC problemy se vetsinou projevuji kontinualnim zasekavanim, poskakovanim atd, proste ze to neni plynule. Pripadne zrychlovanim/zpomalovanim behu hry v extremnich pripadech. To ze hra v nejakem presnem a urcitem a stale stejnem miste sekne treba na sekundu bych videl spis jako memory controller nebo presun pres PCIE ci neco podobneho. Jsou to ruzne systemy a nemuzes vse svadet na DualCore.
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Haste
No tyhle DC problemy se vetsinou projevuji kontinualnim zasekavanim, poskakovanim atd, proste ze to neni plynule. Pripadne zrychlovanim/zpomalovanim behu hry v extremnich pripadech. To ze hra v nejakem presnem a urcitem a stale stejnem miste sekne treba na sekundu bych videl spis jako memory controller nebo presun pres PCIE ci neco podobneho. Jsou to ruzne systemy a nemuzes vse svadet na DualCore.
Jenže já to testoval na třech dual-core a na pěti single-core a prostě ty single-core to dělaly v menší míře. Např. u single-core to v polovině průběhů šlo bez záseku, u dual-core nikdy.
Re: Dualcore - CPU Affinity, windows scheduler
Zdravim... No ja jsem taky hledal...jak vyresit problem se starejma hrama na X2 4800+@2.8Ghz a nasel jsem MCUtil Processor Affinity 1.0 http://www.slunecnice.cz/product/MCU...ssor-Affinity/ ... umi to poustet programy na ruznejch procakach nebo jadrech... jdou udelat BATaky.. ktery pres ten program poustej hry. Zatim mi to pomohlo u vseho co se cukalo... nebo mi neslo hrat multiplayer...
Re: Dualcore - CPU Affinity, windows scheduler
Nejnovější verze kernelu pro XP CZ
5.1.2600.3023 z 30.10.2006
KB896256-v4
http://www.microsoft.com/downloads/d...DisplayLang=cs
Re: Dualcore - CPU Affinity, windows scheduler
Citace:
Původně odeslal
Haste
No tyhle DC problemy se vetsinou projevuji kontinualnim zasekavanim, poskakovanim atd, proste ze to neni plynule. Pripadne zrychlovanim/zpomalovanim behu hry v extremnich pripadech. To ze hra v nejakem presnem a urcitem a stale stejnem miste sekne treba na sekundu bych videl spis jako memory controller nebo presun pres PCIE ci neco podobneho. Jsou to ruzne systemy a nemuzes vse svadet na DualCore.
Nevim jak Core 2 Duo, ale i u mě na Core Duo jsem měl u některých (hlavně starších) her problémy. Začalo to, když jsem si chtěl nainstaloval Unreal Tournament GOTY a poskakovalo to. Myslel jsem, že to dělá dynamická změna násobiče, ale ať jsem si s tim hrál v RMclocku jak jsem chtěl, tak to nepomohlo a až pak jsem si vzpoměl, že mám vlastně v notebooku dvoujádro a vyřešila to ta affinita.