IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García...

24
IDSP IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Departamento de Informática Universidad de Extremadura un framework distribuido para multicomputadores DSP TMS320C6000

Transcript of IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García...

Page 1: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSPIDSPIDSP

Jesús M. Álvarez LlorenteJuan C. Díaz Martín

José M. Rodríguez GarcíaJuan L. García ZapataJuan A. Rico Gallego

Departamento de Informática

Universidad de Extremadura

un framework distribuido para multicomputadores

DSP TMS320C6000

un framework distribuido para multicomputadores

DSP TMS320C6000

Page 2: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSPIDSPIDSPun framework distribuido para multicomputadores

DSP TMS320C6000

un framework distribuido para multicomputadores

DSP TMS320C6000

Jesús M. Álvarez LlorenteJuan C. Díaz Martín

José M. Rodríguez GarcíaJuan L. García ZapataJuan A. Rico Gallego

Departamento de Informática

Universidad de Extremadura

Page 3: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP

Page 4: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Presentando IDSP...Presentando IDSP...

1. Introducción

2. Descripción de IDSP

3. Estado actual

4. Conclusiones

Page 5: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP

1. Introducción

Page 6: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP IntroducciónIntroducción

• API para programación distribuida

• En procesadores DSP:– Procesamiento numérico de señal– Muchos procesos encadenados– Tiempo real– Poca memoria

• Utilizamos DSP TMS320C6000 de Texas Instruments

Page 7: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP IntroducciónIntroducción

• Texas Instruments ofrece DSP/BIOS:– Muy extendido– Pequeño (~25 KB.)– Tiempo real– Desarrollo complejo– No soporta distribución Diamond

La distribución de tareas se configura en

tiempo de compilación

La distribución de tareas se configura en

tiempo de compilación

Page 8: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP IntroducciónIntroducción

• Soluciones distribuidas para DSP:

HERON API

Diamond -

Virtuoso

RTOS Compañía Recomendado

Page 9: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP IntroducciónIntroducción

• Qué mejora IDSP:– Distribución de tareas en tiempo de ejecución

según criterio de reparto de cargas– Mantiene la transparencia a la ubicación– Interfaz sencilla

C 6000 C 6000 C 6000

D SP /B IO S D SP /B IO S D SP /B IO S

A P I ID SP

A P L IC A C IÓ N D IST R IB U ID A

Page 10: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP

2. Descripción de IDSP

Page 11: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Estructura de un algoritmo DSP

O p.0

F lu jo deen trada 1

F lu jo deen trada 2

F lu jo desa lida

O p.3

O p.1 O p.2 O p.4

O p.0

F lu jo deen trada 1

F lu jo deen trada 2

F lu jo desa lida

O p.3

O p.1 O p.2 O p.4

OperadorOperador

CanalCanal GrupoGrupo

IDSP

Page 12: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Direccionamiento:– Un grupo es una instancia de aplicación (gixgix)– Un operador es un hilo (oixoix)– El extremo de un canal en un operador es un

comunicador (oixoix)

O p.0

F lu jo deen trada 1

F lu jo deen trada 2

F lu jo desa lida

O p.3

O p.1 O p.2 O p.4

O p.0

F lu jo deen trada 1

F lu jo deen trada 2

F lu jo desa lida

O p.3

O p.1 O p.2 O p.4

OperadorOperador

CanalCanal GrupoGrupo

Page 13: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Destino del mensaje: (gix gix , oix oix , oixoix)

• Estructura del mensaje:

D irección de com unicador

D irección de operador

D ir. de g rupo

g ix o ix c ix

D irecciónorigen

Tam añodatos

D ireccióndes tino D atos o m étodo

Page 14: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Resolución de direcciones mediante servidores RPC del sistema

Page 15: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Arquitectura en capas

A rquitec tu ra ‘C 6000

C SL

N ivel de en lace

N ivel de red

N úcleo ID SP

Librería ID SP

N ivel de usuario

D SP/B IO S

A rqu itec tu ra ‘C 6000

C SL

N ivel de en lace

N ivel de red

N úcleo ID SP

Librería ID SP

N ivel de usuario

D SP/B IO S

Page 16: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Descripción de IDSPDescripción de IDSP

Int GROUP_self (Void);Int GROUP_create (Int *gix, Int appCode, Void *param[]);Int GROUP_kill (Int gix);Int GROUP_start (Int gix);Void GROUP_leave (Void);

Int GROUP_self (Void);Int GROUP_create (Int *gix, Int appCode, Void *param[]);Int GROUP_kill (Int gix);Int GROUP_start (Int gix);Void GROUP_leave (Void);

Oper_t OPER_self (Void);Int OPER_upgrade(Void);Void OPER_degrade(Void);Int OPER_create (Oper_t *oper, Int operCode, Int appCode, Oper_Addr_t addr, Void *param );Void OPER_destroy(Oper_t oper); Void OPER_exit (Void); Int OPER_start (Oper_t oper, Oper_Addr_t addr ); Int OPER_kill (Oper_t oper, Oper_Addr_t addr );

Oper_t OPER_self (Void);Int OPER_upgrade(Void);Void OPER_degrade(Void);Int OPER_create (Oper_t *oper, Int operCode, Int appCode, Oper_Addr_t addr, Void *param );Void OPER_destroy(Oper_t oper); Void OPER_exit (Void); Int OPER_start (Oper_t oper, Oper_Addr_t addr ); Int OPER_kill (Oper_t oper, Oper_Addr_t addr );

Int COMM_create (*ID, attr, addr);Int COMM_destroy (ID); Int COMM_receive (cix, Comm_Addr_t *src, char *buffer, Int *nbytes); Int COMM_send (Int cix, Comm_Addr_t dst, char *buffer, Int nbytes); Int COMM_sendrec (Int cix, Comm_Addr_t *addr, char *buffer, Int *nbytes); Int COMM_setTimeout(Int cix, Uns timeout);

Int COMM_create (*ID, attr, addr);Int COMM_destroy (ID); Int COMM_receive (cix, Comm_Addr_t *src, char *buffer, Int *nbytes); Int COMM_send (Int cix, Comm_Addr_t dst, char *buffer, Int nbytes); Int COMM_sendrec (Int cix, Comm_Addr_t *addr, char *buffer, Int *nbytes); Int COMM_setTimeout(Int cix, Uns timeout);

Page 17: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP

3. Estado actual

Page 18: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Estado actualEstado actual

• Desarrollo inicial sobre DSK TMS320C6711 – Codificador de audio al MCBSP y DIARCA– Multiprocesador simulado mediante

realimentación por el MCBSP– Probado 2 DSK iguales unidos por el MCBSP

Page 19: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP Estado actualEstado actual

• Portando a Sundance SMT310Q con 4 DPS– DSPs TMS320C6201 (DMA, comm-ports,

memoria, cache, rendimiento)– Funciona con 2 procesadores, trabajamos en 3

Page 20: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP

4. Conclusiones

Page 21: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP ConclusionesConclusiones

• IDSP es el primer intento conocido de desarrollar un framework distribuido para multicomputadores DSP con transparencia a la ubicación.

• El diseño por capas facilita la migración a hardware diferente (es un sistema bien construido).

Page 22: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP ConclusionesConclusiones

• Es sencillo, pequeño y rápido ( DIARCA)

Díaz Martin, JC. Garcia Zapata, JL. Rodriguez Garcia, J.M., Alvarez Salgado, J.F., Espada Bueno, P. Gómez Vilda, P., DIARCA: A Component Approach to Voice Recognition, Proc. of 7th European Conference on Speech Communication and Technology, Eurospeech 2001, Aalborg, Denmark, 2001, V4, pp. 2393-2396

Page 23: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSP ConclusionesConclusiones

• Objetivos futuros para IDSP:– Base para memoria compartida distribuida, que

apoyará una JVM distribuida para DSP.

– Integrar IDSP con PONNHI, un núcleo POSIX para C6000, como alternativa a DSP/BIOS.

Rodríguez García, J.M., Rico Gallego, J.A., Alvarez Llorente, J.M., Díaz Martín, J.C. PONNHI. Una nueva arquitectura microkernel Pthreads en espacio de usuario. Actas XII Jornadas de Paralelismo. Lleida, septiembre 2002

Page 24: IDSP Jesús M. Álvarez Llorente Juan C. Díaz Martín José M. Rodríguez García Juan L. García Zapata Juan A. Rico Gallego Departamento de Informática Universidad.

IDSPIDSPIDSPIDSP

Financiado por:Junta de Extremadura IPR00C032

CICYT TIC99-0609 (DIARCA)