O documento descreve as atividades de pesquisa de um grupo de computação de alto desempenho incluindo projetos, linhas de pesquisa, aplicações, desafios de hardware e software, e o modelo de componentes # para programação paralela baseada em componentes.
9. Desafios em Hardware Arquiteturas de Computadores Paralelos
10. Unidade de Processamento Intel MMX / SSE / SSE2 AMD 3DNow! Processadores Vetoriais Load A[1] Mult 4 Store B[1] t 0 t 1 t 2 B[i] := A[i] * 4 ... ... ... Load A[2] Mult 4 Store B[2] Load A[n] Mult 4 Store B[n] Load A[I] Mult 4 Store B[I] Uma única instrução opera sobre um conjunto de dados SIMD ( Single Instruction Multiple Data ) Pipelined SISD ( Single Instruction Single Data ) Processadores Super-escalares Várias instruções por ciclo de clock MIMD ( Multiple Instruction Multiple Data ) Load A Mult 4 Store B t 0 t 1 t 2 ... ... ... Load E Store F Nop Load I Add 5 Store C B := A * 4 C := 5 + I F := E
26. The # Component Model Towards a Component Model for Improving Practice of Parallel Programming
27. Components The # Component Model Integration Distribution Parallelism
28. O Modelo de Componentes # Premissas e Intuições P 0 P 1 P n ...
29. O Modelo de Componentes # Premissas e Intuições P 0 P 1 P 2 P 4 shift right ! broadcast ! all to all ! ! ? ! ! ! ? ? ? ! ? ! ? ? ! ??? ! ! ! ??? ??? ??? ??? !!! !!! !!! !!!
30.
31. P 0 P 1 P 2 P 4 ? ? ? shift right ! broadcast ! all to all ! ??? ??? ??? ??? !!! !!! !!! !!! ! ? ! ! ! ? ? ? ? ! ! ? !! !!! ? ? process slice Cores indicam interesses ( concerns )
32. C 0 C 1 C 2 C 3 C 4 C 5 Retânguls são unidades Elipses são componentes
33. C O N C E R N S P R O C E S S E S An orthogonal perspective of parallel programming !! C 4 C 5 C 3 C 2 C 1 C 0 P 3 P 2 P 1 P 0
34. Dado um conjunto de componentes #, como compôr um programa ? Composição Hierárquica por Sobreposição !