Newsgroup: it.comp.os.dibattiti
Titolo: Linux e la sua scalabilità.

Insomma pare che Linux 2.2.x, secondo quanto affermato da alcuni in questo
NG, possiede
una scalabilità più che lineare. Ossia che l'incremento di prestazioni
ottenuto con N processori
è più del doppio rispetto alle prestazioni ottenibili con N/2 processori
dove N è un numero intero pari superiore
a 1. Possibile oppure si tratta di abuso di grappa? (o pigliata per i
fondelli, fate vobis)
A luminari come Marco D'Itri la parola.
Saluti.

Avrei potuto scrivere anche che l'incremento di prestazioni ottenibile con
N*2 processori
è superiore al doppio delle prestazioni ottenibili con N processori. Ma
sapete..
a volte la sul piano cartesiano la distanza minima frà due punti non è la
retta
che congiunge i due punti...
Saluti.

NG, possiede
Mi rispondo da solo....
Dopo una sana lettura di testi su 
www.linux.org
 ho capito che in effetti la
scalabilità di Linux 2.0.x su sistemi
multiprocessore lasciava alquanto desiderare (per essere buoni...). Il
Kernel 2.2.x scala ne più e ne meno come dovrebbe scalare un sistema
operativo SMP.
Saluti.



Appunto, non scala.
Mi dici un sistema operativo (di quelli classici) che scala?
Linux non scalera' mai perche' e' fatto per non scalare.
(Per scalare non intendo da 2 a 4 ma da N a 2N)
Idem per windowsnt e per le sun.
L'unico che ha qualche possibilita' e' allo stato attuale HURD.
-- 
# Giorgio Vecchiocattivi.
# Dip. Informatica, Universita` di Pisa. 

 L'unico che ha qualche possibilita' e' allo stato attuale HURD.
Dimentichi di menzionare QNX
Ciao,
Fabio Alemagna

a 1. Possibile oppure si tratta di abuso di grappa?
Mumble. Se ribaltiamo la cosa, diventa:
"Io ho N processori. Se ne monto N/2, il sistema non dimezza le sue
prestazioni, ma peggiora ancora di piu'".
E questa e' una affermazione che mi pare plausibilissima (1).
Per cui la mia posizione e' questa:
a) A pelle, non ci credo a meno di vederlo e ravanarci a lungo;
b) Matematicamente non vedo perche' non possa essere vero (2)
Leonardo
(1) Significa che il kernel e' ottimizzato per N > 1 processori.
(2) E' legittimo da (a)+(b) dedurre che non mi fido della matematica.
Microsoft Outlook: cosa vuoi postare postare postare oggi?

 
E' una questione teorica. Solo teoria.
Supponi di avere un problema che riesci a risolvere in sequenziale
in tempo T. Supponiamo di non poter fare meglio.
Hai N processori, diciamo che lo risolvi in tempo inferiore a T/N
(
p.es
 (T/N)-d ).
Su 1 processore e' possibile simulare N processi che facciano lo
stesso procedimento N volte piu` lentamente, il tempo che ottieni e`
quindi
	((T/N)-d)*N ossia
	T-d/N, che e` < T, assurdo poiche` abbiamo ipotizzato che al
massimo riesci a farlo in T.
Inoltre, la simulazione e` SEMPRE vantaggiosa, in generale simulare N
processi richiede "meno" di N volte il tempo. (pensa solo al risparmi
di comunicazioni tra processi).
Inoltre c'e' il fenomeno della software-lookout, ossia della
condivisione delle risorse del nucleo. Esempio e' la scrittura su un
file. Quando un processo esegue una "read" blocca una zona del
nucleo in modo che nessun altro processo possa accedervi, per fare
questo il processore deve accedere in modalita` "escusiva" alla
memoria. Quello che fa e' bloccare "tutta" la memoria (se va bene solo
un banco), per operare su un semaforo. In quel frangente gli altri
processori che vogliono accedere alla memoria si bloccano in attesa.
Questo causa degli overhead non indifferenti, che portano a bloccare
la scalabilita` dopo un numero basso di procressori (piu` processori
ci sono e peggio e`).
In Linux 2.0, esisteva un unico semaforo , tutto il nucleo. Cosicche`
ogni chiamata di sistema richiedeva l'accesso al semaforo e il blocco
della memoria. Per la struttura di linux "TUTTE" le operazioni di I/O
sono fatte dal nucleo, motivo per cui accadeva che non scalava per
nulla.
In Linux 2.2, hanno spezzettato il nucleo in piu` sezioni
(parzialmente sovrapposte, credo 8). Il fenomeno di prima e` meno
pesanta, ma c'e' sempre.
In WindowsNT siamo vicini alla situazione di Linux 2.0. 
Alcuni SunOs invece hanno iniziato a togliere le operazioni di I/O dal
nucleo, e dandole in gestione a processi appositi. Motivo per questo
che esistono Server Sun con 20 processori particolarmente adatti a
fare da file-server.


 fare da file-server.
Questo convalida la tesi che avere processis eparati per la gestione
delle periferiche e filesystem è vantaggioso anzichè no (come su QNX,
AmigaOS, e BeOS)
Ciao,
Fabio Alemagna

...

Mi sa che quasi tutti i sistemi operativi multitask usano processi diversi
per
gestire periferiche e filesystem (e video e comunicazioni etc etc). Forse è
meglio
che usino architetture asimmetriche piuttosto che simmetriche dedicando
processori
interi a scopi precisi, piuttosto che cercare di impegnare tutti i
processori a fare cose simili.
Certo quando i processori costeranno una nocciolina i sistemi PC saranno
fortemente asimmetrici
(o perlomeno avranno processori dedicati alla gestione di parti del S/O).
Saluti.

fale...@studenti.unina.it
 wrote:
 >Questo convalida la tesi che avere processis eparati per la gestione
 >delle periferiche e filesystem è vantaggioso anzichè no (come su QNX,
 >AmigaOS, e BeOS)
No, e` vantaggioso avere dei kernel thread che si occupano di scrivere i
blocchi sui dischi, e linux ne ha almeno quattro diversi.
Il discorso kernel/microkernel non c'entra niente.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | > Mettete 
maxa...@tin.it
 nel vostro killfile (Pub. progresso) <

L.S...@agora.stm.it
 wrote:
 >b) Matematicamente non vedo perche' non possa essere vero (2)
Perche` bisogna mettere dei lock intorno alle risorse condivise, e oltre
un certo punto i processori passano troppo tempo dormendo negli spinlock
nell'attesa che un altro processore gli lasci il campo libero.


 (o perlomeno avranno processori dedicati alla gestione di parti del S/O).
Stavamo parlando di multiprocessor... su un singolo processore la
soluzione migliore e` quella di piu` "thread" di nucleo... le
prestazioni con un processo per ogni dispositivo altrimenti si vanno a
fare benedire... Quanto ai processori dedicati o meno, se abbiamo
memoria condivisa la soluzione migliore e` quella dei processori
uguali, altrimenti si formano inevitabilemente colli di bottiglia...


Perche` bisogna mettere dei lock intorno alle risorse condivise
Appunto, questa e' pratica, non matematica :-)
Leonardo che l'aveva detto, di non fidarsi della matematica


 dedicati alla gestione di parti del S/O).
Uh, i processori costano gia' come delle noccioline.
Vedi un po' quanto costano i 386/486, che non sono certo delle
schifezze.
Quello che finora continua a essere troppo costoso ma e soprattutto
troppo complicato sono i *sistemi* multiprocessore.
dd
--
To reply replace "xx" with "mc"


Ma si che sono daccordo al 99%.
Purtroppo l'uno per cento è rappresentato dalla mia mainboard Dual-PII
che all'epoca mi è costata solo 220.000 lire: questa è un'eccezione alla
tua regola.
Ma anche lì è solo una questione commerciale: sono costosi perché la
richiesta è minore.
Perché un motore diesel è più costoso di un normale mototre ciclo-otto,
nonostante sia costruttivamente più semplice dell'altro?
Comunque, tornando ai PC, perché ormai i sistemi operativi non usano le
CPU in modalità APM ??
-- 
Ciao ....
       Massimiliano ADAMO
    E-mail: 
maxa...@usa.net

 Dimentichi di menzionare QNX
In che senso? C'è una versione su 2 dischetti che va offre il doppio di
prestazioni rispetto a quella su singolo dischetto?
'sta scalabilità mi pare 'na strunzata, unica e sola ... sarebbe come
dire che se raddoppio la cilindrata di un'auto, allora mi raddoppia
velocità.
Una scalabilità effettiva (100%) non è raggiungingibile in alcun caso
(non solo nel mondo dei PC)



e allora non scaliamo per niente cosi per fare 2+2 ci vuole almeno un
array di 8 processori.

 CPU in modalità APM ??
Che cosa e' la modalita APM della CPU?
Saluti
Lele

 CPU in modalità APM ??
Cosa e` la modalita` APM? Advanced power management?
-- 
# Giorgio Vecchiocattivi.
# Dip. Informatica, Universita` di Pisa. 
---
E` in corso la CFV per la moderazione di it.scienza.informatica.
Se siete interessati leggete l'aritcolo su it.news.annunci

 velocità.
Idea giusta con esempio sbagliato. Una Panda 750 e un milleequattro
sono li` a dimostrarlo, anche se non vale come principio generale.
-- 
  Da visitare: uno dei piu` grandi archivi di software free (En)
http://www.metalab.unc.edu/pub/Linux/!INDEX.html

 Cosa e` la modalita` APM? Advanced power management?
ops .... avrei dovuto scrivere AMP.


 Che cosa e' la modalita APM della CPU?
ops .... avrei dovuto scrivere AMP.


nonostante sia costruttivamente più semplice dell'altro?
questa dove l'hai letta, sul 'Gionale dei vuotatori di cestini'??
Obelix

nonostante sia costruttivamente più semplice dell'altro?
Perche' fai degli esempi cosi' cretini? Perche' un motore 1600
dovrebbe costare di piu' di un 1400? Eppure e' pratica commerciale
consolidata vendere a maggior prezzo le macchine di cilindrata
maggiore, a parita' di modello e di allestimento.
Il multiprocessore e' facile per te che non devi progettare, ne
hardware, ne software. Se ti capita di usare seriamente NT potresti
vedere che nemmeno lui e' *facile*.
+++
Il fatto che tu abbia comprato a poco prezzo una scheda biprocessore
non vuol dire molto. Anche i CD sembrerebbe semplice plastica, eppure
il processo produttivo per oggetti da poche carte da mille non e'
cosi' semplice se visto da vicino.
---------------------------------------------------------
Cercarsi allevatore di ornitorinchi, ottimo salario,
trattore della ditta, si richiede esperienza pluriennale.

 
E invece AMP che vuol dire?
-- 
# Giorgio Vecchiocattivi.
# Dip. Informatica, Universita` di Pisa. 
---
E` in corso la CFV per la moderazione di it.scienza.informatica.
Se siete interessati leggete l'articolo su it.news.annunci

E invece AMP che vuol dire?
Boh, forse ha visto dei connettori marcati AMP su qualche mother-board
e pensa a chissà quale tecnologia.
Saluti.

 nonostante sia costruttivamente più semplice dell'altro?
Eeeh... come no. Lo sanno tutti che la difficoltà costruttiva dei motori
otto è costituita dalla candela e le valvole.
Poi ovviamente il fatto che un motore diesel abbia bisogno di un
rapporto di compressione *molto* più alto è un fattore meccanicamente
marginale. Infatti i motori diesel sono sempre stati leggeri, veloci,
flessibili come i motori otto.
Inoltre come dici tu è tutta una questione commerciale, infatti i motori
diesel costano meno perchè la gente ne compra meno, e la gente ne compra
meno perchè.... continua tu, grazie.

Le AMP sono un tipo di connettore ethernet mi pare. Si usano con il
BNC al posto delle T.


 BNC al posto delle T.
Non esattamente. AMP e' un noto produttore di cavi e connettori. Nella
sua gamma di prodotti ci sono anche i connettori per thin ethernet ad
inserzione automatica di cui parli, noti appunto come "sistema ethernet
AMP".
Saluti
Lele

 writes:

Ah... pensa che io pensavo che la marca di quelli qui al mio centro
di calcolo fosse bticino... :-)


 di calcolo fosse bticino... :-)
Probabilmente sono dei cloni su licenza. AMP e' una megamultinazionale del
connettore, ha il catalogo online a 
connect.amp.com
, ci troverai anche i
tuoi aggeggi. :))
Saluti
Lele

Ehm... ho controllato meglio, mi sa che bticino e` solo la piastra
esterna (che` e` uguale a quello degli interruttori accanto) :)
ciao


BNC al posto delle T.
AAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
Ecco un novello Max Adamo.
AMP E' un produttore di CONNETTORI e TECNOLOGIE DI CABLAGGIO.
Se guardi bene dentro quasi tutti i computer troverai dei connettori
marcati AMP
Piang Piang.....
Saluti.

 Ecco un novello Max Adamo.
Ue` Max Adamo  a chi ????
Calma con le offese ... Se non mi interesso di ferramenta mica vuol
dire che sono un deficente.


vecc...@questo-va-tolto.cli.di.unipi.it
 wrote:
 >Ah... pensa che io pensavo che la marca di quelli qui al mio centro
 >di calcolo fosse bticino... :-)
bticino per la sua linea di prese EDP usa connettori AMP.
(Come lo so? Beh, diciamo che era un mio hobby...)
