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 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

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

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

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

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 3
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 442 hlasů
     Komentářů: 12, poslední včera 21:12
    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: 680×
    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.