Utilización de Clusters Linux como Servidores de
Transcripción
Utilización de Clusters Linux como Servidores de
HA C LU C E Utilización de Clusters Linux como Servidores de Vı́deo Bajo Demanda Dr. Vı́ctor M. Gulı́as [email protected] Departamento de Computación Universidade da Coruña financiado por: Contenido • Antecedentes. Cluster Borg. • Video Bajo Demanda. Problemática. • Tecnologı́as Clave. Objetivos. • Diseño del Sistema. • Lı́neas de Trabajo Actuales. Borg, El Cluster Beowulf del LFCIA 4 6 7 5 1 FORERUNNER 3810 (External world) 2 10 Mb Ethernet link 3 3 Dual Pentium II 350Mhz 384MB RAM 8GB HD SCSI 4 AMD K6 300Mhz 96MB RAM 4GB HD IDE (23, up to 47) 5 100 Mb Fast Ethernet link (2 per node) 6 3COM SuperStack II 3300 Switch (4, 24 slots per switch) 5 3 4 1 7 6 7 1 Gb link (2 independent networks) CPU 2 frontend CPU ... CPU CPU CPU ... CPU Video Bajo Demanda. Requerimientos • Un servidor de Vı́deo Bajo Demanda (Video On Demand, VoD es un sistema que proporciona servicios de vı́deo en los cuales un usuario puede solicitar un VO (Video Object) en cualquier momento. • Aplicaciones: Pelı́culas bajo demanda, aprendizaje a distancia, noticias interactivas, etc. • Principales requerimientos: – Gran capacidad de almacenamiento – Gran ancho de banda – Tiempo de respuesta predecible (pref. bajo) – Soportar a gran número de usuarios concurrentes – Escalabilidad – Adaptabilidad – Tolerancia a fallos – Bajo coste Soluciones (Comerciales) Existentes VoD • Inicio proyecto 1999 (MPEG-2 2Mbps [LAN], Real 28 Kbps [WAN]) – Apple, Quicktime Streaming Server (ahora Darwin Streaming Server) – IBM, DB2 Digital Library Video Charger – Microsoft, NetShow Theater (ahora Windows Media Server) – Oracle, Video Server – Real Networks, RealVideo Server – SGI, WebForce MediaBase (ahora Kassenna) – Sun, StorEdge Media Central – Diversas soluciones a partir de otras soluciones comerciales • Soluciones caras, cerradas, no escalables, no adaptables Tecnologı́as Clave • Clusters Linux – Experiencia del grupo – Disponibilidad de código fuente – Licencia homogénea (GPL) – Compatibilidad – Buen rendimiento – Amplia disponibilidad de herramientas de desarrollo – Soporte de diferentes plataformas hardware • Erlang/OTP (Ericsson AB) – Sistemas de control, distribuidos, tolerantes a fallos, soft real-time – Funcional, Concurrente, Distribuido, Tolerancia a fallos, Integración – Open Telecom Platform: bibliotecas y patrones de diseño distribuido VoDka: Servidor VoD Funcional Distribuido • Sistema de almacenamiento jerárquico, basado en clusters Linux construidos a partir de componentes de consumo • Diseño usando patrones de diseño GoF y behaviours OTP • Lenguajes de desarrollo: – Monitorización, Control, planificación: Erlang/OTP – Entrada/Salida: C (prototipado en Erlang/OTP) • Énfasis en reutilización: – uso de herramientas Open-Source (Linux, Erlang/OTP, ...) – adaptación de soluciones existentes (Darwin) – independización de subsistemas (OpenMonet, Erlatron) Propuesta de Diseño Inicial (I) Separación: • Subsistema de gestión (aplicación web convencional); • Núcleo (kernel) servidor de vı́deo. Video On Demand Kernel Architecture Smirnoff HTTP SERVER VODKA Relevant Data Observer Consults Request1 Request2(MO) SERVLETS HTTP Consults Agent XSLT Response1 Management Data (MO) Management Subsystem (SMIRNOFF == Second Monitoring and Improved Release Now Offering Further Features) Propuesta de Diseño Inicial (II) Tape loaders, jukeboxes... Tertiary level (massive storage) Cluster nodes with local storage Secondary level (large scale cache) Cluster heads Primary level (buffering and protocol adaptation) Output streams • Estructura jerárquica con 3 niveles: – Nivel Terciario (Storage): Gran capacidad – Nivel Secundario (Cache): Planificación, ancho de banda agregado – Nivel Primario (Streaming): Adaptación de protocolos Configuración de Borg como Servidor VoD K7 500 128MB Bus 32 bits Alpha Server DS20 Buses 64 bits borg24 (192.168.155.24) 3COM Superstack II 3300 Borg0 borg0−1 (192.168.155.254) borg1−1 ... borg23−1 (192.168.155.1...23) borg0−0 (192.168.154.254) borg1−0 ... borg23−0 (192.168.154.1...23) AutoPAK VXA Tape Charger (~8.000) 3 SCSI: 2 cabezas, 1 brazo mecánico 15 slots para cintas de 33GB * ~100 películas de dos horas a 300Kb/s * ~15 películas de dos horas a 2Mb/s Cada cabeza: 5 Mb/s Flexibilización del Diseño VODKA Monitor Monitor VODKA_slave Stream Group VODKA_slave Streaming Sched Cache Sched VODKA_slave n cache levels Storage Sched Monitor Storage Group RTP H.263 HTTP Frontend Cache Group Storage Driver (File) HTTP Streamer HTTP Frontend Cache Driver (File) Cache Driver (File) Storage Driver (TAPE) Storage Group Storage Driver (HTTP) Lineas de Trabajo Actual • Necesidad de flexibilidad • Necesidad de factorización • Independencia respecto a protocolos y formatos • Cuellos de botella: acceso a disco • TCP/IP protocolo pesado • No existe almacenamiento (commodity ) off-line masivo • Implantación de un prototipo dentro del campus universitario • Estudio de adaptación e implantación de un prototipo en la red de cable de R Fuentes de Financiación • Proyectos Relacionados: – FEDER 1FD97-1759 (desarrollo del servidor VoD) (partner tecnológico R) – XUNTA PGIDT99COM10502 (modelización del rendimiento) – Univ. Coruña 2000-5050252026 (patrones en sistemas funcionales distribuidos) • Infraestructura: – Xunta de Galicia. Infraestructura 1998. Borg – Xunta de Galicia. Infraestructura 2001. BorgTNG Más información: http://vodka.lfcia.org A Coruña, 12-14 de septiembre de 2001 http://www.lfcia.org/sit01
Documentos relacionados
Utilización de Clusters Linux como Servidores de
sistema que proporciona servicios de vı́deo en los cuales un usuario puede solicitar un VO (Video Object) en cualquier momento. • Aplicaciones: Pelı́culas bajo demanda, aprendizaje a distancia, not...
Más detalles