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 03:00 | Komunita

Na OpenPOWER Summitu bylo oznámeno, že OpenPOWER Foundation – včetně POWER Instruction Set Architecture (ISA) a klíčových hardwarových referenčních návrhů – Open Coherent Accelerator Processor Interface (OpenCAPI) a Open Memory Interface (OMI) – bude začleněna pod Linux Foundation.

Ladislav Hagara | Komentářů: 0
včera 16:00 | Komunita

MojeFedora.cz informuje, že Fedora schválila konec 32 bitových repozitářů Modular a Everything. I nadále by měly být zachované multilib balíčky, takže kompatibilita s 32bitovým softwarem nebude ohrožená.

Ladislav Hagara | Komentářů: 0
včera 13:00 | Komunita

Konference LinuxDays 2019 proběhne o víkendu 5. a 6. října v Praze v Dejvicích v prostorách FIT ČVUT. Konference OpenAlt 2019 proběhne o víkendu 2. a 3. listopadu na FIT VUT v Brně. Přihlaste svou přednášku nebo workshop (LinuxDays, OpenAlt). Upozorněte známé. LinuxDays CFP končí již v pondělí 26. srpna v 23:59.

Ladislav Hagara | Komentářů: 0
včera 11:33 | Zajímavý software

Článek na Opensource.com představuje nástroj gocryptfs pro šifrování souborů. Gocryptfs využívá FUSE, stejně jako například EncFS. Naprogramovaný je v programovacím jazyce Go. Porovnání s podobnými šifrovacími nástroji v tabulce. Jako GUI pro gocryptfs lze použít SiriKali.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Python Programming by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 14 elektronických knih věnovaných programovacímu jazyku Python od nakladatelství No Starch Press. Peníze lze libovolně rozdělit mezi No Starch Press, Humble Bundle a neziskové organizace The No Starch Press Foundation a Python Software Foundation.

Ladislav Hagara | Komentářů: 0
19.8. 20:33 | Nová verze

Byla vydána nová verze 3.0.8 multiplatformního multimediálního přehrávače VLC (Wikipedie). Jedná se o minor verzi řešící několik regresí a opravující 13 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
19.8. 06:00 | Pozvánky

Srpnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 22. 8. 2019 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tématem bude jako obvykle svobodný software a hardware. A pokud vás zajímá bezpečnost bezdrátových klávesnic a myší (útok MouseJack a spol.) a nějaké takové zařízení máte, vezměte ho sebou – trochu ho potrápíme o ověříme jeho bezpečnost.

xkucf03 | Komentářů: 3
18.8. 16:33 | Nová verze

David Heinemeier Hansson oznámil vydání nové major verze 6.0 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Přispělo 801 vývojářů.

Ladislav Hagara | Komentářů: 13
17.8. 18:11 | Nová verze

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

Ladislav Hagara | Komentářů: 8
17.8. 13:33 | Komunita

Nadace Raspberry Pi na svém blogu informuje o vydání Scratch 3 Desktopu pro Raspbian na Raspberry Pi. Verze 3 výukového vizuálního programovacího jazyka Scratch byla vydána v lednu letošního roku. Offline Scratch Desktop byl ale dosud dostupný pouze pro Windows a macOS.

Ladislav Hagara | Komentářů: 2
Používáte ještě 32bitový software na PC?
 (20%)
 (15%)
 (17%)
 (43%)
 (6%)
 (29%)
Celkem 440 hlasů
 Komentářů: 36, poslední 18.8. 21:46
Rozcestník

Dotaz: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém

13.3. 16:17 PetebLazar
Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Přečteno: 991×
Virtualizace KVM/QEMU nám umožňuje jeden zajímavý trik. Rozběhnout VM s určitým počtem virtuálních cpu(core) a jejich obluhu pomocí například nástroje qemu-affinity svěřit stanovené podmnožině fyzických cpu(core). Umožňuje to například rozběhnout komlexni MT-úlohu v čase T nad všemi VM dostupnými N-virtuálními jádry(ve skutečnosti obsluhovanou např. pouze N/2 fyzických jader). Pokud sit́uace dovolí, je možné změnou affinity tentokrát již k N-fyzickým jádrům poskytnout stále běžící úloze v čase T+X více výkonu.

Umožňuje něco takového přímo prostředí Linuxu, tj. přesvědčit proces v době vzniku o dostupnosti N-jader a zajistit obsluhu její subprocesů/threadů pouze zvoleným počtem (konkrétních) jader?

Cílem je u dlohotrvající MT-zátěže umožnit měnit dynamicky míru zátěže hostitelského systému. Příklad: rendering výstupu NLE.

Řešení dotazu:


Odpovědi

13.3. 16:30 alkoholik | skóre: 37 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Jo, to se da udelat celkem jednoduse pres cgroups.
13.3. 20:06 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Zatím v cgroups nějak nenalézám schopnost přesvědčit task, že je dostupno pouze N-jader a on tomu přizpůsobil v době zahájení míru své multithreadovosti.
13.3. 23:02 alkoholik | skóre: 37 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Jo takhle to myslis. To asi budes muset delat hotplug CPU ve virtualu.
13.3. 23:38 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
To by asi nepomohlo, algoritmus úlohy by musel průběžně ověřovat počet dostupných cpu(core) a měnit dynamicky šíři své MT dle toho. Mám obavu, že takto se asi málokterý (NLE) program chová. Skze VM to není problém vyřešit, VM spustí se s určitým (limitním) počtem virtuálních jader a jejich obsluha se svěří omezenému(případně rozšířenému) počtu fyzických jader dle požadavků na výkon.

I toto řešení je přijatelné, do VM bych asi nasadil edici CentOS7.3 od BMD, který má podle všeho slušnou podporu Davinci Resolve (aspoň funguje mi v něm GPU decoding Blackmagic-RAW, k čemuž jsem zatím Xubuntu 18.04 nepřesvědčil). Pouze musím vyřešit překlopení nainstalovaného VM CentOS7.3 z Legacy na UEFI, kvůli OVMF GPU-passthrough.

Možná by stačilo nějakým způsobem přesvědčit program při spouštění, že systém disponuje pouze N-jádry (plus parking na stanovená jádra). Otázkou je, jak si to program zjišťuje.
13.3. 20:36 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
13.3. 21:49 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Taskset nastaví affinitu jader k procesu, ale neovlivní kolika dostupných jader si je proces vědom. Pokud se tento rozhodne využít všech dostupných jader (fyzických/logických) nic mu v tom asi bránit nebude. Samozřejmě i to by nejspíš fungovalo, ale obsluhovat více vláken jedním jádrem by zvyšovalo podíl režie. Na druhou stranu to poskytovalo asi největší rozsah regulace (až k 1:1).
14.3. 21:31 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Nevím nakolik je to "košer", ale jednou z možných cest asi může být dočasné vypnutí určeného počtu jader procesoru(ů) před spuštěním omezovaného programu (v prostředí Ubuntu pomocí echo 0 | sudo tee /sys/devices/system/cpu/cpux/online).

Spuštěný program (jeho úloha) se pak musí spokojit maximálně s v dané době dostupnými jádry (jejich počtem) a po rozběhnutí dlouhodobé úlohy pak stačí vypnutá jádra opět zapnout (echo 1 | sudo tee /sys/devices/system/cpu/cpux/online).

Výše zmíněný taskset pak poslouží k nastavení affintity procesu k určeným jádrům (v době "sucha" k menšímu počtu, v době "hojnosti" k většímu). Maximální vytížení by však nemělo přesáhnout úroveň z doby vypnutí jader (samozřejmě v případě úlohy, která si průběžně počet dostupných jader neověřuje).
20.3. 17:36 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
To by asi šlo, ale pozor, u virtualizovaného hardware na Debianu stable (virtio_scsi, pokud si dobře vzpomínám), tohle vede na pád jádra.
Quando omni flunkus moritati
20.3. 22:36 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Jde o postip (disablování jader) uvažovaný pro nativní běh aplikací (v rámci HostOS). Nebude to uplaťnováno při využití virtualizace (tam jsou jiné možnosti).
21.3. 12:06 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Jasně, šlo mi spíš o to, že podobný problém může mít i ovladač pro jiný hardware
Quando omni flunkus moritati
21.3. 20:42 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Zatím jsem žádnou nestabilitu nepozoroval, pokud by se tak stalo určitě to zde uvedu. Někde se zmiňuje, že po vypnutí jádra daným postupem je toto stále dostupné pro již existující procesy, ale nedostupné pro nové. CPU0 nejde tímto způsobem (asi logicky) vypnout.

Možná, že nejbezpečnější cestou by byl parametr isolcpus v kernelu (ten by měl vyřadit izolovaná jádra z uvažování kernel-scheduleru), takže by předpokládám funkce ovladačů (až na ty v userspace) neměla být hrátkami s jádry ohrožena. Tedy za předpokladu, že v userspace o vzniklé procesy/thready bude postaráno (schedulingem).

Pozn. Vypadá to, že vypnutí dostatečného počtu jader umožní spuštění starších her (Steam/Proton), které mají s vyšším počtem jader problém.
21.3. 09:09 j
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Rekl bych, ze toto fungovat nebude. Jednoduse proto, ze prakticky kazdy nomalni system si bez problemu poradi s hotplugem CPU a i aktualne bezici ulohy na ne v klidu presune. Tohle se bude chovat nejspis uplne stejne.

Vetsina aplikaci si pak v prubehu behu spousti a ukoncuje hromadu threadu, ktere opet system prubezne distribuuje na dostupny jadra. Co se tyce omezeni mnoztvi vyuzivanych jader, prevazne je to soucasti konfigurace aplikaci.

V tuxovi nativne IMO bude nejlip fungovat zmena priority (niceness), coz sice neomezi vyuzivany jadra, ale velice dobre to uprednostni nebo upozadi vybrany aplikace (priklad - na desktopu bezi kompilace, CPU jede na 100%, ale protoze ma nizkou prioritu, tak nema temer zadny vliv na odezvu systemu, a uzivatel si muze vesele browsat po webu, poustet videa ... protoze to vse ma prioritu vyssi).
21.3. 12:33 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Pro aplikaci DRS (DaVinci Resolve Studio, o kterou mi jde) to vypadá funkční. Když na CPU se všemi jádry spustím export projektu, zátěž procesem GUI_Thread dosahuje cca 1400%. Když před spuštěním DRS omezím procesor například na 8 jader a v něm spustím export, zátěž GUI_Thread dosahuje 800%. Rozhodující je okamžik spuštění DRS, kdy si asi aplikace zjišťuje počet dostupných jader a tomu přizpůsobuje svou budoucí multi-threadovost. Zátěž zůstane omezená, i když jsou před samotným spuštěním exportu všechna jádra zase aktivní.
24.3. 16:35 OldFrog {Ondra Nemecek} | skóre: 31 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
No ale na toto skutečně stačí pro DRS nastavit vyšší nice. Anebo nastavit nižší počet threadů - divil bych se, pokud by DRS neměl možnost nastavit počet threadů.
-- OldFrog
21.3. 08:57 Peter Golis | skóre: 58 | Bratislava
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Nebude jednoduchšie použiť CPU Hotplug, a dynamicky adaptovať počet threadov výpočtovej aplikácie clustera aby vyťažili pridelené VCPU (alebo to nechať na optimálne maximálnom počte, ak to zle napísané úlohy nedovolia)?

Hranie sa so zbytkovým výkonom jadier mi nepripadá moc optimálne. Ako hlavolam na dlhé zimné večery to môže byť veľmi dobré, ale dnes je predsa prvý jarný deň.
21.3. 12:39 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Jde o hledání řešení v rámci nativního běhu aplikace, nevím zda odkazované nepředpokládá využití virtualizace?
21.3. 13:04 Peter Golis | skóre: 58 | Bratislava
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
nevím zda odkazované nepředpokládá využití virtualizace
Prví napísané slová: Virtualizace KVM/QEMU.
21.3. 14:03 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
V úvodním dotazu jsem formuloval otázku na možnost řešení v rámci nativního běhu (řešení skrze virtualizaci jsem uvedl jako příklad cíle).

Proto ta má sondujíci otázka, říkal jsem si jestli nejde o nějaký trik s QEMU o nemž nemám tušení.

Za preferencí nativního běhu mj. stojí snaha zapojit do akcelerace exportu DRS obě přítomné Geforce(OpenCL/CUDA). Při virtualizovaném řešení využiji pouze jednu (druhou bude okupovat HostOS). Sekundárním důvodem je výkon IO, ten může na vstupu překonávat dlouhodobě 500MB/s(ve VM obtížněji dosažitelné).
Řešení 1× (OldFrog {Ondra Nemecek})
21.3. 21:00 lertimir | skóre: 63 | blog: Par_slov
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Nevidím přímo, proč bych potřeboval tak silně omezovat jádra, a nestačilo by snižovat pouze niceness nebo ioniceness. To v mých případech je dostatečné na udržení priority používané aplikace před background výpočtem. Jediný problém je s buffery, jejichž velikost je třeba hlídat, zvláště když jsou velké objemy paměti a mohly by buffery narůst na velké velikosti v poměru k přenosovým rychlostem do diskových zařízení.
23.3. 07:25 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Šlo mi o minimalizování nutné režie. Pokud by proces použil všechna dostupná jádra (32) pro svůj běh a já je následně affinitou přiřadil na 8-jader (snaha izolovat je na node v NUMA). Poběží 4 thready/jádro, takže výsledná efektivita běhu může být nižší (klesne cache/thread, RAM bandwidth/thread, ...), než dejme tomu při 2 thr/jádro.
23.3. 20:51 GeorgeWH | skóre: 39
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
A neslo by to opacnym smerom? Neobmedzovat VM na pocet vCPU (teda dat mu plny/max mozny pocet), ale obmedzovat mu vykon - znizovat/zvysovat frekvenciu/cpu vahu/pool (podla moznosti danej virtualizacie).
23.3. 21:59 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Připomínám, nejde o VM. Jde o custom omezení nativně běžící aplikace pod Linuxem (konkrétně DaVinci Resolve Studio). Cílem je omezit maximální multi-threadovost aplikace (pro dlouho bežící task .. rendering projektu). Dejme tomu na max. 12-16 jader, přičemž v době potřeby výkonu jinde ji affinitou jejím procesům/threadům poskytnout pouze 6-8 fyzických jáder (zjednodušeně řečeno omezit na cca 50% výkonu). V době volných zdrojů ji affinovat k 12-16 fyzickým jádrům (možnost běžet naplno .. 100% výkonu). Rendering může běžet i několik hodin, podle délky timeline a množství(složitosti) korekcí.
24.3. 15:39 sigma
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Pokud to v aplikaci nejde nastavit (jako že asi ne, jinak by se to tu neřešilo) pak záleží na tom, jakým mechanismem si daná aplikace zjišťuje počet CPU v systému.

Podle toho by šlo použít buď standardní mechanismy používané pro kontejnery (namespaces, cpuset) nebo by bylo možné trik s LD_PRELOAD pro vložení vlastního kódu překrývajícího příslušnou knihovní funkci nebo odchytávajícího příslušný syscall a modifikující odpověď.

Těch mechanismů je vícero:

sysconf(_SC_NPROCESSORS_ONLN)

get_nprocs_conf()

get_nprocs()

čtení /proc/cpuinfo nebo i iterace přes sys/devices/system/cpu, podle kreativity vývojářů
24.3. 15:59 PetebLazar=
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Také mne to zpočátku toto napadlo, do chvíle kdy mi Google vyhodil odkaz "12 způsobů jak zjistit počet jader CPU v Linuxu." ;-)

Zatím je to vyřešeno dočasným "vypnutím" patřičného počtu jader před spuštěním omezované aplikace. Vypadá to, že ta si počet dostupných jader zjišťuje pouze při spuštění a během života s ním počítá. Otázkou je, zda zvolený zůsob (dočasného vypnutí jader) může být důvodem nestability na úrovni OS/APL?
24.3. 20:45 Gregi
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
A taky jednoduchy script v crone, co overuje zataz jadier v systeme, alebo procesu, ktory ma vyssiu prioritu pre ktory to robis (all) a na zaklade toho dynamicky pridelovat Davinci procesu max. CPUs technikami co pani uz spomenuli? Samozrejme ak to ta aplikacia nevie za behu overit a pada, potom asi len cez ten sysCall.
24.3. 23:19 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Taková dynamičnost ani není požadavkem, jde čistě o uživatelské(ruční) přidělování zdrojů. Výše zmíněná technika (uvedení X-jader do offline před spuštení DRS a jejich vrácení do online po jeho startu) se zatím jeví nejjednodušší a funkční, do vzniků problémů vydržím s ní.
26.3. 08:00 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Krása akéhokoľvek "ručného" riešenia v unixovom prostredí je, že ide zvyčajne jednoducho automatizovať skriptom.

Ničmenej, je relatívnne bežná prax offloadovať rendering videa na iný, na to určený stroj, tak pri procese vkladania nových zdrojových videí, ako aj pri exporte finálnych výsledkov. Nebola by toto cesta?

26.3. 09:30 PetebLazar
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Zda po editaci bude probíhat i rendering může tušit pouze uživatel, odpovídající skript může příslušné opatření pouze provést, nikoli rozhodnout. Stejně tak míru potřeby dostupných zdrojů pro případnou paralelní činnost.

Offload renderingu určitě ano, druhou licencí DRS dokonce disponuji (byla součástí kamery), je to dlouhodobý cíl (offloadovat na stroj s méně zdroji než poskytuje primární PC by zatím nemělo smysl, kromě paralelní editace/renderingu).Uvidíme jak na tom bude nová generace Ryzenů/Threadripperů/EPYCů. Řešení by muselo být komplexnější nejen kvůli změně storage projektu (postgresql místo FS), ale i s ohledem na potřebu sdílení soubororů projektu (xTB se síťovou průchodností v řádu 1GB/s). Vhodné řešení storage pro tento účel vyplynulo z příspěvků v nedávném vedlejším té́matu.
26.3. 09:37 Peter Golis | skóre: 58 | Bratislava
Rozbalit Rozbalit vše Re: Dynamická změna vlivu dlouhotrvající MT-zátěže na hostitelský systém
Zda po editaci bude probíhat i rendering může tušit pouze uživatel
A presne kvôli tomuto vznikli kadejaké výpočtové clustre ktoré takéto banality riešia. Človek si zadefinuje úlohu, a tá sa mu distribuuje podľa daných kritérií.

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.