Google ve spolupráci se společnostmi Samsung a Qualcomm představil (YouTube) platformu pro rozšířenou realitu Android XR. První zařízení s Androidem XR budou k dispozici v roce 2025.
Byl představen CentOS Stream 10 s kódovým názvem Coughlan. Detaily v poznámkách k vydání. CentOS Stream 10 už neobsahuje balíček s Xorg serverem (xorg-x11-server-Xorg). O zobrazování se stará Wayland s Xwaylandem (xorg-x11-server-Xwayland). Odstraněny byly aplikace Firefox, GIMP, LibreOffice, Inkscape a Thunderbird. Ty jsou k dispozici ve Flatpaku z Flathubu.
Byly vyhlášeny výsledky The Game Awards 2024 (YouTube). Hrou roku se stal Astro Bot (YouTube) běžící pouze na PlayStation 5.
Na GOG.COM probíhá Winter Sale 2024. Při té příležitosti lze každý den do konce roku získat zdarma jinou počítačovou hru, viz kalendář uprostřed stránky Winter Sale 2024. Otevření balíčku se hrou vždy ve tři odpoledne. První hrou je The Whispered World: Special Edition.
Nezisková organizace Internet Security Research Group (ISRG) vydala Výroční zprávu za rok 2024 (pdf). Organizace stojí za certifikační autoritou Let's Encrypt, projektem Prossimo, jehož cílem je používání paměťově bezpečného kódu v kritické internetové infrastruktuře a službou Divvi Up řešící telemetrii respektující soukromí uživatelů.
Vývojáři PeerTube, tj. svobodné alternativy k videoplatformám velkých technologických společností, představili mobilní aplikaci PeerTube (Google Play, App Store). Zdrojové kódy jsou k dispozici na Framagitu.
Google představil Gemini 2.0, tj. novou verzi svého modelu umělé inteligence (YouTube).
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Byla vydána nová verze 3.27 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.6 souvisejícího programovacího jazyka Dart (Wikipedie).
Virtualizace prožívá za posledních několik let velký rozmach. A aby také ne – velká část aplikací a síťových služeb nevyžaduje ke svému běhu výkon celého fyzického serveru, ale v mnoha případech by bez virtualizace nic „menšího“ k dispozici nebylo. Možnost migrace virtuálních strojů mezi více hostiteli navíc přináší další výhody, mezi něž patří vyrovnávání vytížení hostitelů či možnost běhu virtuálního stroje bez přerušení, i když je hostitele potřeba restartovat třeba kvůli aktualizaci jádra.
Xen vznikal v době, kdy si o hardwarové podpoře virtualizace mohli na architektuře x86 vývojáři nechat jenom zdát, virtuální stroj tedy běží paravirtualizovaně – to znamená, že jádro hosta musí být patřičně upraveno, aby se nepokoušelo používat instrukce, které může použít pouze kód běžící v privilegovaném režimu.
V současnosti není začleněn v jádře s odůvodněním, že je příliš invazivní, znečišťuje kód architektury x86 a případnými regresemi by trpěli všichni uživatelé Linuxu – i ti, kteří o používání Xenu (nebo virtualizace obecně) nemají zájem.
KVM si naopak cestu do hlavní řady našlo poměrně rychle, první verze byla začleněna krátce po začátku vývoje do jádra 2.6.20 (podpora pro procesory AMD byla začleněna o verzi později do 2.6.21). Využívá hardwarovou podporu virtualizace v procesoru hostitelského stroje, jedná se tedy o plnou virtualizaci, která nevyžaduje žádné úpravy hostovaného operačního systému.
(Podrobnější informace přesahují rámec tohoto článku, můžete je najít v mnoha jiných článcích i zde na Abclinuxu.)
Pro testovaní byl použit server Intel S5000PAL osazený následujícími komponentami:
Procesor: | 2× Quad-Core Xeon E5420 (2,5 GHz) |
Paměť: | 4× 4GB FB-DIMM DDR2 (667MHz) |
Pevné disky: | 2× 500GB Seagate (ST3500320NS) |
2× 1000GB Seagate (ST31000340NS) |
Z disků byla sestavena 2 pole RAID1 (softwarový RAID), na menším poli byl nainstalován hostitelský operační systém a vytvořen swap o velikosti 8 GB. Větší pole sloužilo jako úložiště pro disky virtuálních strojů – nad polem bylo vytvořeno LVM, každý logický svazek sloužil jako disk.
Stroj disponuje dvěma síťovými kartami. První – eth0 – slouží jako rozhraní do fyzické sítě; eth1 byla pomocí bridge spojena se síťovými kartami virtuálních strojů, aby se z hostitele bylo možné pomocí SSH přihlásit na hosty; eth1 nebyla fyzicky připojena nikam.
Za zapůjčení testovacího stroje děkuji společnosti THINline interactive s.r.o, provozovateli Českého hostingu.
Jako operační systém byl zvolen Debian Lenny. Xen byl testován na jádře 2.6.26 (balík linux-image-2.6.26-2-xen-amd64), verzi hypervizoru 3.2.1 (balík xen-hypervisor-3.2-1-amd64).
Protože se KVM poměrně rychle vyvíjí, byla použita verze z Debianu Unstable – v té době nejnovější jádro 2.6.31 (balík linux-image-2.6.31-1-amd64) a kvm-85 (85+dfsg-4.1).
Testovány byly dvě výkonnostní varianty virtuálních strojů. První varianta měla k dispozici celé CPU a 2048 MB paměti, druhá měla k dispozici 1/4 CPU a 512 MB paměti (tyto varianty budou v textu nadále podle využitelného času CPU označovány jako 1/1 a 1/4.) Při všech testech bylo hostitelskému systému ponecháno k dispozici jedno jádro CPU, které hosté nesměli využívat.
Co se disků týče, pro každý virtuální stroj byly vytvořeny tři logické svazky, jeden pro systém, jeden pro datový oddíl, na kterém se prováděly testy, a jeden pro swap. Na systémovém oddílu byl použit souborový systém ext3, na datovém xfs.
Kompletní nastavení Xenu je možné vyčíst z konfiguračního souboru:
memory = 2048 maxmem = 2048 name = "virtual1" cpus= "^0" vif = ['ip=192.168.150.11,mac=00:00:10:01:23:01,bridge=br0'] disk = ['phy:mapper/obrazy-vsys1,sda,w','phy:mapper/obrazy-vdata1,sdb,w','phy:mapper/obrazy-vswap1_1,sdc,w'] kernel = "/boot/vmlinuz-2.6.26-2-xen-amd64" ramdisk = "/boot/initrd.img-2.6.26-2-xen-amd64" root = "/dev/sda1 ro"
KVM se nastavuje parametry předanými na příkazové řádce, každý stroj byl spouštěn takovýmto skriptem:
#!/bin/bash tunctl -t tap1_01 ip l s tap1_01 up brctl addif br0 tap1_01 kvm -drive file="/dev/mapper/obrazy-vvsys1",index=0,if=virtio,boot=on -boot c -m 2048 \ -drive file="/dev/mapper/obrazy-vvdata1",index=1,if=virtio,boot=off \ -drive file="/dev/mapper/obrazy-vvswap1_1",index=2,if=virtio,boot=off \ -net nic,vlan=0,macaddr=00:00:10:01:23:01,model=virtio -net tap,vlan=0,ifname=tap1_01,script=no \ -monitor tcp::44001,server,nowait -vnc :1 ip l s tap1_01 down brctl delif br0 tap1_01 tunctl -d tap1_01
Poznámka – přestože všechny hostované stroje měly k dispozici swap, žádný ho při testech nevyužil.
U KVM si můžeme všimnout parametru if=virtio u konfigurace disků a síťové karty. Hardwarová podpora virtualizace v CPU se nevztahuje na I/O a práci s hardwarem, takže v nejzákladnějším nastavení by bylo nutné práci disků i síťové karty emulovat (a KVM by tak bylo degradováno na úroveň Qemu). Výše zmíněný parametr proto vytvoří v hostitelském stroji taková zařízení, aby bylo možné použít paravirtualizované ovladače.
Co se týče variant 1/4, je nutné nějakým způsobem omezit využívání CPU daným virtuálním strojem. Xen umožňuje nastavit limity využívání CPU na maximální hodnotu (v našem případě 25&nbs,; %) napevno příkazem
xm sched-credit -d virtual1 -c 25
Virtuální stroj KVM běží v systému jako samostatný proces a v Linuxu není jednoduché spolehlivě omezit využívání procesoru procesem. Z toho důvodu jsou při startu všechny procesy KVM pomocí mechanismu řídících skupin [control groups] omezeny tak, že smí využít pouze tolik procesorů, aby na jeden virtuální stroj připadla čtvrtina výkonu.
Cílem jednotlivých testů bylo nejenom srovnat výkon jednotlivých typů virtualizace, ale – tam, kde to je možné – porovnat s výkonem na fyzickém stroji a zjistit tak výkonnostní úbytek u daného typu virtualizace – při paralelním běhu těchto testů se používá stejná výkonnostní varianta hostů.
U některých testů byl navíc srovnáván i běh obou výkonnostních variant zároveň – v takových případech je zjišťováno, jestli výkonnostní varianta 1/4 opravdu disponuje jenom čtvrtinou výkonu oproti 1/1. (Pevné stanovení výkonu je důležité například v případě, kdy jsou hostované stroje pronajímány zákazníkům, kteří platí podle přiděleného výkonu – tam chceme, aby skutečný podaný výkon odpovídal tomu, co je stanoveno).
Zde je také potřeba předeslat, že většina testů není příliš podobna nějakému reálnému provozu – jedná se o testy syntetické, které v mnoha případech přespříliš vytěžují hostitelský systém. To nám umožňuje zhodnotit i to, jak se jednotlivá virtualizační řešení zachovají v mezní situaci.
Následuje popis jednotlivých testů a dosažené výsledky:
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Ano, to je velice nepříjemná věc v debianu (u mě squeeze) - musí se instalovat balík "qemu-kvm", protože balíček "kvm" je VELICE a značně zastaralý, způsobuje výkonnostní anomálie, padání guestů, ...
Prvne diky moc za clanek.
Kdyby na to nekdy byla chut, tak bych moc rad videl aspon zakladni porovnani behu widli na Xen a KVMku. Sam jsem si hral s Win 2k3 serverem a na obojim se chova proti Linuxu mnohem hur. Na Xenu widle doslova staly na miste kvuli desivejm odezvam. Na KVM to bylo lepsi, ale zase se dost desne chovaly disky.
Lidi, jakou mate zkusenost s virtualizaci widli? Zaslech jsem, ze velmi dobre chodi vmware server, ale zrovna nemam volnej HW na testovani.
Protože se KVM poměrně rychle vyvíjí, byla použita verze z Debianu Unstable – v té době nejnovější jádro 2.6.31 (balík linux-image-2.6.31-1-amd64) a kvm-85 (85+dfsg-4.1).Opravdu bylo použito poslední KVM? kvm-85 je poměrně starý balík. Aby nedošlo ke zmatení čtenářů... Sám používám na desktopu unstable a používám balík qemu-kvm, teď ve verzi 0.12.3+dfsg-4. V dokumentaci se lze dočíst v
/usr/share/doc/qemu-kvm/changelog.upstream-kvm.gz
, že tento balík je založen na kvm-88 [12 july 2009]. Sám jsem používal chvíli kvm-85 a měl problémy s virtualizovanými Windoze. Po čase jsem si všiml balíku qemu-kvm (s novějším KVM). V tom mě Windoze běžely o řád lépe (to už je tak 3/4 rok zpět). Tedy nevím kdy tyhle testy proběhly, ale o aktuálnosti user-space části KVM lze dost pochybovat?
No a co se týče XENu, tak ten je teď samozřejmě v kernelu 2.6.32 připravován pro Squeeze také zřejmě v novější podobě.
Nechtěl by si někdo dát práci a ty testy zopakovat?
Opravdu bylo použito poslední KVM?V té době... je to cca půl roku, spíš víc, nechá se to odvodit i podle "nejnovějšího jádra" 2.6.31. Holt docela dlouho trvalo to sepsat.
qemu-kvm (0.11.0+dfsg-1) unstable; urgency=low * Package qemu-kvm (stable series) instead of kvm (snapshots) * Simplify the packaging, remove support for external module source * Move old debian/changelog to debian/changlog.kvm -- Jan Lübbe <jluebbe@debian.org> Mon, 02 Nov 2009 11:49:28 +0100Zrejme ty testy probehly jiz v roce 2009...
Bohuzel spatne dopadl test site a spousteni.Teď jsem ještě zkusil netperf -t TCP_STREAM mezi KVM Linux hostem (virtio síť) a fyzickým strojem (ne hostitelem) a vyšlo cca 920×10^6 b/s na gigové síťovce. Stejný fyzický stroj proti hostiteli dá 940, takže tu síť bych opravdu tak špatně neviděl. netperf AFAIK používají k benchmarkování i vývojáři jádra, takže špatným nástrojem to IMO taky nebude...
Zalostne taky dopadlo rekurzivni spousteni skriptu. Linux Host mel 1:25 (v minutach), XEN guest mel 1:34, windows xp host s cygwinem sam mel 20:31.Zatímco v Linuxu, jako ostatně ve většině unixů, jsou procesory "lehké" (light-weight) a jejich spouštění přes
fork()+exec()
relativně nenáročné, ve Windows jsou procesy relativně "těžkotonážní", fork()
není nativně v dispozici (Cygwin ho musí emulovat) a mnohem víc se využívají lehká vlákna. Pokud se na
Windows provozuje program silně používající unixový styl (např. právě ono rekurzivní spouštění skriptů), je logické, že výsledek dopadne takto žalostně.
Pamatuju si, jak jsem kdysi musel při portování jednoho svého programu z Linuxu na Windows přepsat volání externích utilit na používání knihoven, protože to, co Linuxu běžel celkem slušně, bylo ve Windows nepoužitelně pomalé - rozdíl v rychlostech byl téměř o řád a většinu zátěže spotřebovalo spouštění oněch externích utlilit (užívaných jako "filtry" na načítání vstupních a ukládání výstupních obrázků).
Tisk bez diskuzetak dostanes cely clanek...
Asi tolik ke slavne virtualizaci