Académique Documents
Professionnel Documents
Culture Documents
La pregunta clave
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
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.
Rendimiento
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.
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)
Disp. = 90%
CPU Fuente 2
Disp. = 80% Disp. = 80%
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
Red
Servidor
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.
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.
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 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.
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
La carga y la evaluacin
Carga (load): conjunto de tareas que ha de hacer un sistema.
Programas, datos y rdenes de los usuarios
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.
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)
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
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
Modelado.
Reproduccin del comportamiento del sistema
Mtodos analticos (redes de filas, cadenas de Markov, redes de Petri, ...) Simulacin discreta (CSIM, SMPL, Simula, ...)
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).
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
Comparacin de prestaciones
Perspectiva actual.
Ejecutar los programas reales (o los ms parecidos a los programas reales) para evaluar el rendimiento de un sistema.
Comparacin de prestaciones
El computador X es N veces ms rpido que Y
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
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?
Recurso no utilizado
Recurso utilizado
T mejorado
Tmejorado = Toriginal (1 f ) +
Toriginal f k
A=
Toriginal Tmejorado
A=
1 f (1 f ) + k
f Tmejorado = Toriginal (1 f ) + k
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
Ejemplo de clculo
Si el factor de mejora es muy grande
k
A=
1 f (1 f ) + k
1 1 lm A = lm = = = 2.5 k k f (1 - f ) (1 - 0,6 ) 1 f + k
f = 0.5
f = 0.95
A=
f (1 f ) + k
k=infinito A=5
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
A=
1 f (1 f ) + k
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
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
Aceleracin
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
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
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
Y los costos?
C = comput A computB = 500 400 = 1,25
Solucin Ejercicio I
Si dividimos la razn de desempeo por el costo, tendremos:
desempeoA cos to A
5,88
2,94
=2
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)
Leyes de la Aceleracin
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.
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.
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.
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.
Otros Raid
Otros Raid
Diagramas
Conversiones y Estimaciones
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