Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de...
Transcript of Departamento de Informática y Sistemas - Universidad de Murcia - Sobre el papel de...
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
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
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
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
● 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)
● 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)
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
● 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
LA PROGR. PARALELA EN LOS PLANES ACTUALES: Esquema aproximado
Primerciclo
Segundociclo
ARQ1
ARQ2
arq3
CON1
con2
HER1
her2
her3 ana1 dis1
ana2 dis2
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
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, ...
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
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
● 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
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
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
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
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
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
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
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
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í
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
● 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