Debido paralelismo interactúa con tantas áreas de la computación, incluyendo al menos algoritmos, lenguajes, sistemas, redes y hardware, muchos planes de estudio pondrán diferentes partes del área de conocimiento en diferentes cursos, en lugar de en un curso dedicado. Si bien reconocemos que la informática se está moviendo en esa dirección y puede llegar a ese punto, en 2013 este proceso se encuentra aún en proceso de cambio y creemos que ofrece una guía más útil para diseñadores curriculares para agregar los temas fundamentales de paralelismo en un solo lugar. Tenga en cuenta, sin embargo, que los fundamentos de la concurrencia y la exclusión mutua aparecen en el área de conocimiento Fundamentos de Sistemas (SF) . Muchos planes de estudios pueden optar por introducir el paralelismo y la concurrencia en el mismo curso (ver más abajo para la distinción prevista por estos términos). Además, observamos que los temas y resultados de aprendizaje que figuran a continuación incluyen sólo breves menciones de cobertura puramente electiva. En la actualidad, hay demasiada diversidad en temas que comparten poco en común (incluyendo por ejemplo, la computación científica paralela, cálculos de procesos y estructuras de datos no-bloqueo) para recomendar determinados temas se tratarán en cursos electivos.
Debido a la terminología de la computación paralela y distribuida varía entre las comunidades, ofrecemos aquí una breve descripción de los sentidos previstos de algunos términos. Esta lista no es exhaustiva ni definitiva, pero se proporciona para mayor claridad.
Como multi-procesador de computación continúa creciendo en los próximos años, también lo hará el papel de la computación paralela y distribuida en los programas informáticos de pregrado. Además de las directrices que se presentan aquí, también nos dirigimos al lector interesado al documento titulado “NSF/TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduates"", disponible en el sitio web: http://www.cs.gsu.edu/ tcpp/curriculum/.
Nota general de referencias cruzadas: Fundamentos de Sistemas también contiene una introducción al paralelismo (Paradigmas computacionales , Paralelismo , Desempeño en paralelo ).
La introducción al paralelismo en SF complementa el uno aquí y no hay restricción de pedido entre ellos. En San Francisco, la idea es proporcionar una visión unificada del apoyo del sistema para su ejecución simultánea en varios niveles de abstracción (el paralelismo es inherente a las puertas, procesadores, sistemas operativos y servidores), mientras que aquí la atención se centra en una comprensión preliminar de paralelismo como la computación primitivo y las complicaciones que surgen en paralelo y la programación concurrente. Teniendo en cuenta estas diferentes perspectivas, las horas asignadas a cada uno no son redundantes: ver los sistemas de capas y los conceptos computacionales de alto nivel se contabilizan por separado en termsof las horas centrales.
KA | Core Tier1 | Core Tier2 | Electivo |
---|---|---|---|
2.12.1 Fundamentos de paralelismo | 2 | No | |
2.12.2 Descomposición en paralelo | 1 | 2 | No |
2.12.3 Comunicación y coordinación | 1 | 3 | Si |
2.12.4 Análisis y programación de algoritmos paralelos | 3 | Si | |
2.12.5 Arquitecturas paralelas | 1 | 2 | Si |
2.12.6 Desempeño en paralelo | Si | ||
2.12.7 Sistemas distribuídos | Si | ||
2.12.8 Cloud Computing | Si | ||
2.12.9 Modelos y semántica formal | Si |