Vous êtes sur la page 1sur 140

Evaluacin de Sistemas Computacionales IGE 121 UNAB 2013

Relator: Alfonso Munizaga Daz

La pregunta clave

Como obtener el mejor rendimiento con el menor costo

Usuarios, administradores y diseadores

Determinando Bsicamente
El Rendimiento Mediciones del rendimiento referenciaciones benchmark Limitaciones en la mejora del rendimiento Algunas leyes Tiempos de respuesta

Tpicos Principales
1. Introduccin a la Estructura de Computadores 2. Introduccin a la evaluacin 3. Tcnicas de evaluacin 4. Comparacin de prestaciones y costos 5. Lmites en la mejora de rendimiento 6. Sistemas Computacionales Fsicos y Virtualizados 7. Almacenamiento

Introduccin a la Estructura de Computadores Unidad # 1

Estructura de Computadores

Describir el contenido general de la asignatura y situarlo en el conjunto de materias que abordan el estudio de un computador digital. Conocer las caractersticas fundamentales del funcionamiento de un computador con arquitectura Von Neumann y analizar las principales mejoras aadidas a dicha arquitectura: interrupciones, memoria cach y memoria virtual. Diferenciar la tecnologa, la estructura y la arquitectura de un computador, y hacer un recorrido general sobre las mejoras de rendimiento basadas en el paralelismo. Introducir los lenguajes de descripcin hardware como instrumentos de especificacin y simulacin.

Von Neumann

La estructura bsica de un computador actual sigue siendo la original de Von Neumann, una mquina secuencial que ejecuta datos escalares y que hemos representado en la figura anterior. La memoria almacena las instrucciones del programa, los datos inciales, los resultados parciales y los finales. Se accede de forma directa (RAM) a cualquier posicin para realizar operaciones de lectura o escritura. El procesador es la unidad encargada de leer y ejecutar las instrucciones. Para ello dispone de una ruta de datos constituida por un conjunto de registros (REG.), una unidad aritmtico-lgica (UAL), y unos buses de comunicacin; y una unidad de control, que es la encargada de generar las seales que gobiernan todos los dispositivos. La entrada y salida constituyen la unidad para la transferencia de informacin con el mundo exterior.

Mejoras
A esta organizacin bsica de von Neumann se han ido incorporando algunas aportaciones significativas entre las que destacaremos las siguientes: Sistema de interrupciones, Sistema de memoria cach y Sistema de memoria virtual.

Tecnologa, estructura y arquitectura


La velocidad de procesamiento de informacin de un computador est determinada bsicamente por tres elementos: arquitectura, organizacin (o estructura) y tecnologa. Podemos analizar la influencia de estos elementos en la velocidad de procesamiento de informacin de un computador teniendo en cuenta que el tiempo T de ejecucin de un programa se puede expresar como el producto de tres factores: el nmero de instrucciones del programa (N), el nmero medio de ciclos por instruccin (CPI), y el tiempo de ciclo (Tc), como hemos representado en la siguiente figura:

Rendimiento

Introduccin a la Evaluacin de Sistemas Computacionales Unidad # 2

Historia de la Evaluacin
La evaluacin es la accin de estimar, apreciar, calcular o sealar el valor de algo. La evaluacin es la determinacin sistemtica del mrito, el valor y el significado de algo o alguien en funcin de unos criterios respecto a un conjunto de normas. La evaluacin a menudo se usa para caracterizar y evaluar temas de inters en una amplia gama de las empresas humanas, incluyendo las artes, la educacin, la justicia, la salud, las fundaciones y organizaciones sin fines de lucro, los gobiernos y otros servicios humanos. El concepto evaluacin para algunos aparece en el siglo XIX con el proceso de industrializacin que se produjo en Estados Unidos. Para otros autores la concepcin aparece con los mismos comienzos de la sociedad la cual siempre ha buscado dar juicios de valor sobre algo. La evaluacin como disciplina ha sufrido profundas transformaciones conceptuales y funcionales a lo largo de la historia y especialmente en el siglo XX y XXI.

Qu pasa cuando erramos en la Evaluacin?

Challenger

Disponibilidad
Disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que est no disponible. El trmino tiempo de inactividad (downtime) es usado para definir cundo el sistema no est disponible. Disponibilidad es usualmente expresada como un porcentaje del tiempo de funcionamiento en un ao dado. En un ao dado, el nmero de minutos de tiempo de inactividad no planeado es registrado para un sistema, el tiempo de inactividad no planificado agregado es dividido por el nmero total de minutos en un ao (aproximadamente 525.600) produciendo un porcentaje de tiempo de inactividad; el complemento es el porcentaje de tiempo de funcionamiento el cual es lo que denominamos como disponibilidad del sistema.

Disponibilidad II
Valores comunes de disponibilidad, tpicamente enunciado como nmero de "nueves" para sistemas altamente disponibles son:
99,9% = 43.8 minutos/mes u 8,76 horas/ao ("tres nueves") 99,99% = 4.38 minutos/mes o 52.6 minutos/ao ("cuatro nueves") 99,999% = 0.44 minutos/mes o 5.26 minutos/ao ("cinco nueves")

Es de hacer notar que tiempo de funcionamiento y disponibilidad no son sinnimos. Un sistema puede estar en funcionamiento y no disponible como en el caso de un fallo de red. Se puede apreciar que estos valores de disponibilidad son visibles mayormente en documentos de ventas o marketing, en lugar de ser una especificacin tcnica completamente medible y cuantificable.

Clculos de Disponibilidad
Para los clculos de disponibilidad, se usa generalmente el algebra de bloques.

En Paralelo
(Elementos redundantes)

En Serie Fuente 1 Monitor


Disp. = 90%

Disp. = 90%

CPU Fuente 2
Disp. = 80% Disp. = 80%

Solo funciona si ambos funcionan AxB

Disponible = 1 No Disponible = 1 ambos down = 1 (Fuente 1 Down) x (Fuente 2 Down) =

0,9 x 0,8 = 0,72 o 72%

1 0,1x0,2 = 0,98 o 98%

Problema I
Suponga que se desea implementar un Cluster, usando con contrato de reparacin de menos de 4 Hrs de Tiempo de Solucin. Cul es la disponibilidad del Sistema Computacional?

Servidor

4 Horas fuera = 99,4% Disp= (1-(4*60/30*24*60)) Disp= 0,994444444444444 Down Time= 0,0055555555

Disp. = 99,4%

Servidor 1

Servidor 2
Disp. = 99,4%

Disponible = 1 No Disponible = 1 ambos down = 1 (Fuente 1 Down) x (Fuente 2 Down) = 1 0,006x0,006 = 0,999 o 99,9%

Problema II
Se dispone de una red de comunicaciones con una Disponibilidad del 99,8% y de un Servidor con un tiempo de indisponibilidad de 30 Minutos. Cul es la Disponibilidad del Sistema?

Servidor

30 Minutos fuera = 99,9% Disp= (1-(30/30*24*60)) Disp= 0,9993053333333


Disp. = 99,8% Disp. = 99,9%

Red

Servidor

Solo funciona si ambos funcionan AxB

0,998 x 0,999 = 0,997 o 99,7%

La Demanda
El primer paso a la hora de acometer la racionalizacin de los recursos computacionales de una organizacin TI, consiste en conocer cules son las necesidades de rendimiento ocasionadas por los servicios que sta presta. El enfoque ms extendido para predecir la demanda es el basado en actividades, y consiste en analizar los patrones de actividad del negocio y predecir la demanda tomando como referencia los activos del servicio que soportan esas actividades.

Rendimiento
Podemos definir el Rendimiento o eficiencia como la relacin entre los recursos utilizados y los logros conseguidos con el mismo. Se entiende que el Rendimiento o eficiencia, se da cuando se utilizan menos recursos para lograr un mismo objetivo. O al contrario, cuando se logran ms objetivos con los mismos o menos recursos . El rendimiento no es una medida nica, sino una relacin entre varias medidas, la valoracin de varios parmetros y depende del objetivo.

Medidas del Rendimiento


Se entiende rendimiento de un sistema computacional como la capacidad que tiene dicho sistema para realizar un trabajo en un determinado tiempo. Es inversamente proporcional al tiempo. En otras palabras, cuanto mayor sea el tiempo que necesite, menor ser el rendimiento. Los computadores ejecutan las instrucciones que componen los programas, por lo tanto el rendimiento de un computador est relacionado con el tiempo que tarda en ejecutar los programas. De esto se deduce que el tiempo es la medida del rendimiento de un computador. El rendimiento del procesador depende de los siguientes parmetros: 1) Frecuencia de la CPU (fCPU) : es el nmero de ciclos por segundo al que trabaja el procesador o CPU. No confundir la frecuencia de la CPU con la frecuencia del sistema, el bus del sistema trabaja a menor frecuencia que la CPU.

Medidas del Rendimiento


2) Periodo de la CPU (TCPU): es el tiempo que dura un ciclo y es la inversa de la frecuencia de la CPU. 3) Ciclos por instruccin (CPI): las instrucciones se descomponen en microinstrucciones, que son operaciones bsicas que se hacen en un ciclo de reloj. En un programa se llama CPI al promedio de microinstrucciones que tienen las instrucciones del programa, es decir, los ciclos de reloj que se tarda de media en ejecutar una instruccin.

4) Nmero de instrucciones del programa: cuantas ms instrucciones haya en el programa ms tiempo se tarda en ejecutarlo luego baja el rendimiento. El que tengamos un nmero reducido de instrucciones depender del programador y de que dispongamos de un buen compilador.

Medidas del Rendimiento


5) Multitarea: hace referencia a la capacidad que tiene un computador de atender simultneamente varias tareas. Hay que recordar que el rendimiento de un procesador para un programa concreto, es un factor inversamente proporcional al tiempo que tarda en ejecutar dicho programa. El tiempo de programa, depende a su vez del nmero de instrucciones del programa y del tiempo que se tarda en ejecutar cada instruccin. El tiempo que tarda en ejecutarse cada instruccin, depende del nmero de microinstrucciones o ciclos en los que se descompone. Cada microinstruccin tarda distintos ciclos de reloj en ejecutarse, por lo que se hace un promedio ponderado de ciclos de instruccin.

Medidas del Rendimiento


En resumen, el rendimiento de un sistema computacional para un determinado programa queda en funcin de tres factores: Frecuencia de la CPU la cual depende fundamentalmente de la tecnologa de fabricacin del procesador. Cuanto mayor sea la frecuencia de la CPU, mejor ser el rendimiento. Nmero de instrucciones del programa el cual depende del programador, del lenguaje de programacin y del compilador. Cuanto mayor sea el nmero de instrucciones del programa peor rendimiento tendr. CPI que depende de diseo interno o arquitectura del computador y del software o instrucciones que se hayan elegido. Es importante optimizar el programa con instrucciones que tengan pocos ciclos. Cuanto mayor sea el CPI, peor ser el rendimiento.

Por qu evaluar el rendimiento?


Los computadores tienen un precio que dependen de los costos de diseo, de fabricacin y de comercializacin. Hace falta relacionar precio y calidad
Comprador: este computador cuesta el doble que el otro, pero... es el doble de rpido? o .. Diseador: esta decisin de diseo incrementa el precio de fabricacin, pero... incrementa la calidad y velocidad del producto en la misma o mayor proporcin?

El anlisis de prestaciones y precios (costos) es un mecanismo que permite elegir entre productos Terminologa bsica sobre rendimiento (performance)
Trminos equivalentes: Rendimiento, prestaciones, desempeo.

Anlisis del Rendimiento


No hay acuerdo claro sobre cmo analizar el rendimiento de un sistema computacional.
Desacuerdo en el significado del trmino rendimiento Desacuerdo en cmo debe ser medido e interpretado

Anlisis de rendimiento
Combinacin de medida, interpretacin y representacin de la velocidad y capacidad de un sistema computacional. Necesidad de definir buenas tcnicas de medida, precisas y reproducibles, que perturben mnimamente el sistema. Necesidad de interpretar los datos medidos usando las tcnicas estadsticas apropiadas. Necesidad de comunicar de forma clara y consistente los resultados de los anlisis.

Objetivos del Anlisis del Rendimiento Comparar alternativas


Disponer de informacin cuantitativa que permita la seleccin de la configuracin ms adecuada de un sistema computacional.

Impacto de una caracterstica


Determinar cmo influye en el rendimiento el aadido o la eliminacin de una determinada caracterstica del sistema.

Afinar el sistema (Tuning)


Encontrar los valores de un conjunto de parmetros que produzca el mejor rendimiento global del sistema.

Establecer expectativas
Indicar cules son las expectativas ms acertadas sobre la capacidad que se puede esperar de un sistema o tambin predecir la carga.

Depuracin
Determinar los problemas de rendimiento de una cierta aplicacin.

Proceso

Analizar Observar Medir Procesar Evaluar

Para que evaluar?


Optimizar el diseo de un sistema informtico.
Evaluacin del impacto de diferentes opciones.

Seleccionar un sistema informtico


Relacin rendimiento/precio

Ajustar un sistema informtico (system tuning)


Variacin del software/hardware para mantener el mximo rendimiento.

Predecir la carga mxima aceptable (capacity planning)


El rendimiento siempre depende de la carga.

La carga y la evaluacin
Carga (load): conjunto de tareas que ha de hacer un sistema.
Programas, datos y rdenes de los usuarios

Carga de prueba (workload)


Carga empleada en un estudio de evaluacin

Variables que reflejan la carga


Nmero de programas simultneos en ejecucin Accesos por unidad de tiempo a un servidor de pginas web Peticiones por unidad de tiempo a una base de datos

Consideraciones
La carga real, cambia continuamente. La medicin se hace en un ambiente controlado de carga (para poder replicar y comparar).

Adaptacin a la carga
Un computador no es bueno ni malo per se, sino que se adapta mejor o peor a un tipo determinado de carga. Computadores adaptados a cargas especficas.
Servidores web Servidores de bases de datos Servidores de archivos Computadores personales Multiprocesadores Multicomputadores Etc.

Actualizacin de componentes (upgrading techniques).


Reemplazo por dispositivos ms rpidos Aadir nuevas unidades

Cmo podemos mejorar el rendimiento?

Ajuste o sintonizacin (tuning techniques)


Parmetros del sistema operativo Parmetros de las aplicaciones informticas

Algunos problemas prcticos


Actualizacin de componentes
Compatibilidad con los existentes o facilidad del sistema multiprocesadores, discos agrupados en matrices (array)

Sintonizacin
Conocimiento profundo del sistema operativo Posible alteracin de la confiabilidad

Actividad de un sistema
Vistas del sistema
Interna: administrador, diseador Externa: usuario

Parmetros (configuracin)

Carga Medidas cuantitativas

Magnitudes medibles
Consumo de tiempo Utilizacin de dispositivos o recursos Trabajo hecho por el sistema o por algn componente

Medidas de Rendimiento
Tiempo de respuesta (response time)
Tiempo total desde el principio hasta el final de la actividad
Tiempo de ejecucin de un programa (s) Tiempo de acceso a un disco (ms)

Productividad (throughput)
Cantidad de trabajo hecho por unidad de tiempo
Programas ejecutados por hora Pginas por hora servidas por un servidor web Correos por segundo procesados por un servidor de correo Peticiones por minuto procesados por un servidor de comercio electrnico

Qu afecta al rendimiento?
Parmetros del sistema operativo
Tipos de sistema operativo Polticas de planificacin y gestin de procesos Configuracin del sistema de memoria virtual

Componentes hardware del sistema


Calidad y velocidad

Diseo de los programas


Localidad en las referencias

Distribucin o balance de la carga


(load balancing)

Tcnicas de evaluacin Unidad # 3


Cmo podemos medir (o predecir) el rendimiento de un sistema informtico?

Contextos para obtener rendimiento


Sistema real
Carga real Modelo de la carga real

ndices de rendimiento ndices de rendimiento Modelo del sistema real Son iguales? ndices de rendimiento

De qu tcnicas disponemos?
Mtodos y herramientas para estimar los ndices de prestaciones.
Monitorizacin del sistema real.
Herramientas de medida sobre el sistema real

Referenciacin (benchmarking) con sistemas reales o modelados.


Comparacin del rendimiento de sistemas

Modelado.
Reproduccin del comportamiento del sistema
Mtodos analticos (redes de filas, cadenas de Markov, redes de Petri, ...) Simulacin discreta (CSIM, SMPL, Simula, ...)

Tcnicas fundamentales para el anlisis de rendimiento


Medida Simulacin Modelado analtico Medida: Medidas reales suelen producir los mejores resultados, pues no hay simplificaciones que les resten credibilidad.
Las medidas reales son poco flexibles, pues slo dan informacin sobre un sistema concreto. Debe caracterizarse cmo se modifica el rendimiento medido si varan ciertos parmetros del sistema. Los sistemas reales puede hacer difcil o imposible el cambio de ciertos parmetros importantes.

Tcnicas fundamentales para el anlisis de rendimiento II.


Simulacin: Programa que modela ciertas caractersticas importantes del sistema, facilitando el cambio de diversos parmetros.
El costo de simulacin suele ser significativamente inferior al de disponer de un sistema real para realizar medidas. Es un mtodo aproximado, pues no suele ser posible simular todos los detalles.

Modelado analtico: Descripcin matemtica del sistema, que puede darnos pistas sobre el comportamiento global del sistema.
Es mucho menos creble y preciso que la medida real y la simulacin. Provee un marco de validacin de una simulacin o medida real (rango de resultados razonables).

Comparacin de las Tcnicas

Preguntas bsicas para el anlisis de rendimiento


Cmo capturar caractersticas de un sistema para analizar su rendimiento?.
Un mtodo muy habitual es a travs de programas de test (benchmarks).

Qu atributos de rendimiento deben considerarse?.


Especificacin de las mtricas de rendimiento. Mtricas bsicas de rendimiento. Atributos de rendimiento de un sistema paralelo.

Cmo se cuantifica y analiza la escalabilidad de un sistema?.


Uso de las mtricas de rendimiento para especificar y predecir la escalabilidad de un sistema.

Benchmarks
Programas de test usados para capturar propiedades de procesamiento de una clase de aplicaciones. Sirven para medir y predecir el rendimiento de un sistema computacional. Benchmark Suite.
Conjunto de programas benchmark junto con informacin auxiliar.
Conjuntos de datos de entrada y salida Normas de aplicacin y condiciones de test Mtricas de rendimiento

Clasificacin de Benchmarks
Diferentes criterios de clasificacin
Micro Benchmarks
Mide un aspecto de rendimiento especfico de un sistema

Macro Benchmark
Mide el rendimiento completo del sistema

Aplicacin Completa
Aplicacin real

Kernel
Programa simple extrado de una aplicacin real

Programa Real
Aplicacin real

Programa Sinttico
Programa especialmente diseado para su uso como benchmark

Mtricas Bsicas de Rendimiento

Otras Mtricas Bsicas de Rendimiento

Comparacin conjunta de prestaciones y costo Unidad # 4


Relacin de rendimientos: aceleracin (speed up) Relacin rendimiento/costo.

Comparacin de prestaciones
Perspectiva actual.
Ejecutar los programas reales (o los ms parecidos a los programas reales) para evaluar el rendimiento de un sistema.

El computador ms rpido es aquel que ejecuta la aplicacin en el tiempo ms corto. Programa

Comparacin de prestaciones
El computador X es N veces ms rpido que Y

Tiempo de ejecucin Y Rendimient o X Aceleraci n N = = Tiempo de ejecucin X Rendimient o Y


El computador X es un n% ms rpido que Y

Tiempo de ejecucin Y Rendimiento X n = = 1.0 + Tiempo de ejecucin X Rendimiento Y 100


Hay que evitar:
El computador X es MEJOR que Y El computador Y es ms MALO que X

Ejemplo de comparacin de prestaciones


Un programa se ejecuta en 36 segundos en el computador VERDE y en 45 segundos en el computador ROJO.

Tiempo ROJO 45 s 25 A= = = 1 .25 = 1 .0 + Tiempo VERDE 36 s 100


El computador VERDE es 1.25 veces ms rpido que el ROJO. El computador VERDE es un 25% ms rpido que el ROJO.

Ejemplo de comparacin de costos


El computador VERDE cuesta $ 625. El computador ROJO cuesta $ 550.

Costo VERDE $ 625 14 C = = = 1.14 = 1.0 + Costo ROJO $ 550 100


El computador VERDE es 1.14 veces mas caro que el ROJO. El computador VERDE es un 14% mas caro que el ROJO.

Comparacin de rendimiento y costo


En general, resulta una cuestin muy complicada. La bibliografa no trata este tema de una forma sistemtica. Se suele hablar de las relaciones siguientes:
Rendimiento/costo (a maximizar). Costo/rendimiento (a minimizar).

Optar por soluciones muy sencillas.

Ejemplo comparacin prestaciones/costo


En comparaciones de sistemas, idealmente, siempre interesar elegir aquellas opciones que maximicen el cuociente prestaciones/costo. Nos referimos a buscar una relacin tcnico econmica.

Ejemplo comparacin prestaciones/costo


VERDE: 36 seg ROJO: 45 seg $ 625 $ 550

Rendimiento ROJO 1 1 = = = 4.04 105 Costo ROJO Tiempo ROJO Costo ROJO 45 550
Rendimiento VERDE 1 1 = = = 4.44 105 Costo VERDE Tiempo VERDE Costo VERDE 36 625

En este caso, el computador VERDE presenta una relacin ligeramente ms alta que el ROJO

Lmites en la mejora del rendimiento Unidad # 5


La ley de Amdahl La ley de Gustafson Ejemplos de aplicacin

Mejora de un sistema
La mejora de un sistema no es ilimitada.
Hay que saber hacia dnde dirigir los esfuerzos de optimizacin

La mejora de cualquier sistema debido a un componente ms rpido depende del tiempo que ste se utilice. Discusin preliminar.
Un sistema tarda un tiempo Toriginal en ejecutar un programa. Mejoramos el sistema acelerando k veces uno de sus componentes. Este componente se utiliza durante una fraccin f del tiempo Toriginal. Cul es la aceleracin A del sistema global?

Tiempo original vs tiempo mejorado


Toriginal =Toriginal (1 f ) +Toriginal f
Recurso no utilizado Fraccin 1f Recurso utilizado Fraccin f

Recurso no utilizado

Recurso utilizado

T mejorado

Recurso mejorado k veces

Tmejorado = Toriginal (1 f ) +

Toriginal f k

Ley de Amdahl (1967)


Cul es la aceleracin A (speed up) del sistema completo despus de acelerar k veces un componente?

A=

Toriginal Tmejorado

A=

1 f (1 f ) + k

f Tmejorado = Toriginal (1 f ) + k

Casos particulares de la ley


Si f = 0 A = 1: no hay ninguna mejora en el sistema Si f = 1 A = k : el sistema mejora igual que el componente

Ejemplo de clculo
La utilizacin de un procesador es del 60% (f) En cunto aumentar el rendimiento del sistema si se duplica la velocidad del procesador (k=2)?

A=

1 f (1 f ) + k

1 0,6 ( 1 0,6 ) + 2

= 1,43

El rendimiento aumenta 1.43 veces El rendimiento aumenta un 43%

Ejemplo de clculo
Si el factor de mejora es muy grande
k

A=

1 f (1 f ) + k

Aceleracin mxima que se puede conseguir es:

1 1 lm A = lm = = = 2.5 k k f (1 - f ) (1 - 0,6 ) 1 f + k

Contexto de la ley de Amdahl


Artculo firmado por Gene Amdahl
Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities, AFIPS Conference Proceedings, (30), pp. 483485, 1967. Se utiliza para poner de manifiesto las limitaciones de los multiprocesadores en el cmputo paralelo No se enuncia como ley

f = 0.5

f = 0.95

Anlisis: relacin entre A, f y k


Relaci entre i,f,a Relacin entreAA f yk 10 9 8

A=

f (1 f ) + k

k=infinito A=5

Aceleracin global (A)

Acceleraci global (A)

7 6

k =infinito A=2
5 4 3 2 1 0 0.1 0.2 0.3 0.4 0.5 0.6 Utilitzaci millorada (f) 0.7 0.8 0.9 1

k = Infinito k = 50 k = 10 k=5 k=4 k=3 k=2 k = 1.5

Utilizacin mejorada (f)

Generalizacin de la ley de Amdahl


Caso con una mejora solamente

A=

1 f (1 f ) + k

Caso general con n mejoras

A=

n 1 i =1

1 n fi fi + k i =1 i

Rendimiento de multiprocesadores
Sistema con p procesadores Fraccin Secuencial f
Tp f T1 f T1 T1 (1f) T1 /P Mquina paralela (1f) T1 Mquina secuencial

T1 = f T1 + (1-f )T1 TP = f T1 + (1-f )T1*1/P

T1 fT1 + (1 f )T1 1 Ap = = = Tp fT1 + (1 f )T1 / p f + (1 f ) / p

1 lm A = p f

Rendimiento de multiprocesadores
Sistema con p procesadores Aplicacin a paralelizar
Fraccin secuencial = 0.10 Fraccin paralelizable = 0.90
Cul es la aceleracin obtenida con 15 procesadores? Cul es la aceleracin mxima obtenible?

A= f secuencial

1 f paralela + p

1 = = 6 .25 0 .90 0 . 10 + 15

lm A =
p

1 f secuencial

1 = = 10 0.10

Evolucin de la aceleracin
16,00 14,00 12,00

5% secuencial 8.82 10% secuencial

Aceleracin

10,00 8,00 6,00 4,00 2,00 0,00 0 10 20 30

6.25
40 50

Procesadores

Planteamiento de Gustafson
Amdahl enfatiza el aspecto ms negativo del procesamiento paralelo Las mquinas paralelas se usan para resolver grandes problemas (meteorologa, biologa molecular) Un computador secuencial nunca podra ejecutar un gran programa paralelo

T1 A= Tp

= Parte secuencial 1 = Parte paralela

La aceleracin proporcional
La cantidad de trabajo que se puede hacer en paralelo vara linealmente con el nmero de procesadores
Con ms procesadores se pueden acometer problemas de mayor costo computacional

T1 T1 + (1 ) pT1 + (1 ) p Ap = = = = p + (1 p ) = p ( p 1) Tp T1 + (1 )T1 1
T1
(1) T1 Mquina paralela

Tp

T1
T1

(1) p T1

Mquina secuencial

Algunas reflexiones finales


Una mejora es ms efectiva cuanto ms grande es la fraccin de tiempo en que sta se aplica. Para mejorar un sistema complejo hay que optimizar los elementos que se utilicen durante la mayor parte del tiempo (caso ms comn). Campos de aplicacin de las optimizaciones.
Dentro del procesador: la ruta de datos (data path). En el juego de instrucciones: la ejecucin de las instrucciones ms frecuentes. En el diseo de la jerarqua de memoria, la programacin y la compilacin: hay que explotar la localidad de las referencias.
El 90% del tiempo se est ejecutando el 10% del cdigo.

Ejercicio I
Dos computadores A y B ejecutan un programa en 34 y 85 segundos respectivamente. Sus costos son de 500 y 400 mil pesos respectivamente, calcule cual de ellos representa una mejor relacin entre desempeo y costo.

Solucin Ejercicio I
A = comput B comput A = 85 34 = 2,5

Entonces el computador A es mas rpido 2,5 veces que el B

Y los costos?
C = comput A computB = 500 400 = 1,25

La razn de rendimiento de A es mayor que la razn de costo de B

Solucin Ejercicio I
Si dividimos la razn de desempeo por el costo, tendremos:
desempeoA cos to A

1 = = 5,88 x10 5 34 x500

desempeoB cos toB

1 = 2,94 x10 5 85 x 400

5,88

2,94

=2

Cual seria su conclusin si el computador B costara 190 mil pesos ??


desempeoB cos to B

1 = 6,19 x10 5 85 x190

5,88

6,19

= 0,95

Ejercicio II
1.

Un sistema actualiza su unidad de disco por una nueva 5 veces mas rpida que la original. Qu utilizacin ha de tener esta unidad de disco si se quiere conseguir una aceleracin global de rendimiento de 2? Y para obtener una aceleracin global de 6?

2.

3.

Solucin Ejercicio II
R: Aplicando la Ley de Amdahl:
A= 1 f (1 f ) + k

k ( A 1 ) 5 ( 2 1) f = = = 0 ,625 A ( k 1 ) 2 ( 5 1)
Por lo tanto: la unidad de disco debe tener una utilizacin (mnima) de 62,5% para que el rendimiento del sistema obtenga una mejora de 2.

Solucin Ejercicio II
Y para obtener una aceleracin global de 6? R: Es imposible obtener una aceleracin global de 6, ya que el componente mejorado lo hace en un factor menor, de 5. Por lo tanto el valor mximo de la mejora ser de 5 siempre que la unidad de disco se utilice durante el 100% del tiempo

Ley de Amdalh
(Tamao Fijo del Problema)

Ley de Gustafson (1988)


(Tiempo de ejecucin fijo)

Ley de Sun y Ni (1993)


(Limitacin de la memoria)

Leyes de la Aceleracin

Sistemas Computacionales Fsicos y Virtualizados Unidad # 6

Virtualizacin
Virtualizacin es la creacin a travs de software de una versin virtual de algn recurso tecnolgico, como puede ser una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento o recursos de red. Dicho de otra manera, se refiere a la abstraccin de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstraccin entre el hardware de la mquina fsica (host) y el sistema operativo de la mquina virtual (virtual machine, guest), dividindose el recurso en uno o ms entornos de ejecucin. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Almacenamiento y Conexiones de Red) y as podr repartir dinmicamente dichos recursos entre todas las mquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutndose en el mismo ordenador fsico.

Virtualizacin
Tal trmino es antiguo; se viene usando desde 1960, y ha sido aplicado a diferentes aspectos y mbitos de la informtica, desde sistemas computacionales completos, hasta capacidades o componentes individuales. La virtualizacin se encarga de crear una interfaz externa que encapsula una implementacin subyacente mediante la combinacin de recursos en localizaciones fsicas diferentes, o por medio de la simplificacin del sistema de control. Un avanzado desarrollo de nuevas plataformas y tecnologas de virtualizacin ha hecho que en los ltimos aos se haya vuelto a prestar atencin a este concepto. La mquina virtual en general simula una plataforma de hardware autnoma incluyendo un sistema operativo completo que se ejecuta como si estuviera instalado. Tpicamente varias mquinas virtuales operan en un computador central. Para que el sistema operativo guest funcione, la simulacin debe ser lo suficientemente grande (siempre dependiendo del tipo de virtualizacin).

Virtualizacin
Existen diferentes formas de virtualizacin: es posible virtualizar el hardware de servidor, el software de servidor, virtualizar sesiones de usuario, virtualizar aplicaciones y tambin se pueden crear mquinas virtuales en una computadora de escritorio. Entre los principales proveedores de software que han desarrollado tecnologas de virtualizacin integrales (que abarcan todas las instancias: servidor, aplicaciones, escritorio) se encuentran, por ejemplo VMware y Microsoft. Estas compaas han diseado soluciones especficas para virtualizacin, como VMware Server y Windows Server 2008 Hyper-V para la virtualizacin de servidores. Si bien la virtualizacin no es un invento reciente, con la consolidacin del modelo de la Computacin en la nube, la virtualizacin ha pasado a ser uno de los componentes fundamentales, especialmente en lo que se denomina infraestructura de nube privada.

Virtualizacin de plataforma
Involucra la simulacin de mquinas virtuales. La virtualizacin de plataforma se lleva a cabo en una plataforma de hardware mediante un software "host" (en castellano anfitrin), que es un programa de control que simula un entorno computacional (mquina virtual) para su software "guest" (en castellano "husped"). Este software husped, que generalmente es un sistema operativo completo, se ejecuta como si estuviera instalado en una plataforma de hardware autnoma. Tpicamente muchas mquinas virtuales son simuladas en una mquina fsica dada. Para que el sistema operativo husped funcione, la simulacin debe ser lo suficientemente grande como para soportar todas las interfaces externas de los sistemas huspedes, las cuales pueden incluir (dependiendo del tipo de virtualizacin) los drivers de hardware.

Tipos de Virtualizacin de plataforma

Virtualizacin completa Virtualizacin parcial Virtualizacin por S.O

Virtualizacin Completa
Esta es en donde la mquina virtual simula un hardware suficiente para permitir un sistema operativo husped sin modificar (uno diseado para la misma CPU) para ejecutar de forma aislada. Tpicamente, muchas instancias pueden ejecutarse al mismo tiempo. Este enfoque fue el pionero en 1966 con CP-40 y CP[-67]/CMS, predecesores de la familia de mquinas virtuales de IBM. Este tipo de virtualizacin enva las instrucciones de la MV al procesador fsico segn la siguiente figura:

Virtualizacin Completa II
Virtualizacin tipo 1 (de primer nivel) El software de virtualizacin de tipo 1, o de primer nivel, se instala directamente sobre el equipo haciendo ste las funciones tanto de sistema operativo como las de virtualizacin. Este mtodo de virtualizacin lo utilizan sobretodo las empresas que pueden disponer de uno o varios servidores dedicados en exclusiva a la virtualizacin de sistemas.

Virtualizacin Completa II
Virtualizacin tipo 2 (de segundo nivel) El software de virtualizacin de tipo 2, o de segundo nivel, se caracteriza porque debe ser instalado en un equipo que cuente con un sistema operativo previo (como Ubuntu, Fedora, Microsoft Windows o Mac OS X). Para un usuario domstico ste es el mtodo de virtualizacin apropiado.

Ejemplos
VMware Workstation VMware Server VMware vSphere Windows Server 2008 R2 Hyper-V Microsoft Enterprise Desktop Virtualization (MED-V) Oracle VM VirtualBox Parallels Desktop Virtual Iron Adeos Mac-on-Linux Win4BSD Win4Lin Pro y z/VM openvz Oracle VM XenServer Microsoft Virtual PC

Virtualizacin Parcial
Address Space Virtualization. La mquina virtual simula mltiples instancias de gran parte (pero no de todo) del entorno subyacente del hardware, particularmente los espacios de direcciones. Tal entorno acepta compartir recursos y alojar procesos, pero no permite instancias separadas de sistemas operativos husped. Aunque no es vista como dentro de la categora de mquina virtual, histricamente ste fue un importante acercamiento, y lo usaron en sistemas como CTSS, el experimental IBM M44/44X, y podra mencionarse que en sistemas como OS/VS1, OS/VS2 y MVS.

Virtualizacin por S.O


Virtualizar significa instalar un sistema operativo dentro de otro al que se le llama anfitrin (HOST), mediante el uso de una mquina virtual. Frecuentemente denominada virtualizacin compartida del Sistema Operativo o virtualizacin del SO, la virtualizacin del Sistema Operativo virtualiza servidores en la capa del sistema operativo (kernel). Este mtodo de virtualizacin crea particiones aisladas o entornos virtuales (VEs) en un nico servidor fsico e instancia de SO para as maximizar los esfuerzos de administracin del hardware, software y centro de datos. La Virtualizacin de Hypervisor tiene una capa base (generalmente un kernel, Linux que se muestra aqu como un hypervisor o SO estndar, lo mismo que Windows Server 2008 R2 Hyper-V) que se carga directamente en el servidor base.

Virtualizacin por S.O


Para asignar hardware y recursos a las mquinas virtuales (VMs), es recomendable que todo el hardware del servidor est virtualizado. La siguiente capa superior muestra cada chip, placa, etc. que debe virtualizarse para que as pueda ser asignado a las VMs. Una vez en la VM, hay un copia completa de un sistema operativo y finalmente la aplicacin o carga de trabajo. La Virtualizacin de SO mejora el rendimiento, gestin y eficiencia. En la base reside un sistema operativo anfitrin estndar, como en el caso de Parallels Virtuozzo que incluye Windows y un sistema con ncleo Linux. A continuacin encontramos la capa de virtualizacin, con un sistema de archivos propietario y una capa de abstraccin de servicio de kernel que garantiza el aislamiento y seguridad de los recursos entre distintos contenedores. La capa de virtualizacin hace que cada uno de los contenedores aparezca como servidor autnomo. Finalmente, el contenedor aloja la aplicacin o carga de trabajo.

Virtualizacin por S.O


Virtualizar significa instalar un sistema operativo dentro de otro al que se le llama anfitrin (HOST), mediante el uso de una mquina virtual. Frecuentemente denominada virtualizacin compartida del Sistema Operativo o virtualizacin del SO, la virtualizacin del Sistema Operativo virtualiza servidores en la capa del sistema operativo (kernel). Este mtodo de virtualizacin crea particiones aisladas o entornos virtuales (VEs) en un nico servidor fsico e instancia de SO para as maximizar los esfuerzos de administracin del hardware, software y centro de datos. La Virtualizacin de Hypervisor tiene una capa base (generalmente un kernel, Linux que se muestra aqu como un hypervisor o SO estndar, lo mismo que Windows Server 2008 R2 Hyper-V) que se carga directamente en el servidor base.

Ventajas de la Virtualizacin I
Reutilizacin de hardware existente (para utilizar software ms moderno) y optimizar el aprovechamiento de todos los recursos de hardware. Rpida incorporacin de nuevos recursos para los servidores virtualizados. Reduccin de los costes de espacio y consumo necesario de forma proporcional al ndice de consolidacin logrado (Estimacin media 10:1). Administracin global centralizada y simplificada. Nos permite gestionar nuestro CPD como un pool de recursos o agrupacin de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura. Mejora en los procesos de clonacin y copia de sistemas: Mayor facilidad para la creacin de entornos de test que permiten poner en marcha nuevas aplicaciones sin impactar a la produccin, agilizando el proceso de las pruebas.

Ventajas de la Virtualizacin II
Aislamiento: un fallo general de sistema de una mquina virtual no afecta al resto de mquinas virtuales. Mejora de TCO (costo Total de la propiedad) y ROI (retorno sobre la Inversin). No slo aporta el beneficio directo en la reduccin del hardware necesario, sino tambin los costes asociados. Reduce los tiempos de parada. Migracin en caliente de mquinas virtuales (sin prdida de servicio) de un servidor fsico a otro, eliminando la necesidad de paradas planificadas por mantenimiento de los servidores fsicos.

Ventajas de la Virtualizacin III


Balanceo dinmico de mquinas virtuales entre los servidores fsicos que componen el pool de recursos, garantizando que cada mquina virtual ejecute en el servidor fsico ms adecuado y proporcionando un consumo de recursos homogneo y ptimo en toda la infraestructura. Contribucin al medio ambiente Green IT (Tecnologas Verdes ) por menor consumo de energa en servidores fsicos.

Virtualizacin del Almacenamiento


Se refiere al proceso de abstraer el almacenamiento lgico del almacenamiento fsico, y es comnmente usado en SANs ("Storage Area Network" Red de rea de almacenamiento). Los recursos de almacenamiento fsicos son agregados al "storage pool" (almacn de almacenamiento), del cual es creado el almacenamiento lgico.

Qu Evaluamos en estos Sistemas computacionales?


Sub-utilizados" (gran capacidad de disco duro, memoria RAM, etc.), llegando a un uso de entre 30% a 60%de su capacidad. Al virtualizar, la necesidad de nuevas mquinas en una ya existente permite un ahorro considerable de los costos asociados (energa, mantenimiento, espacio, etc).). Uno de los inconvenientes de las mquinas virtuales es que agregan gran complejidad al sistema en tiempo de ejecucin. Esto tiene como efecto la ralentizacin del sistema, es decir, el programa no alcanzar la misma velocidad de ejecucin que si se instalase directamente en el sistema operativo "anfitrin" (host) o directamente sobre la plataforma de hardware. Sin embargo, a menudo la flexibilidad que ofrecen compensa esta prdida de eficiencia. Dado que el promedio de cargad e trabajo de los host es de aproximadamente el 20%, con la consolidacin podemos reducir el nmero de mquinas fsicas en un 500%.

Qu Evaluamos en estos Sistemas computacionales?

Qu Evaluamos en estos Sistemas computacionales?

Links Virtualizacin
Estos sitios comparaciones a nivel de funcionalidades. Adems de los respectivos sitios de las marcas y sus calculadores segn TCO/ROI.
http://blog.lewan.com/2009/07/14/microsoft-virtualization-calculators-and-vmware-tco-roi-calculator/ VMWARE: http://www.vmware.com/go/calculator http://www.vmware.com/go/costperapp HYPER-V: http://www.microsoft.com/windowsserver2008/en/us/server-calculator/ http://blogs.technet.com/wcraddock/archive/2009/01/19/licensing-change-notification-access-windows-server-2003-in-hyperv-hosted-on-windows-server-2008-without-windows-server-2008-cals.aspx http://social.technet.microsoft.com/wiki/contents/articles/121.hyper-v-tools.aspx https://roianalyst.alinean.com/msft/AutoLogin.do?d=307025591178580657 XENSERVER: http://www.webhostingtalk.com/archive/index.php/t-852604.html VDI XENDESKTOP: http://myvirtualcloud.net/?page_id=1076 TODOS LOS HYPERVISORES: http://vmetc.com/2008/03/28/more-virtualization-related-online-calculators/ http://www.webhostingtalk.com/archive/index.php/t-852604.html

Comparacin de hypervisores

Comparacin

Almacenamiento Unidad # 7

Discos Duros
Un disco duro o disco rgido (en ingls Hard Disk Drive, HDD) es un dispositivo de almacenamiento de datos no voltil que emplea un sistema de grabacin magntica para almacenar datos digitales. Se compone de uno o ms platos o discos rgidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metlica sellada. Sobre cada plato, y en cada una de sus caras, se sita un cabezal de lectura/escritura que flota sobre una delgada lmina de aire generada por la rotacin de los discos.

Tipos de Conexin
Si hablamos de disco duro podemos citar los distintos tipos de conexin que poseen los mismos con la placa base, es decir pueden ser SATA, IDE, SCSI o SAS: IDE: Integrated Drive Electronics ("Dispositivo electrnico integrado") o ATA (Advanced Technology Attachment), controla los dispositivos de almacenamiento masivo de datos, como los discos duros y ATAPI (Advanced Technology Attachment Packet Interface) Hasta aproximadamente el 2004, el estndar principal por su versatilidad y asequibilidad. Son planos, anchos y alargados. SCSI: Son interfaces preparadas para discos duros de gran capacidad de almacenamiento y velocidad de rotacin. Se presentan bajo tres especificaciones: SCSI Estndar (Standard SCSI), SCSI Rpido (Fast SCSI) y SCSI Ancho-Rpido (Fast-Wide SCSI). Su tiempo medio de acceso puede llegar a 7 milisegundos y su velocidad de transmisin secuencial de informacin puede alcanzar tericamente los 5 Mbit/s en los discos SCSI Estndares, los 10 Mbit/s en los discos SCSI Rpidos y los 20 Mbit/s en los discos SCSI Anchos-Rpidos (SCSI-2). Un controlador SCSI puede manejar hasta 7 discos duros SCSI (o 7 perifricos SCSI) con conexin tipo margarita (daisy-chain). A diferencia de los discos IDE, pueden trabajar asincrnicamente con relacin al microprocesador, lo que posibilita una mayor velocidad de transferencia.

Tipos de Conexin
SATA (Serial ATA): El ms novedoso de los estndares de conexin, utiliza un bus serie para la transmisin de datos. Notablemente ms rpido y eficiente que IDE. Existen tres versiones, SATA 1 con velocidad de transferencia de hasta 150 MB/s (hoy da descatalogado), SATA 2 de hasta 300 MB/s, el ms extendido en la actualidad; y por ltimo SATA 3 de hasta 600 MB/s el cual se est empezando a hacer hueco en el mercado. Fsicamente es mucho ms pequeo y cmodo que los IDE, adems de permitir conexin en caliente. SAS (Serial Attached SCSI): Interfaz de transferencia de datos en serie, sucesor del SCSI paralelo, aunque sigue utilizando comandos SCSI para interaccionar con los dispositivos SAS. Aumenta la velocidad y permite la conexin y desconexin en caliente. Una de las principales caractersticas es que aumenta la velocidad de transferencia al aumentar el nmero de dispositivos conectados, es decir, puede gestionar una tasa de transferencia constante para cada dispositivo conectado, adems de terminar con la limitacin de 16 dispositivos existente en SCSI, es por ello que se vaticina que la tecnologa SAS ir reemplazando a su predecesora SCSI. Adems, el conector es el mismo que en la interfaz SATA y permite utilizar estos discos duros, para aplicaciones con menos necesidad de velocidad, ahorrando costes. Por lo tanto, las unidades SATA pueden ser utilizadas por controladoras SAS pero no a la inversa, una controladora SATA no reconoce discos SAS.

Norma Raid
La palabra RAID (Redundant Array of Independent Disks, conjunto redundante de discos independientes) hace referencia a un sistema de almacenamiento que usan mltiples discos duros o SSD entre los que se distribuyen o replican los datos. Dependiendo de su configuracin (a la que suele llamarse nivel), los beneficios de un RAID respecto a un nico disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor throughput (rendimiento) y mayor capacidad. En sus implementaciones originales, su ventaja clave era la habilidad de combinar varios dispositivos de bajo coste y tecnologa ms antigua en un conjunto que ofreca mayor capacidad, fiabilidad, velocidad o una combinacin de stas que un solo dispositivo de ltima generacin y coste ms alto.

Norma Raid
En el nivel ms simple, un RAID combina varios discos duros en una sola unidad lgica. As, en lugar de ver varios discos duros diferentes, el sistema operativo ve uno solo. Los RAIDs suelen usarse en servidores y normalmente (aunque no es necesario) se implementan con unidades de disco de la misma capacidad. Debido al decremento en el precio de los discos duros y la mayor disponibilidad de las opciones RAID incluidas en los chipsets de las placas base, los RAIDs se encuentran tambin como opcin en las computadoras personales ms avanzadas. Esto es especialmente frecuente en las computadoras dedicadas a tareas intensivas y que requiera asegurar la integridad de los datos en caso de fallo del sistema. Esta caracterstica no est obviamente disponible en los sistemas RAID por software, que suelen presentar por tanto el problema de reconstruir el conjunto de discos cuando el sistema es reiniciado tras un fallo para asegurar la integridad de los datos.

Norma Raid
Por el contrario, los sistemas basados en software son mucho ms flexibles (permitiendo, por ejemplo, construir RAID de particiones en lugar de discos completos y agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware aaden un punto de fallo ms al sistema (la controladora RAID). Todas las implementaciones pueden soportar el uso de uno o ms discos de reserva (hot spare), unidades preinstaladas que pueden usarse inmediatamente (y casi siempre automticamente) tras el fallo de un disco del RAID. Esto reduce el tiempo del perodo de reparacin al acortar el tiempo de reconstruccin del RAID. El sistema RAID duplica, triplica o cuadruplica la informacin que recibe, disponiendo de varios discos duros que contienen la misma informacin, de esta forma si un disco duro falla, el sistema RAID continuar trabajando con todos los discos duros restantes, sin tener que detener el sistema de servidor de ficheros.

Norma Raid
Los niveles RAID ms comnmente usados son: RAID 0: Conjunto dividido RAID 1: Conjunto en espejo RAID 5: Conjunto dividido con paridad distribuida
Niveles RAID estndar Niveles RAID anidados 2.1 RAID 0+1 2.2 RAID 1+0 2.3 RAID 30 2.4 RAID 100 2.5 RAID 10+1 Niveles RAID propietarios 3.1 RAID 50EE 3.2 Paridad doble 3.3 RAID 1.5 3.4 RAID 7 3.5 RAID S o RAID de paridad 3.6 Matrix RAID 3.7 Linux MD RAID 10 3.8 IBM ServeRAID 1E 3.9 RAID Z

1.1 RAID 1 1.2 RAID 2 1.3 RAID 3 1.4 RAID 4 1.5 RAID 5 1.6 RAID 6 1.7 RAID 5E y RAID 6E

Norma Raid
Por el contrario, los sistemas basados en software son mucho ms flexibles (permitiendo, por ejemplo, construir RAID de particiones en lugar de discos completos y agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware aaden un punto de fallo ms al sistema (la controladora RAID). Todas las implementaciones pueden soportar el uso de uno o ms discos de reserva (hot spare), unidades preinstaladas que pueden usarse inmediatamente (y casi siempre automticamente) tras el fallo de un disco del RAID. Esto reduce el tiempo del perodo de reparacin al acortar el tiempo de reconstruccin del RAID. El sistema RAID duplica, triplica o cuadruplica la informacin que recibe, disponiendo de varios discos duros que contienen la misma informacin, de esta forma si un disco duro falla, el sistema RAID continuar trabajando con todos los discos duros restantes, sin tener que detener el sistema de servidor de ficheros.

La distribucin por bandas (striping) es un mtodo que se usa para combinar varias unidades de disco en un nico volumen. En muchos casos, esto se hace usando controladoras por hardware. El subsistema de discos GEOM proporciona soporte por software para RAID0, tambin conocido como discos configurados en bandas. En un sistema RAID0, los datos se dividen en bloques que son escritos por todas las unidades de la agrupacin. En lugar de tener que esperar a que el sistema escriba 256 kB en un disco, un sistema RAID0 puede escribir simultneamente 64 kB en cada uno de los cuatro discos, ofreciendo un superior rendimiento de E/S. Este rendimiento se puede mejorar an ms usando varias controladoras de disco. Cada uno de los discos de una banda RAID0 debe ser del mismo tamao, pues las peticiones de E/S estn intercaladas para leer o escribir en varios discos en paralelo

Raid 0

Raid 1
Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o ms discos. Esto resulta til cuando el rendimiento en lectura es ms importante que la capacidad. Un conjunto RAID 1 slo puede ser tan grande como el ms pequeo de sus discos. Un RAID 1 clsico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos). Adicionalmente, dado que todos los datos estn en dos o ms discos, con hardware habitualmente independiente, el rendimiento de lectura se incrementa aproximadamente como mltiplo lineal del nmero del copias; es decir, un RAID 1 puede estar leyendo simultneamente dos datos diferentes en dos discos diferentes, por lo que su rendimiento se duplica. Para maximizar los beneficios sobre el rendimiento del RAID 1 se recomienda el uso de controladoras de disco independientes, una para cada disco (prctica que algunos denominan splitting o duplexing).

Raid 1 (estndar)
Como en el RAID 0, el tiempo medio de lectura se reduce, ya que los sectores a buscar pueden dividirse entre los discos, bajando el tiempo de bsqueda y subiendo la tasa de transferencia, con el nico lmite de la velocidad soportada por la controladora RAID. Sin embargo, muchas tarjetas RAID 1 IDE antiguas leen slo de un disco de la pareja, por lo que su rendimiento es igual al de un nico disco. Algunas implementaciones RAID 1 antiguas tambin leen de ambos discos simultneamente y comparan los datos para detectar errores. Al escribir, el conjunto se comporta como un nico disco, dado que los datos deben ser escritos en todos los discos del RAID 1. Por tanto, el rendimiento no mejora. El RAID 1 tiene muchas ventajas de administracin. Por ejemplo, en algunos entornos 24/7, es posible dividir el espejo: marcar un disco como inactivo, hacer una copia de seguridad de dicho disco y luego reconstruir el espejo. Esto requiere que la aplicacin de gestin del conjunto soporte la recuperacin de los datos del disco en el momento de la divisin. Este procedimiento es menos crtico que la presencia de una caracterstica de snapshot en algunos sistemas de archivos, en la que se reserva algn espacio para los cambios, presentando una vista esttica en un punto temporal dado del sistema de archivos. Alternativamente, un conjunto de discos puede ser almacenado de forma parecida a como se hace con las tradicionales cintas.

Un RAID 5 es una divisin de datos a nivel de bloques distribuyendo la informacin de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el clculo de la paridad. RAID 5 necesitar un mnimo de 3 discos para ser implementado. En el grfico de ejemplo anterior, una peticin de lectura del bloque A1 sera servida por el disco 0. Una peticin de lectura simultnea del bloque B1 tendra que esperar, pero una peticin de lectura de B2 podra atenderse concurrentemente ya que seria servida por el disco 1.

Raid 5 (estndar)

Raid 5 (estndar)
Cada vez que un bloque de datos se escribe en un RAID 5, se genera un bloque de paridad dentro de la misma divisin (stripe). Un bloque se compone a menudo de muchos sectores consecutivos de disco. Una serie de bloques (un bloque de cada uno de los discos del conjunto) recibe el nombre colectivo de divisin (stripe). Si otro bloque, o alguna porcin de un bloque, es escrita en esa misma divisin, el bloque de paridad (o una parte del mismo) es recalculada y vuelta a escribir. El disco utilizado por el bloque de paridad est escalonado de una divisin a la siguiente, de ah el trmino bloques de paridad distribuidos. Las escrituras en un RAID 5 son costosas en trminos de operaciones de disco y trfico entre los discos y la controladora. Los bloques de paridad no se leen en las operaciones de lectura de datos, ya que esto sera una sobrecarga innecesaria y disminuira el rendimiento. Sin embargo, los bloques de paridad se leen cuando la lectura de un sector de datos provoca un error de CRC. En este caso, el sector en la misma posicin relativa dentro de cada uno de los bloques de datos restantes en la divisin y dentro del bloque de paridad en la divisin se utilizan para reconstruir el sector errneo. El error CRC se oculta as al resto del sistema. De la misma forma, si falla un disco del conjunto, los bloques de paridad de los restantes discos son combinados matemticamente con los bloques de datos de los restantes discos para reconstruir los datos del disco que ha fallado al vuelo.

Raid 5 (estndar)
Lo anterior se denomina a veces Modo Interino de Recuperacin de Datos (Interim Data Recovery Mode). El sistema sabe que un disco ha fallado, pero slo con el fin de que el sistema operativo pueda notificar al administrador que una unidad necesita ser reemplazada: las aplicaciones en ejecucin siguen funcionando ajenas al fallo. Las lecturas y escrituras continan normalmente en el conjunto de discos, aunque con alguna degradacin de rendimiento. La diferencia entre el RAID 4 y el RAID 5 es que, en el Modo Interno de Recuperacin de Datos, el RAID 5 puede ser ligeramente ms rpido, debido a que, cuando el CRC y la paridad estn en el disco que fall, los clculos no tienen que realizarse, mientras que en el RAID 4, si uno de los discos de datos falla, los clculos tienen que ser realizados en cada acceso. El fallo de un segundo disco provoca la prdida completa de los datos. El nmero mximo de discos en un grupo de redundancia RAID 5 es tericamente ilimitado, pero en la prctica es comn limitar el nmero de unidades. Los inconvenientes de usar grupos de redundancia mayores son una mayor probabilidad de fallo simultneo de dos discos, un mayor tiempo de reconstruccin y una mayor probabilidad de hallar un sector irrecuperable durante una reconstruccin.

Raid 5
A medida que el nmero de discos en un conjunto RAID 5 crece, el MTBF (tiempo medio entre fallos) puede ser ms bajo que el de un nico disco. Esto sucede cuando la probabilidad de que falle un segundo disco en los N-1 discos restantes de un conjunto en el que ha fallado un disco en el tiempo necesario para detectar, reemplazar y recrear dicho disco es mayor que la probabilidad de fallo de un nico disco. Una alternativa que proporciona una proteccin de paridad dual, permitiendo as mayor nmero de discos por grupo, es el RAID 6.

Raid 5 (estndar)
Algunos vendedores RAID evitan montar discos de los mismos lotes en un grupo de redundancia para minimizar la probabilidad de fallos simultneos al principio y el final de su vida til. Las implementaciones RAID 5 presentan un rendimiento malo cuando se someten a cargas de trabajo que incluyen muchas escrituras ms pequeas que el tamao de una divisin (stripe). Esto se debe a que la paridad debe ser actualizada para cada escritura, lo que exige realizar secuencias de lectura, modificacin y escritura tanto para el bloque de datos como para el de paridad. Implementaciones ms complejas incluyen a menudo cachs de escritura no voltiles para reducir este problema de rendimiento. En el caso de un fallo del sistema cuando hay escrituras activas, la paridad de una divisin (stripe) puede quedar en un estado inconsistente con los datos. Si esto no se detecta y repara antes de que un disco o bloque falle, pueden perderse datos debido a que se usar una paridad incorrecta para reconstruir el bloque perdido en dicha divisin. Esta potencial vulnerabilidad se conoce a veces como agujero de escritura. Son comunes el uso de cach no voltiles y otras tcnicas para reducir la probabilidad de ocurrencia de esta vulnerabilidad.

Raid 5E y 6E (estndar)
Se suele llamar RAID 5E y RAID 6E a las variantes de RAID 5 y RAID 6 que incluyen discos de reserva. Estos discos pueden estar conectados y preparados (hot spare) o en espera (standby spare). En los RAIDs 5E y RAID 6E, los discos de reserva estn disponibles para cualquiera de las unidades miembro. No suponen mejora alguna del rendimiento, pero s se minimiza el tiempo de reconstruccin (en el caso de los discos hot spare) y las labores de administracin cuando se producen fallos. Un disco de reserva no es realmente parte del conjunto hasta que un disco falla y el conjunto se reconstruye sobre el de reserva.

Raid 01 (0+1) (anidado)


Un RAID 0+1 (tambin llamado RAID 01, que no debe confundirse con RAID 1) es un RAID usado para replicar y compartir datos entre varios discos. La diferencia entre un RAID 0+1 y un RAID 1+0 es la localizacin de cada nivel RAID dentro del conjunto final: un RAID 0+1 es un espejo de divisiones. Como puede verse en el diagrama, primero se crean dos conjuntos RAID 0 (dividiendo los datos en discos) y luego, sobre los anteriores, se crea un conjunto RAID 1 (realizando un espejo de los anteriores). La ventaja de un RAID 0+1 es que cuando un disco duro falla, los datos perdidos pueden ser copiados del otro conjunto de nivel 0 para reconstruir el conjunto global. Sin embargo, aadir un disco duro adicional en una divisin, es obligatorio aadir otro al de la otra divisin para equilibrar el tamao del conjunto.

Raid 10 (1+0) (anidado)


Un RAID 1+0, a veces llamado RAID 10, es parecido a un RAID 0+1 con la excepcin de que los niveles RAID que lo forman se invierte: el RAID 10 es una divisin de espejos. En cada divisin RAID 1 pueden fallar todos los discos salvo uno sin que se pierdan datos. Sin embargo, si los discos que han fallado no se reemplazan, el restante pasa a ser un punto nico de fallo para todo el conjunto. Si ese disco falla entonces, se perdern todos los datos del conjunto completo. Como en el caso del RAID 0+1, si un disco que ha fallado no se reemplaza, entonces un solo error de medio irrecuperable que ocurra en el disco espejado resultara en prdida de datos.

Raid 10 (1+0) (anidado)


Debido a estos mayores riesgos del RAID 1+0, muchos entornos empresariales crticos estn empezando a evaluar configuraciones RAID ms tolerantes a fallos que aaden un mecanismo de paridad subyacente. Entre los ms prometedores estn los enfoques hbridos como el RAID 0+1+5 (espejo sobre paridad nica) o RAID 0+1+6 (espejo sobre paridad dual). El RAID 10 es a menudo la mejor eleccin para bases de datos de altas prestaciones, debido a que la ausencia de clculos de paridad proporciona mayor velocidad de escritura

Otros Raid

Otros Raid

Lo que el Raid puede hacer


RAID puede mejorar el uptime.. Los niveles RAID 1, 0+1 o 10, 5 y 6 (sus variantes, como el 50) permiten que un disco falle mecnicamente y que aun as los datos del conjunto sigan siendo accesibles para los usuarios. En lugar de exigir que se realice una restauracin costosa en tiempo desde una cinta, DVD o algn otro medio de respaldo lento, un RAID permite que los datos se recuperen en un disco de reemplazo a partir de los restantes discos del conjunto, mientras al mismo tiempo permanece disponible para los usuarios en un modo degradado. Esto es muy valorado por las empresas, ya que el tiempo de no disponibilidad suele tener graves repercusiones. Para usuarios domsticos, puede permitir el ahorro del tiempo de restauracin de volmenes grandes, que requeriran varios DVD o cintas para las copias de seguridad. RAID puede mejorar el rendimiento de ciertas aplicaciones. Los niveles RAID 0, 5 y 6 usan variantes de divisin (striping) de datos, lo que permite que varios discos atiendan simultneamente las operaciones de lectura lineales, aumentando la tasa de transferencia sostenida. Las aplicaciones de escritorio que trabajan con archivos grandes, como la edicin de vdeo e imgenes, se benefician de esta mejora. Tambin es til para las operaciones de copia de respaldo de disco a disco. Adems, si se usa un RAID 1 o un RAID basado en divisin con un tamao de bloque lo suficientemente grande se logran mejoras de rendimiento para patrones de acceso que implique mltiples lecturas simultneas (por ejemplo, bases de datos multiusuario).

Lo que el Raid NO puede hacer


RAID no protege los datos. Un conjunto RAID tiene un sistema de archivos, lo que supone un punto nico de fallo al ser vulnerable a una amplia variedad de riesgos aparte del fallo fsico de disco, por lo que RAID no evita la prdida de datos por estas causas. RAID no impedir que un virus destruya los datos, que stos se corrompan, que sufran la modificacin o borrado accidental por parte del usuario ni que un fallo fsico en otro componente del sistema afecten a los datos. RAID no simplifica la recuperacin de un desastre. Cuando se trabaja con un solo disco, ste es accesible normalmente mediante un controlador ATA o SCSI incluido en la mayora de los sistemas operativos. Sin embargo, las controladoras RAID necesitan controladores software especficos. Las herramientas de recuperacin que trabajan con discos simples en controladoras genricas necesitarn controladores especiales para acceder a los datos de los conjuntos RAID. Si estas herramientas no los soportan, los datos sern inaccesibles para ellas.

Lo que el Raid NO puede hacer


RAID no mejora el rendimiento de todas las aplicaciones. Esto resulta especialmente cierto en las configuraciones tpicas de escritorio. La mayora de aplicaciones de escritorio y videojuegos hacen nfasis en la estrategia de buffering y los tiempos de bsqueda de los discos. Una mayor tasa de transferencia sostenida supone poco beneficio para los usuarios de estas aplicaciones, al ser la mayora de los archivos a los que se accede muy pequeos. La divisin de discos de un RAID 0 mejora el rendimiento de transferencia lineal pero no lo dems, lo que hace que la mayora de las aplicaciones de escritorio y juegos no muestren mejora alguna, salvo excepciones. Para estos usos, lo mejor es comprar un disco ms grande, rpido y caro en lugar de dos discos ms lentos y pequeos en una configuracin RAID 0. RAID no facilita el traslado a un sistema nuevo. Cuando se usa un solo disco, es relativamente fcil trasladar el disco a un sistema nuevo: basta con conectarlo, si cuenta con la misma interfaz. Con un RAID no es tan sencillo: la BIOS RAID debe ser capaz de leer los metadatos de los miembros del conjunto para reconocerlo adecuadamente y hacerlo disponible al sistema operativo. Dado que los distintos fabricantes de controladoras RAID usan diferentes formatos de metadatos (incluso controladoras de un mismo fabricante son incompatibles si corresponden a series diferentes) es virtualmente imposible mover un conjunto RAID a una controladora diferente, por lo que suele ser necesario mover tambin la controladora. Esto resulta imposible en aquellos sistemas donde est integrada en la placa base. Esta limitacin puede obviarse con el uso de RAID por software, que a su vez aaden otras diferentes (especialmente relacionadas con el rendimiento).

Red de rea de Almacenamiento


Una red de rea de almacenamiento, en ingls SAN (Storage Area Network), es una red de almacenamiento integral. Se trata de una arquitectura completa que agrupa los siguientes elementos: Una red de alta velocidad de canal de fibra o SCSI. Un equipo de interconexin dedicado (conmutadores, puentes, etc). Elementos de almacenamiento de red (discos duros). Una SAN es una red dedicada al almacenamiento que est conectada a las redes de comunicacin de una compaa. Adems de contar con interfaces de red tradicionales, los equipos con acceso a la SAN tienen una interfaz de red especfica que se conecta a la SAN.

Ventajas y Des Ventajas


El rendimiento de la SAN est directamente relacionado con el tipo de red que se utiliza. En el caso de una red de canal de fibra, el ancho de banda es de aproximadamente 100 megabytes/segundo (1.000 megabits/segundo) y se puede extender aumentando la cantidad de conexiones de acceso. La capacidad de una SAN se puede extender de manera casi ilimitada y puede alcanzar cientos y hasta miles de terabytes. Una SAN permite compartir datos entre varios equipos de la red sin afectar el rendimiento porque el trfico de SAN est totalmente separado del trfico de usuario. Son los servidores de aplicaciones que funcionan como una interfaz entre la red de datos (generalmente un canal de fibra) y la red de usuario (por lo general Ethernet). Por otra parte, una SAN es mucho ms costosa que una NAS ya que la primera es una arquitectura completa que utiliza una tecnologa que todava es muy cara. Normalmente, cuando una compaa estima el TCO (Coste total de propiedad) con respecto al coste por byte, el coste se puede justificar con ms facilidad. Adems es una red concebida para conectar servidores, matrices (arrays) de discos y libreras de soporte. Principalmente, est basada en tecnologa fibre channel y ms recientemente en iSCSI. Su funcin es la de conectar de manera rpida, segura y fiable los distintos elementos que la conforman.

DAS vs NAS vs SAN

Diagramas

Conversiones y Estimaciones

gibibit (a contraction of giga binary digit) http://wintelguy.com/gb2gib.html

Data Storage I/O Workload


Each server has unique workload characteristics. However there are some basic pattern that we can found in the storage demands. Although storage system workloads differ quantitatively in terms of the: transfer sizes, locality, intensity, and distribution of reads vs. writes, the most common applications can be reduced to six different measurement classifications. By simulating these access patterns, system integrators and administrators can evaluate the performance capabilities for most server and workstation workloads prior to deployment.

Data Storage I/O Workload

The default Access Specification of IoMeter is a typical database workload: 2-Kilobyte random I/Os with a mix of 67% reads and 33% writes (2 reads for every write)

http://gerardnico.com/wiki/data_storage/input_output_access_pattern

Links Storage
Estos sitios permiten calcular IOPS (en base a tipos de discos), RAID (tamao segn arreglo) y ARRAY (calculador de tipos de disco y cantidad ,segn los requerimientos de IOPS y GB necesarios)
http://www.wmarow.com/strcalc/ http://www.ibeast.com/content/tools/RaidCalc/RaidCalc.asp http://www.wolframalpha.com/input/?i=RAID+calculator http://www.eprich.com/tools/simple-raid-group-calculator

Calculador

Calculator

Bibliografa
Angulo, J.M., Gutirrez J.L., y Angulo I. (1995). Arquitectura de Computadores. Madrid: THOMSON PARANINFO, S.A. Montserrat Prez Lobato - Observatorio Tecnolgico - Ministerio de Educacin y Ciencia (Espaa). Introduccin a las mquinas virtuales. Jos Mara Gonzlez - vExpert 2009, vExpert 2010, VCI, VCP2, VCP3, VCP4,. El Blog de Virtualizacin en Espaol.

FIN

Vous aimerez peut-être aussi