abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 0
    dnes 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

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

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 1
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 361 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: ondemand, sampling_rate, rychlost změny frekvence

    10.5.2007 00:43 Jan Martinek | skóre: 43 | blog: johny | Brno
    ondemand, sampling_rate, rychlost změny frekvence
    Přečteno: 659×
    Zdravím, svým dotazem navazuji na tuto diskusi o frekvenci procesoru
    http://www.abclinuxu.cz/forum/show/179537
    která je ale v této chvíli už překošatělá.
    Zcela jistě má smysl regulovat frekvenci procesoru i na desktopu - za rok provozu jsou náklady na elektřinu srovnatelné s pořizovací cenou procesoru ( a to mluvím pouze o penězích).
    Druhou stránkou věci je to, že se frekvence procesoru musí zvýšit dostatečně rychle při zvýšené zátěži, jinak se počítač jeví líný. Jestliže mám zapnutý ondemand governor:
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    a jestliže nastavím, aby se frekvence zvýšila už při 20% zátěži
    echo 20 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
    
    a jestliže nechám samplovat zátěž co nejčastěji
    echo $(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min) > \
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    
    tak to stejně není dostatečné, protože nejnižší hodnota pro samplovací periodu je 620000 mikrosekund, tedy něco přes půl sekundy. A to už je bohužel poznat. Mohu názorně demonstrovat:
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time
    
    fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
    fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
    fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
    
    class CPUgov:
        def __init__(self):
            self.minfreq = self.readintfromfile(fnmin)
            self.maxfreq = self.readintfromfile(fnmax)
    
        def readintfromfile(self, fn):
            return int(file(fn).read())
    
        def getfreq(self):
            return self.readintfromfile(fncur)
    
        def waitforfall(self):
            stamp = time.time()
            while self.getfreq() != self.minfreq:
                time.sleep(0.01)
            return time.time() - stamp
    
        def waitforrise(self):
            stamp = time.time()
            while self.getfreq() != self.maxfreq:
                pass
            return time.time() - stamp
    
    cpu = CPUgov()
    while True:
        print 'rise:', cpu.waitforrise()
        print 'fall:', cpu.waitforfall()
    
    Frekvence se skutečně zvýší až po cca 0.6 sekundách, což je pro interaktivní práci (např. přepínání mezi okny, renderování html) příliš dlouho. Takže se chci zeptat, jak snížit hodnotu v
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    Díky

    Odpovědi

    10.5.2007 08:39 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Zjistil jsem další věc. Na jiném počítači (notebook, Mobile AMD Athlon(tm) XP 2800+) je hodnota v
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    pouze 100000, tedy desetina sekundy. A skutečně se to velmi projeví v ochotě zvyšovat frekvenci. Ale přece to nemůže záviset na hardwaru. Nebo ano?
    Josef Kufner avatar 10.5.2007 09:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Zkusil bych:
    echo "požadovaná hodnota" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    Přičemž ona požadovaná hodnota bude ze .../scaling_available_frequencies.
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 09:52 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No, mě šlo o něco trochu jiného. Frekvence procesoru se přepíná mezi správnými hodnotami (to měnit nemusím), ale governor reaguje příliš pozdě na změnu zátěže.
    Reakční doba se sice dá nastavit v souboru
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    ale nejnižší nastavitelná hodnota je sampling_rate_min. A ta je dle mého názoru příliš vysoká.
    Josef Kufner avatar 10.5.2007 20:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No vždyť.
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 21:14 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No, zapomněl jsem podotknout hlavní kámen úrazu - že sampling_rate_min je read-only soubor.
    Josef Kufner avatar 10.5.2007 21:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Aha, tak to by mohl být trošku problém. Toho jsem si nějak nevšiml ;-)
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 21:44 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Aha, tady si toho taky někdo všiml (a snad to popsal líp než já). http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/6b4c5005900a9f08/acc0776dd0b9c08c?lnk=raot
    nekompilujete zrovna někdo nové jádro, že byste zkusili něco změnit v cpufreq_ondemand.c? Myslím, že tahle věc musí vadit všem, co používají jaderný ondemand governor.
    10.5.2007 23:21 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Jaká je minimální frekvence, kterou si ten procesor umí nastavit? Zkusil jsem ten tvůj skript a frekvence se mi přepne až po 1.2s, přesto žádné výrazné zpomalení nepozoruju, všechny programy reagují svižně. (AMD Athlon X2, minimální frekvence je 1GHz)
    Quando omni flunkus moritati
    11.5.2007 08:51 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Až za 1.2 sekundy? Tak to je ještě horší než u mě (mám 0.62). Jasně, je to hnidopišství, 1GHz je pořád ještě dost slušná mašina. Ale když něco dělám v inkscapu, gimpu, prohlížeči apod. tak se frekvence mnohdy přepne s křížkem po funuse a přijde mi to jako škoda.
    11.5.2007 00:06 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    A nebylo by lepší, kdyby to jelo na max po celou dobu, co počítač používáš, a teprve když odejdeš, tak aby nastoupilo řízení frekvence? Se spuštěním screensaveru zapnout řízení, s vypnutím vypnout, třeba.
    11.5.2007 09:03 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    To by bylo spíš obcházení problému. Navíc se zdá, že náprava nebude složitá. V jádře je tohle:
    static unsigned int def_sampling_rate;
    #define MIN_SAMPLING_RATE_RATIO                 (2)
    /* for correct statistics, we need at least 10 ticks between each measure */
    #define MIN_STAT_SAMPLING_RATE                  \
                            (MIN_SAMPLING_RATE_RATIO * jiffies_to_usecs(10))
    #define MIN_SAMPLING_RATE                       \
                            (def_sampling_rate / MIN_SAMPLING_RATE_RATIO)
    #define MAX_SAMPLING_RATE                       (500 * def_sampling_rate)
    #define DEF_SAMPLING_RATE_LATENCY_MULTIPLIER    (1000)
    #define TRANSITION_LATENCY_LIMIT                (10 * 1000)
    Zkusím si s tím trochu pohrát. Mám (na druhém počítači) vyzkoušeno, že když ondemand zareaguje za 0.1 sekundy, tak je to už úplně v pohodě a nepoznám žádnou prodlevu.
    11.5.2007 10:20 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Tak mě se zdá, že při tvých podmínkách by mohlo docházet ke změně frekvence docela často. Třeba při každém načtení webové stránky, zobrazení další stránky v pdf dokumentu atd. Nevím, jestli vysoká frekvence zmeny frekvence cpu nevadí... A docela by mě zajímalo, kolik času při tomhle nastavení pojede procesor stejně na max. A vyšší frekvence vzorkování to taky určitě trošinku ovlivní :-)
    11.5.2007 11:09 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Chci ji měnit (nejvýše) desetkrát za sekundu, což mi vůbec nepřijde často. Vzhledem k tomu, že P-state transition latency bývá 10 až 100 mikrosekund, tak jsem naprosto klidný. Viz
    http://softwarecommunity.intel.com/isn/Community/en-US/forums/30234265/ShowThread.aspx
    Jestli vyšší frekvence vzorkování bude mít na něco vliv, to pochybuju. Schválně zkus číst 10x za sekundu soubor /proc/stat. Pro systém je to zcela neměřitelná zátěž.
    A kolik procent času stráví procesor na své max. frekvenci? Taky by mě to zajímalo. Jdu měřit:
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import time
    
    fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
    fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
    fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
    
    class CPUgov:
        def __init__(self):
            self.minfreq = self.readintfromfile(fnmin)
            self.maxfreq = self.readintfromfile(fnmax)
            self.samples_high = 0
            self.samples_low = 0
    
        def readintfromfile(self, fn):
            return int(file(fn).read())
    
        def getfreq(self):
            return self.readintfromfile(fncur)
    
        def measure(self):
            freq = self.getfreq()
            if freq == self.minfreq:
                self.samples_low += 1
            else:
                self.samples_high += 1
    
    cpu = CPUgov()
    while True:
        cpu.measure()
        N100 = (cpu.samples_high + cpu.samples_low) * 0.01
        print 'high: %5.2f%%  low:%5.2f%%' %(cpu.samples_high / N100,
                                             cpu.samples_low / N100)
        time.sleep(1)
    
    Zkuste tohle nechat běžet hodinu, dvě, tři ... den, dva, tři ...

    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.