Opzione CGroup

La piattaforma Unbit si basa pesantemente su 3 concetti: processi,address space e tempo cpu.

Questa suddivisione e' molto versatile e permette una limitazione degli account molto precisa.

In alcune situazioni o particolari ambienti, questa gestione puo' introdurre complessita' e costi elevati.

Ad esempio ssh e zope, poco si prestano all'utilizzo di un quantitativo minimo di processi o address space.

CGroup e' una recente tecnologia presente negli ultimi kernel di Linux alla base di molti ambienti di containing.

Si basa su un semplice concetto, raggruppare una serie di task e assegnarvi un quantitativo prestabilito di risorse, nel nostro caso memoria RSS.

La memoria RSS e' quella effettivamente dedicata a un processo, mentre l'address space contiene tutte le aree di memoria utilizzate, anche quelle condivise dagli altri processi del sistema (comprese le shared library).

L'opzione CGroup applicata a un particolare ambiente unbit permette di trasformare il paradigma processo/address space/tempo cpu in slice cpu/rss

Se ad esempio ad un piano ssh classico (6 processi, 48 mega di address space) si applica l'opzione cgroup128

si avra' a disposizione un ambiente ssh con un quantitativo di processi superiore (tra i 20 e i 40) che condividono la stessa fetta di memoria RSS di 128 mega. Si ottiene quindi un'ambiente simile a un VPS con la versatilita' che ne consegue.

Il tempo cpu massimo sparisce, in favore dell'assegnazione di una 'slice cpu', la differenza sostanziale e' che in caso di sovraccarico della cpu i processi non vengono terminati ma ottengono solo un quantitativo minimo di cpu (in forma di percentuale). Il risultato e' che i processi saranno rallentati ma non verranno terminati.

Lo stesso sistema si sposa perfettamente con Zope che richiede diverse fork() in fase di spawn ma poi passa in modalita' multithread. Unito alle ultime release delo ZODB che permettono di limitare in termin di bytes la cache, si puo' facilmente ottenere un sistema stabile e meno incline all'esaurimento di risorse.

Attualmente l'opzione Cgroup e' disponibile solo in forma di plugin. In futuro saranno introdotti dei piani appositi e ove si ritenga un'alternativa valida (il primo candidato e' zope) sara' sostituita alla modalita' processo/as/tempo cpu

CGroup (l'ultima modifica รจ del 2009-02-25 12:03:28, fatta da RobertoDeIoris)