Escalabilidad (informática)

Escalabilidad
Información sobre la plantilla
Concepto:En términos de paralelismo o multiprogramación la escalabilidad es una magnitud que refleja si un sistema paralelo es escalable o no.

La escalabilidad en términos de multiprogramación o programación paralela es una magnitud que refleja si un sistema paralelo es escalable o no. Un sistema paralelo se dice que escalable si y solo si dado un rango de procesadores [1...n] la eficiencia E(n) del propio sistema se mantiene constante y en todo momento por encima de 0.5. Normalmente todos los sistemas informáticos tienen un determinado número de procesadores a partir del cual la eficiencia comienza a disminuir más o menos de manera brusca. Se puede decir que un sistema es más escalable que otro si dicho número de procesadores en los que la eficiencia disminuye es menor que el otro.[1] Es un error, bastante común, confundir el término "escalable" con "ampliable". Un sistema informático es ampliable si se le pueden colocar más módulos físicamente (más memoria, más tarjetas de entrada/salida, etc...). Que un sistema sea ampliable no signfica que sea escalable, pues la eficiencia no tiene porque mantenerse constante al ampliar el sistema y por consguiente podría no ser escalable.[2]

Ejemplo

Ejemplo[3] en el cual se observa como un sistema pierde eficiencia a medida que se agregan más procesadores:

Problema: Sea un programa informático que posee un tiempo de ejecución de 100 unidades de tiempo(por ejemplo segundos). El 80 % del código de dicho programa es perfecta y absolutamente paralelizable. Se pide calcular la Eficiencia y el Rendimiento de dicho programa cuando se está ejecutando sobre {1, 2, 4, 8, 16} procesadores. Decir hasta que punto el sistema es escalable. En la siguiente gráfica se muestra un estudio del rendimiento de dicho programa:

Problema1.png

Luego calculando la eficiencia en base al conjunto de procesadores se tiene:

N= 2 4 8 16
S(n)= 100/(40+20)=1.666 2.5 3.333 4
E(n)= 100/(2*60)=0.83=1666/2 0.625 0.416 0.25

Por lo que se puede deducir que el sistema se mantiene escalable (ejecutando este programa) en el rango de procesadores [1...4] . Si es superior a esa cantidad de procesadores el sistema pierde eficiencia y por tanto no es escalable.

Vease además

  • Eficiencia(informática)

Fuentes

  1. [Hwa93]: Kai Hwang. Advanced computer architecture: Parallelism, scalability, programmability. McGraw-Hill, 1993. BIBLIOTECA: CI 681.3 HWA (3 copias), CI-IFIC (1 copia), CI-Informática (1 copia).
  2. NAIOUF, Marcelo; DE GIUSTI, Armando Eduardo. Métricas del Paralelismo y Balance de carga en Sistemas Paralelos. En V Workshop de Investigadores en Ciencias de la Computación. 2003.
  3. https://www.uv.es/varnau/OC_T4.pdf