nos Pásztor: How (not) to document
Let’s face it: writing documentation is fundamentally boring. Unless you’re a total graphomaniac, chances are you are not writing as much documentation as you should be, or if you do, you find it hard to organize it in a useful manner. Grab a cup of coffee and join me on a journey of the good, the bad and the ugly parts of writing documentation. By the time we are finished, you will find writing and reading documentation a lot easier.
nos Pásztor: How (not) to document
Let’s face it: writing documentation is fundamentally boring. Unless you’re a total graphomaniac, chances are you are not writing as much documentation as you should be, or if you do, you find it hard to organize it in a useful manner. Grab a cup of coffee and join me on a journey of the good, the bad and the ugly parts of writing documentation. By the time we are finished, you will find writing and reading documentation a lot easier.
Virtualization allows computing resources like storage, I/O, and interconnects to be shared across virtual machines through emulation, paravirtualization, or operating at the OS or API level. Popular virtualization platforms include Qemu, Xen, OpenVZ, and WINE which can emulate or virtualize at different levels. Virtual machines are managed through tools that allow starting, stopping, migrating, and monitoring large numbers of instances, though standardizing management via CIM and WBEM remains problematic. Virtualization is also related to grid computing by providing a runtime environment and addressing security issues.
Virtualization allows computing resources like storage, I/O, and interconnects to be shared across virtual machines through emulation, paravirtualization, or operating at the OS or API level. Popular virtualization platforms include Qemu, Xen, OpenVZ, and WINE which can emulate or virtualize at different levels. Virtual machines are managed through tools that allow starting, stopping, migrating, and monitoring large numbers of instances, though standardizing management via CIM and WBEM remains problematic. Virtualization is also related to grid computing by providing a runtime environment and addressing security issues.
The document summarizes the NIIF Grid development portfolio, including its ClusterGrid infrastructure with 1000 computational nodes across 32 clusters. It describes the Grid Underground (GUG) middleware project, a new generation framework developed since 2006 using selected grid standards. GUG features a pure web services architecture, core services for information, storage, job management, security and monitoring, and has been tested successfully with real-life applications.
1. CoLinux – avagy két dudás
egy csárdában
Szalai Ferenc
Nemzeti Informatikai Infrastuktúra Iroda
(NIIF Iroda)
szferi@niif.hu
2. Bevezető
●
Motiváció: ClusterGrid: Nemzeti
tudományos műszaki számítási és
adatárolási infrastruktúra
●
Feladat: 1000 windows-on szeretnénk
Linux-ot futtatni.
●
Technológiai megoldás: virtualizáció
●
Konkrét választás: Cooperative Linux
(CoLinux)
3. Virtualizációs technikák
●
Alkalmazás szintű: cygwin, posix
emulációs program könyvtárak
●
Chroot alapú: BSD jail, linux-vserver,
virtouzzo (SW-Soft, ebben a hónapban
let szabad softwer egy része)
●
Emuláció: WMWare, QEmu, MS Virtual
PC
●
Paravirtualizáció: User-Mode-Linux,
XEN, CoLinux
4. Mi az a CoLinux?
●
Kernel patch (alapvetően 2.6-os
kernelhez):
– interfész host OS kernel meghajtóval
(driver)
– virtualis eszközök: blokk meghajtók, konzol,
hálózat
●
Felhaszálói programok:
– colinux-daemon, colinux-console-nt,
colinux-console-fltk, colinux-network-bridge
●
NT alapú windows kernel kell hozzá
●
Fő fejlesztő: Dan Aloni (Japán)
5. Hogyan működik-részletek
(ring3)
Host Userspace
colinux-serial-daemon Host Kernel Guest Kernel
process (ring0) (ring0)
IPC using colinux-daemon coLinux
named pipes process Kernel Normal
driver
Linux
Main Run Userspace
ioctl()
Loop Passage
page
entry entry
colinux-console-nt (unmodified
process binaries)
colinux-net-daemon
process
colinux-bridged-net-daemon
process
6. CoLinux hálózat
●
natív bridge:
– Win32TAP az OpenVPN projektből: virtuális
hálózati meghajtó a windowsban
– natív windows bridge
●
emulált bridge: winpcap meghajtó kell
hozzá a windows-on konfigurációt nem
igényel
●
egzotikus módszetek: ppp, slip stb.
7. Telepítés
●
stabil változat: 0.6.2
– letölthető windows installer (NSIS
setup.exe) ami a kernel és felhaszálói
programok
– root állományrendszert nekünk kell
csinálni: gentoo, debian van előre gyártott
– XML konfigurációs állomány: memória,
root állomány rendszer, hálózat, initrd,
kernel
●
unstable változat: monoton-ban a
forrás elérhető, linux-on mingw gcc
kereszetfordító figuráció
8. Haszálat
●
colinux-daemon.exe:
– kernel.sys betöltése (--install-driver)
– windows szolgáltatásként is regisztálható
(--install-service)
– a többi colinux-* program futatása a
konfigráció alapján
9. Teljesítmény
●
Window folyamat ütemezője nem rossz!
– alacsony prioritás colinux-* folyamatoknak
– a host rendszeren nem érezni napi interaktív
haszálat mellett
●
Teszt: povray CPU-ra, iozone I/O-ra:
– CPU 98%
– IO 83%
10. Mire haszálhatjuk
●
Bármire amire egy Linux-ot
– linux kernel tesztelés és hibakeresés
– windows linux átálás
– hogyan haszáljuk iptables-t windows-on :)
– virtuális szuperszámítógép építésére:
ClusterGrid: Linux szerver (klaszter front-
end), CoLinux kliensek.
11. Problémák
●
Stabilitás: 90%-os
●
Hálózat:
– 10 Mb/s a maximum :(
– IEEE 802.1q VLAN trunk technika
támogatása hiányzik
●
Memória kezelés: közös memória
haszálat a host rendszerrel hiányzik
●
I/O: COW
●
Több CoLinux felügyelete