Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
Tento zápisek volně navazuje na víc jak dva roky starý (ten čas ale letí...) článek Škálování quadcore při kompilaci jádra. Nevím kdy přesně v jádře přibyla volba pro hotplugování procesorů, každopádně nyní tam je a to nám umožňuje snadno emulovat počítač s méně jádry a docílit tím přesnějšího srovnání. Z hlediska CPU se změnilo za ty dva roky poměrně málo- stále zde máme čtyřjádrové procesory, frekvence se nehla ani o píď a zlepšení v architektuře nejsou ani na straně intelu (Nahalem) ani AMD (novější Phenomy) ničím, kvůli čemu by musel člověk sbírat čelist z podlahy. Snad jen servery s 2x čtyřjádrovými procesory jsou nyní častějším jevem, na desktopu to je ale relativně vzácnost.
2x X5482 (3.2 GHz), tyto procesory jsou více známy pod názvem Core 2 Extreme QX9775, protože pod tímto značením se prodávaly v Intel SkullTrail sestavách, 16 GiB DDR2 800 MHz FB DIMM
Jádro 2.6.31.5, vanilkové. gcc 4.3.4
Metodika se od minula nijak nezměnila akorát jsem neměřil kompilaci jádra se všemi volbami, neboť časy byly příliš dlouhé a já potřeboval provést spoustu měření. Použil jsem tedy .config jádra, které běžně používám. Pro simulaci počítače s méně jádry jsem použil "hotplug"
echo 0 > /sys/devices/system/cpu/cpuN/online //místo N se dosadí číslo jádra
kernel z něho odmigruje všechny procesy, zamorduje příslušné kernel thready a snad i přepne do nějakého úsporného režimu. Pro systém dané jádro přestane existovat, není ani v /proc/cpuinfo. Starší metodou je předání jádru parametru maxcpus při bootu a ještě starší omezení počtu procesorů v .config. Ne-SMP jádra, tedy s efektivnějšími implementacemi některých zámků, se už dneska v žádné distribuci nevyskytují ale ta volba v konfiguraci jádra stále je. Záměrně jsem tedy vynechal měření "jednojádra".
graf říká vše Opticky se zdá, že osmijádro oproti čtyřjádru nedává výrazně lepší výsledky ale je to jen optický klam, osmijádo zvládne kompilaci 1.87x rychleji. Celkově vzato kompilace jádra škáluje velmi pěkně. Docela by mě zajímalo, jak by vypadala situace na i7 procesoru s aktivovaným hyperthreadingem.
Zajimavé poznatky přináší ješte hodnota user+sys, jinými sklovy kolik času procesory skutečně "odedřou". ta roste z 317 vteřin při -j1 lineárně k 350 při -j16. Jinými slovy o celých 33 vteřin práce procesoru příjdeme kvůli tomu, že se procesy točí ve spinlocku, počítají pomaleji kvuli tahanici o paměťovou sběrnici a L2 cache.
Pokud od rána do večera neděláte nic jiného, než že kompilujete jádo, tak běžte pro osmijádrový počítač. Pozor, tento test říká právě to a nic jiného. Vyvozování jakýchkoliv dalších závěrů jen na vlastní nebezpečí.
Tiskni Sdílej:
S(N) = 1/((1 - P) + (P / N))
, kde P je cast algoritmu, ktera musi bezet sekvencne a N je pocet procesoru.
problem je, ze P nemusi byt konstanta. hodnota P je dana vstupnimi daty. coz je vicemene intuitivni, ma cenu paralelizovat velke ukoly nez male. a taky a to je hlavni, jsou pripady kdy P je funkci N... coz meni vyzneni celeho ,,zakona'', i.e., jde dosahnout linearniho i super-linearniho zrychleni! to znamena, ze v nekterych pripadech jde treba na dvoujadrovem procesoru dosahnou 10x zrychleni.
na druhou stranu, v pripade parallelniho programovani je potreba prehodnotit cely pristup k navrhu algoritmu a programu... protoze zkusenosti ze sekvencnich algoritmu jsou v pripade parallelnich algoritmu vicemene k nicemu.
vysoké školství produkuje praxií nepolíbené teoretiky-idealisty:-]]
to je něco naprosto z jine galaxie řekl bychto je jasne... svuj notas jsem koupil od dvou ferengu pri ceste po gama-kvadrantu! puvodne jsem ho ani nechtel, ale nakonec jsem se nechal ukacat. :-]
Ale tady asi ani to ne páč 10x zrychlení na dvoujádru to ned8 ani backpruning,takze taky teoretik? v praxi lze dosahnout superlinearniho zrychleni i s ,,beznyma parallelnima'' programama. staci si uvedomit, ze realny program nepouziva jenom CPU... a nadesignovat pak experiment, kde vyjde desetinasobne zrychleni na dvoujadru je uz jenom otazka cviku a trochy praxe. ;-]
To není k smíchu s tím školstvím, já jsem také jeho produktem, vím o čem mluvímja jsem se smal necemu uplne jinemu... :-]]
Tak mi nějaký takový experiment vycházejiící z praxe na reálném hardwarevezmi si nejaky program a do jeho vlaken si pridej parkrat volani sleep(). uvidis, jaky to bude mit vliv na skalovani. ted si vem ten program a misto volani sleep si tam domysli, cekani na diskove I/O, cekani na sit, atd. bohuzel, z jistych duvodu nemuzu byt konkretnejsi...
Tak tim jsi to zabil naprosto.to si jen myslis, nebo jsi to i zkousel? na I/O se musi cekat za vsech okolnosti v sekvencni i nesekvencni variante. jenomze v pripade nesekvencni varianty, zatimco jeden proces ceka na vyrizeni I/O, dalsi muze vyuzivat procesor. jeste bych mel dodat, ze aby to fungovalo (mimo amdahluv zakon) je potreba, aby pocet procesu byl vetsi nez procesoru.
Pořád to v tom nevidím.pointa je v tom, ze I/O se zacne chovat jako dalsi procesor. vezmi si jako trivialni pripad treba jednoprocesorovy stroj s dvema vlaknama, kdy se musi stridave cist a zpracovavat data... zatimco jedno vlakno cte data (nepotrebuje procesor), druhe pracuje... takze uloha skaluje i kdyz by vlastne nemela.
Což takhle ukázka, do kostry pthreads aplikace napasovat nejskou simulaci výpočtu a IO a počítadlo iterací... půl hodinky. Nebo alespoň odkaz na něco, co takhle krásně škáluje.zkus si to naprogramovat sam, hint jsem dal vys. ja uz jsem touto diskuzi zabil vic casu nez je zdravo. a taky diskuzi o tom, ze ten a ten priklad neni optimalni nebo ze neodpovida realite jsem si uzil uz vic nez dost.
pdflush
), mohou běžet na volných procesorech, takže nejen že neubírají procesorový část uživateslkým procesům, ale ješte se ušetří režie přepínání úloh na procesoru (uložení a načtení všech registrů, prohozeni TSS+LDT a pod.).