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

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