Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y...

23
1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema

Transcript of Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y...

Page 1: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

1

Notas:

J.M. Drake

Diseño y Evaluación de Configuraciones

Componentes software para cargar el sistema

Page 2: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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.

Page 3: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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.

Page 4: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 5: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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.

Page 6: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 7: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 8: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 9: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

9

Notas:

9Dec’10: Lab_1- Componentes software José M.Drake

Modelo de procesado

Page 10: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

10

Notas:

10Dec’10: Lab_1- Componentes software José M.Drake

Arquitectura JMF de alto nivel

Page 11: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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:

Page 12: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

12

Notas:

12Dec’10: Lab_1- Componentes software José M.Drake

Tipos de eventos ControllerEvent

Page 13: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

13

Notas:

13Dec’10: Lab_1- Componentes software José M.Drake

Tipos de eventos RTP

Page 14: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 15: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 16: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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)

Page 17: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 18: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 19: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 20: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 21: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

21

Notas:

21Dec’10: Lab_1- Componentes software José M.Drake

GUI Servidor

Destino1

Destino2

ServidorCliente

Cliente Servidor Destino 1 Destino 2

Page 22: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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

Page 23: Diseño y Evaluación de Configuraciones Componentes ... · 1 Notas: J.M. Drake Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema. 2 Notas: ...

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?