Upload
doancong
View
230
Download
0
Embed Size (px)
Citation preview
1
Notas:
J.M. Drake
Diseño y Evaluación de Configuraciones
Componentes software para cargar el sistema
2
Notas:
2Dec’10: Lab_1- Componentes software José M.Drake
Objetivo de las prácticas.
Gestionar la ejecución de aplicaciones complejas para que satisfagan los requisitos de throughput y tiempos de respuesta.
Diseñar el despliegue de las aplicaciones en los procesadores para equilibrar las cargas y conseguir el máximo uso de la capacidad disponible.Configurar el sistema operativo de los procesadores para distribuir de forma equilibrada su capacidad de los procesadores entre las aplicaciones que lo requieren:
Uso de políticas de planificación y asignación de prioridades. Configuración y dimensionamiento de los buffer.
Configurar los servicios de comunicaciones de la plataforma paradistribuir de forma equilibrada su anchura de banda.
Uso de políticas de planificación y asignación de prioridades.Estrategias de reserva y distribución de la anchura de banda.
Analizar la escalabilidad de un sistema: Como afecta el incremento o el decremento de la carga en el comportamiento temporal del sistema.
3
Notas:
3Dec’10: Lab_1- Componentes software José M.Drake
Estrategias para medir el comportamiento de los sistemas
Medidas del comportamiento del sistemaMedida de la carga del sistemaMedida del comportamiento de temporal de la aplicaciones Medidas de nivel de uso de los recursos.
Modificar la carga del sistema para comprobar su efecto sobre el comportamiento.
Incrementar las frecuencia de los requerimientos.Modificar el trabajo que ejecutan las aplicacionesIncrementar las aplicaciones que se están ejecutando.
4
Notas:
4Dec’10: Lab_1- Componentes software José M.Drake
Estrategia para configurar el sistema.
Pruebas y ensayos sobre el sistema real.Formulación y análisis de modelos de comportamiento.
Formulación de los modelosCaracterización de la plataforma de ejecución.Caracterización de las aplicaciones.Análisis de los modelosVerificación de los resultados
5
Notas:
5Dec’10: Lab_1- Componentes software José M.Drake
Planteamiento de las prácticas
Necesitamos construir sistemas complejos para sobre ellos medir, modelar y configurar.Las practicas la haremos por equipos de dos o tres alumnos y sobre sistemas distribuidos.Necesitamos disponer de aplicaciones y módulos software que nos permitan construir las aplicaciones:
No es objetivo de esta asignatura el desarrollo de las aplicaciones.Sin embargo hay que conocerlas lo suficiente para modelar e instrumentar las aplicaciones.
En esta sesión vamos a plantear los módulos que vamos a utilizar en la primera parte.Probablemente en las dos últimas semanas estudiaremos sistemas especiales para su estudio.
6
Notas:
6Dec’10: Lab_1- Componentes software José M.Drake
Módulos desarrollados
Emisión, transferencia y presentación de vídeo y audio utilizando Gstreamer de Linux.
Emisión, transferencia y presentación de vídeo y audio utilizando JMF.
Procesador A
Procesador B
Procesador B
SwitchEthernet
Ethernet
EthernetTransmisor 1 Player 2 Transmisor 2
Transmisor 3Player 3
Player 1
7
Notas:
7Dec’10: Lab_1- Componentes software José M.Drake
Módulos desarrollados
Mecano de clientes y servidores con cargas e interacciones sintéticas
Procesador A
Procesador B
Procesador B
SwitchEthernet
Ethernet
EthernetCliente RPC
Server_PIPE 1
Cliente PIPEServer_PIPE 3
Server_RPC 2
Server_PIPE 4
Server_RPC 1 Server_RPC 3
Server_PIPE 2
8
Notas:
8Dec’10: Lab_1- Componentes software José M.Drake
JMF Java Media Framework
Es una interfaz (API) para el desarrollo de aplicaciones y applets de multimedia con requerimientos de características de comportamiento temporal. Trata:
Captura y almacenamiento de vídeo y audio.Tratamiento y procesado de stream de vídeo y audioControl de las fuentes y los dispositivos de presentación
Objetivos planteados:Facilidad de desarrollo de nuevas aplicacionesSoporte de dispositivos de captura de multimediaDesarrollo de streaming y aplicaciones de multimedia.Integración de nuevos dispositivos y productosDesarrollo de productos de específicos de multiplexo-res/demultiplexores, codificadores, generadores de efectos, etc.
Tiene dos partes:JMFProtocolo RTP
9
Notas:
9Dec’10: Lab_1- Componentes software José M.Drake
Modelo de procesado
10
Notas:
10Dec’10: Lab_1- Componentes software José M.Drake
Arquitectura JMF de alto nivel
11
Notas:
11Dec’10: Lab_1- Componentes software José M.Drake
Manager y Controller
El framework JMF se basa en utilizar unos elementos intermedios que se denominan Manager y que sirve de factory para crear todo tipo deController: Player, Processor, DataSources DataSinks, etcLa interacción con estos objetos se realiza utilizando Listeners que capturan los eventos que generan:
12
Notas:
12Dec’10: Lab_1- Componentes software José M.Drake
Tipos de eventos ControllerEvent
13
Notas:
13Dec’10: Lab_1- Componentes software José M.Drake
Tipos de eventos RTP
14
Notas:
14Dec’10: Lab_1- Componentes software José M.Drake
Módulos
java AVTransmit4file:/C:/DRAKE/Clases/DEC/JMF_Lab/copy.mpg 193.144.198.106 15400
java AVReceive2 /193.144.198.145/17800/0/
AVTransmit4.java AVReceive2.java
Media source Target IP Address Port
Source IP Address
PortTTI
RTP
15
Notas:
15Dec’10: Lab_1- Componentes software José M.Drake
Main AVTransmit4
public static void main(String [] args) {if (args.length < 3) { prUsage();}Format fmt = null;int i = 0;AVTransmit4 at =
new AVTransmit4(new MediaLocator(args[i]),args[i+1], args[i+2], fmt);
String result = at.start();if (result != null) {
System.err.println("Error : " + result);System.exit(0);}
System.err.println("Start transmission");try {
Thread.currentThread().sleep(60000);} catch (InterruptedException ie) {}at.stop();System.err.println("...transmission ended.");System.exit(0);
}
Analiza argumentos
Construye transmisor
Construye transmisorSi hay errores, termina
Transmite durante 1 minuto
Termina la transmisión
16
Notas:
16Dec’10: Lab_1- Componentes software José M.Drake
Class AVTransmit4 (1)
public class AVTransmit4 {private MediaLocator locator;private String ipAddress;private int portBase;private Processor processor = null;private RTPManager rtpMgrs[];private DataSource dataOutput = null;
public AVTransmit4(MediaLocator locator,String ipAddress, String pb, Format format) {
this.locator = locator;this.ipAddress = ipAddress;Integer integer = Integer.valueOf(pb);if (integer != null)this.portBase = integer.intValue();
}
Objetos persistentes
Constructor (no hace nada)
17
Notas:
17Dec’10: Lab_1- Componentes software José M.Drake
Class AVTransmit4 (2)
public synchronized String start() {String result;result = createProcessor();if (result != null) return result;
result = createTransmitter();if (result != null) {
processor.close();processor = null;return result; }
processor.start();return null;
}
Crea el procesador de la fuente
Crea el transmisor RTP
Inicia la transmision
18
Notas:
18Dec’10: Lab_1- Componentes software José M.Drake
Class AVTransmit4 (3)
private String createProcessor() {if (locator == null) return "Locator is null";DataSource ds;DataSource clone;try{
ds = javax.media.Manager.createDataSource(locator);} catch (Exception e) { return "Couldn't create DataSource";}try {
processor = javax.media.Manager.createProcessor(ds);} catch (NoProcessorException npe) {
return "Couldn't create processor";} catch (IOException ioe) {
return "IOException creating processor";}
........
Crea la fuente de datos
Crea el procesador de la fuente
19
Notas:
19Dec’10: Lab_1- Componentes software José M.Drake
Mecano cliente/servidor
Permite reproducir aplicaciones complejas cliente servidor de múltiples capas con control de todos sus parámetros:
Client Serv 1 Serv 2 Serv 3 Client Serv 1 Serv2 Serv3
20
Notas:
20Dec’10: Lab_1- Componentes software José M.Drake
GUI de Cliente
CONSTANTEUNIFORMEEXPONENCIALBIPOLAR
UDPTCP
Frecuencia
!00%CONSTANTE
Frecuencia +Rango/2
UNIFORME
Frecuencia -Rango/2
Frecuencia
EXPONENCIAL
50%
BIPOLAR
Frecuencia +Rango/2
Frecuencia -Rango/2
21
Notas:
21Dec’10: Lab_1- Componentes software José M.Drake
GUI Servidor
Destino1
Destino2
ServidorCliente
Cliente Servidor Destino 1 Destino 2
22
Notas:
22Dec’10: Lab_1- Componentes software José M.Drake
Ejemplo de emulación de un caso práctico
Un sistema de procesamiento de transacciones se compone de tres procesadores. En el procesador A se encuentra el servidor de transacciones, y en los procesadores B y C se encuentran dos bases de datos con la información requerida para llevar a cabo la transacción. El modelo básico de colas del sistema se muestra en la figura.
In
Out
AB
C
Una Transacción
A => 16 tareas T_Medio= 10 msB => 7 tareas T_medio= 20 msC => 8 tareas T_medio= 30 ms
23
Notas:
23Dec’10: Lab_1- Componentes software José M.Drake
Emulación
Cliente Servidor A
Servidor B
Servidor C
7/16
8/16
Exponencial10 ms
Bipolar20 ms±5 ms
Bipolar30 ms±5 ms
• Si se requieren 5 transacciones/s ¿Cual es el tiempo de respuesta?• ¿Que elemento es el que constituye en cuello de botella?•¿Cual es el Througput máximo del sistema?