SUSE Linux Enterprise Real Time Extension 10
Specifiche tecniche
Requisiti di sistema
Nonostante SUSE® Linux Enterprise Real Time possa essere eseguito su sistemi a processore singolo, assicura i migliori risultati su sistemi multiprocessore. I requisiti di sistema minimi e consigliati sono i seguenti:
Requisiti di sistema minimi
- 512 MB di RAM fisica
- 5 GB di spazio disponibile su disco
Requisiti di sistema consigliati
- Sistema multicore/multiprocessore
- 1 GB di RAM fisica
- 10 GB di spazio disponibile su disco
Processori supportati
- x86
- AMD64
- Intel EM64T
SUSE Linux Enterprise Real Time Extension è un'estensione che può essere installata solo su SUSE Linux Enterprise Server.
Requisiti software minimi- SUSE Linux Enterprise Server 10 SP2
Caratteristiche tecniche
SUSE Linux Enterprise Real Time Extension è basato sul kernel Linux 2.6.22 e include il più recente set di patch in tempo reale della comunità open source (preempt_RT), vale a dire patch che supportano la sospensione, con spinlock dormienti, interrupt gestiti dai thread ed ereditarietà delle priorità. Include inoltre il supporto per CPU dedicate, assegnazione delle risorse e timer ad alta risoluzione. Il Service Pack 2 introduce un ulteriore supporto per i blocchi adattativi e il Precision Time Protocol, oltre a includere il più recente stack software RDMA offerto da OpenFabrics Alliance, OpenFabrics Enterprise Distribution (OFED) 1.3. Con il Service Pack 2, Novell diventa il primo distributore Linux a supportare OFED 1.3.
Spinlock dormienti - SUSE Linux Enterprise Real Time Extension include modifiche che rendono interrompibili, o soggette a sospensione, sezioni del sistema operativo generico Linux precedentemente non interrompibili. Se è possibile eliminare la possibilità che un processo non interrompibile del sistema operativo interrompa un processo ad alta priorità o impedisca che venga avviato, la latenza viene ridotta al minimo e i tempi di risposta sono più prevedibili. Una delle modifiche introdotte sono gli spinlock dormienti. Gli spinlock sono un meccanismo che consente di garantire l'accesso sincronizzato alle risorse di sistema. I thread di esecuzione “fanno girare” e utilizzano risorse della CPU per verificare regolarmente e attendere che un blocco venga rilasciato ed essi possano essere completati. Gli spinlock di SLERT sono stati modificati in modo da essere messi in stato di attesa (o sospesi) affinché lascino libere le risorse che bloccano per l'esecuzione di processi ad alta priorità.
Interrupt gestiti dai thread - Per rendere più preemptivo il kernel di SUSE Linux Enterprise Real Time Extension è stata introdotta un'altra modifica specifica: gli interrupt del kernel gestiti dai thread. Gli interrupt sono processi che vengono avviati dall'hardware (interrupt hardware) o dal software (interrupt software), che una volta generati fanno sì che il kernel di Linux passi dalla modalità di processo a quella di interrupt. I processi che vengono eseguiti in modalità di interrupt in un sistema operativo generico non sono soggetti a sospensione. Con SUSE Linux Enterprise Real Time Extension, invece, questi interrupt sono stati vincolati e incorporati in thread del kernel, che possono essere interrotti in modo da assoggettare alla prelazione dei processi a più alta priorità definiti dall'utente gli interrupt hardware e software.
Ereditarietà delle priorità - L'ereditarietà delle priorità consiste nella possibilità che ha un processo di priorità inferiore di acquisirne una più elevata, nel caso in cui un processo di priorità superiore richieda che quello di priorità inferiore venga completato per eseguire il suo task. Con SUSE Linux Enterprise Real Time Extension i servizi di kernel richiamati da un processo ad alta priorità non dovranno attendere a tempo indeterminato mentre altri servizi di kernel, richiamati da processi a bassa priorità (che includono il via libera di un semaforo), arrancano impegnati in tale priorità inferiore. La priorità del processo a bassa priorità verrà aumentata oppure erediterà quella del processo ad alta priorità fino a quando il semaforo non diventerà verde. Inoltre, SUSE Linux Enterprise Real Time Extension offre un glibc alternativo che allarga l'ereditarietà delle priorità allo spazio dell'utente. Le applicazioni che utilizzando questo glibc alternativo possono richiedere l'applicazione dell'ereditarietà della priorità ai loro mutex POSIX.
CPU dedicate e assegnazione - Con SUSE Linux Enterprise Real Time Extension gli utenti possono controllare interamente l'assegnazione dei processi e dei thread alle CPU. I processi che devono essere eseguiti in tempo reale possono essere assegnati a CPU o core dedicati. Le CPU che eseguono task in tempo reale possono essere completamente preservate da altri processi che potrebbero essere loro assegnati in modo non esplicito, al fine di garantire che siano sempre disponibili per i processi ad alta priorità e non subiscano gli effetti di un aumento del carico del sistema, garantendo l'affidabilità e la prevedibilità.
Timer ad alta risoluzione - I servizi di kernel dei timer Posix a bassa risoluzione (40 millisecondi) sono stati sostituiti da una nuova implementazione con risoluzione di circa 2 microsecondi. La quantità di tempo che il sistema impiega per elaborare interrupt, chiamate di sistema, daemon del kernel e applicazioni utente ora è calcolabile in risoluzioni di nanosecondi.
Funzionalità aggiunte con il Service Pack 2:
Blocchi adattativi - Gli spinlock di SUSE Linux Enterprise Real Time Extension 10 Service Pack 2 sono stati ulteriormente modificati per ridurre i tempi di cambio di contesto del sistema operativo, migliorando notevolmente la velocità effettiva di workload sensibili. Un nuovo algoritmo adattativo per i blocchi del kernel consente di mettere i task in attesa utilizzando la sospensione, invece di rilasciare immediatamente la CPU in caso di attesa di una risorsa contesa. Questa soluzione riduce efficacemente il numero di cambi di contesto del sistema, aumentando la velocità effettiva e riducendo simultaneamente la latenza per alcune applicazioni.
Precision Time Protocol - SUSE Linux Enterprise Real Time Extension 10 Service Pack 2 supporta il Precision Time Protocol (PTP) versione 1, un protocollo di trasferimento che consente la sincronizzazione precisa delle reti ad alta velocità. Il PTP assicura livelli di precisione pari a nanosecondi e migliora significativamente la precisione dei tempi e dell'accounting dei processi rispetto ai protocolli dei sistemi operativi generici quali NTP e GPS.
OFED 1.3 - SUSE Linux Enterprise Real Time Extension 10 Service Pack 2 include inoltre OpenFabrics Enterprise Distribution (OFED) 1.3, il più recente stack di software RDMA open source offerto da OpenFabrics Alliance, che consente l'implementazione di interconnessioni unificate ad alta velocità basate su InfiniBand e 10 Gigabit Ethernet. Con il Service Pack 2, Novell diventa il primo distributore Linux a supportare OFED 1.3.