idsp

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

Upload: saoirse-plunkett

Post on 31-Dec-2015

40 views

Category:

Documents


4 download

DESCRIPTION

IDSP. un framework distribuido para multicomputadores DSP TMS320C6000. 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 de Extremadura. IDSP. - PowerPoint PPT Presentation

TRANSCRIPT

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

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

IDSPIDSP

IDSPIDSP Presentando IDSP...Presentando IDSP...

1. Introducción

2. Descripción de IDSP

3. Estado actual

4. Conclusiones

IDSPIDSP

1. Introducción

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

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

IDSPIDSP IntroducciónIntroducción

• Soluciones distribuidas para DSP:

HERON API

Diamond -

Virtuoso

RTOS Compañía Recomendado

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

IDSPIDSP

2. Descripción de IDSP

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

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

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

IDSPIDSP Descripción de IDSPDescripción de IDSP

• Resolución de direcciones mediante servidores RPC del sistema

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

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);

IDSPIDSP

3. Estado actual

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

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

IDSPIDSP

4. Conclusiones

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).

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

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

IDSPIDSPIDSPIDSP

Financiado por:Junta de Extremadura IPR00C032

CICYT TIC99-0609 (DIARCA)