Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de...

24
Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Francisco Almeida Domingo Giménez José M. Mantas Antonio M. Vidal Depto. Estadística, I.O. y Computación Univ. La Laguna Depto. Informática y Sistemas Univ. Murcia Depto. Lenguajes y Sistemas Informáticos Univ. Granada Depto. Sistemas informáticos y Computación Univ. Pol. Valencia 8 al 10 julio 2009

Transcript of Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de...

Page 1: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

Sobre el papel de la programación paralela en los nuevos planes de estudios de informática

Francisco Almeida        Domingo Giménez          José M. Mantas        Antonio M. Vidal

Depto. Estadística, I.O. y Computación

Univ. La Laguna

Depto. Informática y Sistemas

Univ. Murcia

Depto. Lenguajes y Sistemas Informáticos

Univ. Granada

Depto. Sistemasinformáticos y Computación 

Univ. Pol. Valencia

8 al 10 julio 2009

Page 2: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

1. Motivación1. Motivación

2. La programación paralela en los planes 2. La programación paralela en los planes actuales actuales 

3. La programación paralela en los futuros 3. La programación paralela en los futuros planesplanes

4. Conclusiones4. Conclusiones

CONTENIDOS

8 al 10 julio 2009

Page 3: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

1. Motivación1. Motivación

2. La programación paralela en los planes 2. La programación paralela en los planes actuales actuales 

3. La programación paralela en los futuros 3. La programación paralela en los futuros planesplanes

4. Conclusiones4. Conclusiones

CONTENIDOS

8 al 10 julio 2009

Page 4: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

MOTIVACIÓN

● Uso tradicional de la programación paralelaUso tradicional de la programación paralela– Resolución de problemas muy costosos en ciencias e Resolución de problemas muy costosos en ciencias e 

ingenieríaingeniería– Costosos supercomputadores + paralelización de Costosos supercomputadores + paralelización de 

algoritmos existentesalgoritmos existentes● Aparición de las redes de ordenadoresAparición de las redes de ordenadores

– Los científicos podían tener su propio sistema Los científicos podían tener su propio sistema computacional paralelocomputacional paralelo

– Se usan estándares de progr. paralela para conseguir Se usan estándares de progr. paralela para conseguir portabilidadportabilidad

8 al 10 julio 2009

Page 5: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

● Situación actualSituación actual– Uso extendido de procesadores multinúcleo, tarjetas Uso extendido de procesadores multinúcleo, tarjetas 

gráficas programables masivamente paralelas, ...gráficas programables masivamente paralelas, ...– Cualquiera tiene acceso al procesamiento paralelo: la Cualquiera tiene acceso al procesamiento paralelo: la 

mayoría de los ordenadores convencionales son mayoría de los ordenadores convencionales son paralelosparalelos

● Diferentes niveles para usar paralelismoDiferentes niveles para usar paralelismo– SupercomputadoresSupercomputadores– Redes de ordenadoresRedes de ordenadores– Máquinas multinúcleoMáquinas multinúcleo– ......

MOTIVACIÓN (2)

Page 6: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

● Fuerte necesidad de difundir técnicas de Fuerte necesidad de difundir técnicas de programación paralelaprogramación paralela– El aprovechamiento eficiente de este hardware de uso El aprovechamiento eficiente de este hardware de uso 

convencional exige conocimientos de programación, convencional exige conocimientos de programación, análisis y diseño de algoritmos paralelosanálisis y diseño de algoritmos paralelos

– Mientras el estudio de técnicas  de programación, Mientras el estudio de técnicas  de programación, análisis y diseño secuencial está bien asentado, no análisis y diseño secuencial está bien asentado, no ocurre así en el ámbito paraleloocurre así en el ámbito paralelo

– Los ingenieros informáticos deben conocer  técnicas Los ingenieros informáticos deben conocer  técnicas algorítmicas paralelas y deberían incorporarse en los algorítmicas paralelas y deberían incorporarse en los nuevos planes de estudios nuevos planes de estudios 

MOTIVACIÓN (3)

Page 7: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

1. Motivación1. Motivación

2. La programación paralela en los planes 2. La programación paralela en los planes actuales actuales 

3. La programación paralela en los futuros 3. La programación paralela en los futuros planesplanes

4. Conclusiones4. Conclusiones

CONTENIDOS

8 al 10 julio 2009

Page 8: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

● Materias en la enseñanza de algoritmos paralelosMaterias en la enseñanza de algoritmos paralelos– Arquitecturas paralelasArquitecturas paralelas

–   Fundamentos progr. paralelaFundamentos progr. paralela● ConcurrenciaConcurrencia● Sistemas distribuidosSistemas distribuidos

– Notaciones, entornos y herramientasNotaciones, entornos y herramientas

– Análisis de algoritmos paralelosAnálisis de algoritmos paralelos– Diseño de algoritmos paralelosDiseño de algoritmos paralelos

● Esquemas algorítmicosEsquemas algorítmicos

LA PROGR. PARALELA EN LOS PLANES ACTUALES

Forman una unidad

Forman una unidad

Page 9: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Esquema aproximado

Primerciclo

Segundociclo

ARQ1

ARQ2

arq3

CON1

con2

HER1

her2

her3 ana1 dis1

ana2 dis2

Page 10: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Situación en Arquitecturas Paralelas

Primerciclo

Segundociclo

ARQ1

ARQ2

arq3

CON1

con2

HER1

her2

her3 ana1 dis1

ana2 dis2

Paralelismo intraprocesador y de bajo nivel

Arquitecturas Paralelas

Multiprocs., redes, procs. vectoriales, etc.

Paralelismo intraprocesador y de bajo nivel

Page 11: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Situación en Progr. concurrente

Primerciclo

Segundociclo

ARQ1

ARQ2

arq3

CON1

con2

HER1

her2

her3 ana1 dis1

ana2 dis2

Contenidos tradicionales(Sincronización, exclusión mutua, semaforos, ...)

Sistemas de tiempo real, Sistemas distribuidos,progr. distribuida, ...

Pthreads, progr. con memoria compartida, ...

Page 12: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Situación en Herramientas

Primerciclo

Segundociclo

ARQ1

ARQ2

arq3

CON1

con2

HER1

her2

her3 ana1 dis1

ana2 dis2

Pthreads, progr. con memoria compartida, Gestión procesos, ...

En prácticas 

Page 13: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Situación en Análisis y Diseño

Primerciclo

Segundociclo

ARQ1

ARQ2

arq3

CON1

con2

HER1

her2

her3 ana1 dis1

ana2 dis2

No suelen aparecer contenidos obligatorios

En asignaturas progr. paralela

Para sistemas particulares

Page 14: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

● Situación diferente en Arquitecturas y en algorítmica/programaciónSituación diferente en Arquitecturas y en algorítmica/programación– En arquitecturas paralelas: Referencias al paralelismo en los distintos En arquitecturas paralelas: Referencias al paralelismo en los distintos 

cursos.cursos.– En programación: En programación: 

● Pocas referencias al paralelismo en primer cicloPocas referencias al paralelismo en primer ciclo● Tratamiento del paralelismo con optativas y/o de forma colateral en Tratamiento del paralelismo con optativas y/o de forma colateral en 

segundo ciclo.segundo ciclo.● Se pierde visión algorítmica de alto nivelSe pierde visión algorítmica de alto nivel

– Tratamiento del paralelismo en asignaturas de arquitectura o ligadas a Tratamiento del paralelismo en asignaturas de arquitectura o ligadas a sistemas operativos.sistemas operativos.

● ResultadoResultado::  Puede que los actuales titulados no presenten los Puede que los actuales titulados no presenten los conocimientos necesarios para desarrollar aplicaciones conocimientos necesarios para desarrollar aplicaciones eficientes para los sistemas hardware actuales.eficientes para los sistemas hardware actuales.

LA PROGR. PARALELA EN LOS PLANES ACTUALES: Conclusiones

Page 15: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

1. Motivación1. Motivación

2. La programación paralela en los planes 2. La programación paralela en los planes actuales actuales 

3. La programación paralela en los futuros 3. La programación paralela en los futuros planesplanes

4. Conclusiones4. Conclusiones

CONTENIDOS

8 al 10 julio 2009

Page 16: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES● ¿Está justificado el tratamiento tan diferente del paralelismo en ¿Está justificado el tratamiento tan diferente del paralelismo en 

Arquitecturas y en programación?Arquitecturas y en programación?        NONO

– Deberían existir referencias al paralelismo en los diferentes niveles Deberían existir referencias al paralelismo en los diferentes niveles del tratamiento de la programación. del tratamiento de la programación. 

– Como en progr. secuencial, la progr. paralela se puede estudiar de forma Como en progr. secuencial, la progr. paralela se puede estudiar de forma abstracta usando modelos simplificados de arquitecturas paralelas y sabstracta usando modelos simplificados de arquitecturas paralelas y su u aprendizaje debería ser obligatorioaprendizaje debería ser obligatorio

● La mayoría de las asignaturas de la titulación relacionadas con el La mayoría de las asignaturas de la titulación relacionadas con el paralelismo se alejan de la perspectiva de la mejora de prestacionesparalelismo se alejan de la perspectiva de la mejora de prestaciones

● Posibilidades de organizaciónPosibilidades de organización::– No incluir programación paralela en el grado No incluir programación paralela en el grado 

– Asignaturas específicas de programación paralelaAsignaturas específicas de programación paralela

– Integración en otras asignaturasIntegración en otras asignaturas    

Page 17: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES: No incluir progr. paralela en el grado ●   Los contenidos se dejan para postgradoLos contenidos se dejan para postgrado..

– Por ser un tema avanzado y debido a la reducción prevista en los planesPor ser un tema avanzado y debido a la reducción prevista en los planes

● No parece adecuada ya que los sistemas estándar actualmente son  No parece adecuada ya que los sistemas estándar actualmente son  paralelos y los titulados deberían saber explotarlos eficientementeparalelos y los titulados deberían saber explotarlos eficientemente

● Los titulados no sólo deberían saber sobre arquitecturas paralelas Los titulados no sólo deberían saber sobre arquitecturas paralelas sino también  fundamentos sobre programación paralela (de forma sino también  fundamentos sobre programación paralela (de forma abstracta sin ligarse a arquitecturas particulares, como ocurre en abstracta sin ligarse a arquitecturas particulares, como ocurre en progr. secuencial)progr. secuencial)

● Con esta opción, saldrían titulados sin competencias básicas sobre Con esta opción, saldrían titulados sin competencias básicas sobre la explotación eficiente de los ordenadores de uso convencionalla explotación eficiente de los ordenadores de uso convencional

Page 18: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES: Asignaturas específicas de progr. paralela ● Tipo de programación diferenciadoTipo de programación diferenciado: Al menos una asignatura de : Al menos una asignatura de 

fundamentos de concurrencia y paralelismofundamentos de concurrencia y paralelismo

● Situación muy comúnSituación muy común: Programación concurrente en el grado: Programación concurrente en el grado

● VentajaVentaja: El profesorado se especializa en paralelismo dando un : El profesorado se especializa en paralelismo dando un enfoque ajustado.enfoque ajustado.

● Quizás ERA ANTES un enfoque adecuadoQuizás ERA ANTES un enfoque adecuado

● ACTUALMENTEACTUALMENTE con la amplia difusión del procesamiento  con la amplia difusión del procesamiento paralelo:paralelo:

– Seguiría habiendo tratamiento a diferente nivel de importancia Seguiría habiendo tratamiento a diferente nivel de importancia entre programación secuencial y paralela entre programación secuencial y paralela 

Page 19: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES: Integración en otras asignaturas● Dada la omnipresencia del procesamiento paralelo, deben incluirse Dada la omnipresencia del procesamiento paralelo, deben incluirse 

aspectos en diferentes asignaturasaspectos en diferentes asignaturas● Se puede compaginar con asignaturas específicasSe puede compaginar con asignaturas específicas

Grado

Postgrado

ARQ

arq

CON + HER

con her ana + dis

ANA + DIS

PRO ConocimientosObligatorios

Optativas

Podrían incluirse  algunas

Page 20: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES: Integración en otras asignaturas

Contenidos sobre Arquitecturas paralelas

Grado

Postgrado

ARQ

arq

CON + HER

con her ana + dis

ANA + DIS

PRO

Temas de Progr. paralela sólo para ejemplificar uso

Page 21: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

Grado

Postgrado

ARQ

arq

CON + HER

con her ana + dis

ANA + DIS

PRO

LA PROGR. PARALELA EN LOS FUTUROS PLANES: Integración en otras asignaturas

Contenidos sobre Progr. Concurrente y Herramientas de programación­ Una o dos asignaturas especializadas (Progr. Concurrente, distribuida, ..)­ Nunca en primer curso

Page 22: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

LA PROGR. PARALELA EN LOS FUTUROS PLANES: Integración en otras asignaturas

Contenidos sobre Análisis y Diseño de Algoritmos Paralelos

Grado

Postgrado

ARQ

arq

CON + HER

con her ana + dis

ANA + DIS

PRO

­ Estos contenidos irían dentro de la asignatura de Progr. Concurrente y distribuida.­ Podría haber una asignatura adicional   más centrada en mejora de prestaciones 

Temas de análisis y diseñode alg. paralelos deberían ir también aquí

Page 23: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

1. Motivación1. Motivación

2. La programación paralela en los planes 2. La programación paralela en los planes actuales actuales 

3. La programación paralela en los futuros 3. La programación paralela en los futuros planesplanes

4. Conclusiones4. Conclusiones

CONTENIDOS

8 al 10 julio 2009

Page 24: Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de …dis.um.es/~domingo/09/JENUI/presentationPara.pdf · 2009-07-09 · Tipo de programación diferenciado:

● Se ha analizado la situación actual de la enseñanza de Se ha analizado la situación actual de la enseñanza de programación y algoritmos paralelos, motivando la programación y algoritmos paralelos, motivando la discusión sobre cómo reorganizarladiscusión sobre cómo reorganizarla

● Parece buen momento para reorganizarlaParece buen momento para reorganizarla– Uso extendido del procesamiento paraleloUso extendido del procesamiento paralelo

– Proceso de reformaProceso de reforma

● Los ingenieros informáticos deben ser capaces de Los ingenieros informáticos deben ser capaces de desarrollar software eficiente para los sistemas actuales desarrollar software eficiente para los sistemas actuales (paralelos en su mayoría) y deben estudiar análisis y diseño (paralelos en su mayoría) y deben estudiar análisis y diseño de algoritmos paralelos usando nivel de abstracción similar  de algoritmos paralelos usando nivel de abstracción similar  al estudiado en el ámbito secuencial.al estudiado en el ámbito secuencial.

● Opinión autoresOpinión autores: Incluir programación paralela como parte : Incluir programación paralela como parte de las asignaturas de programación, pero con alguna de las asignaturas de programación, pero con alguna asignatura específica de paralelismoasignatura específica de paralelismo

CONCLUSIONES