5 – 9 de ago. de 2019
Fuso horário America/Sao_Paulo

πFlowMT — Um modelo de execução dirigido pelos dados em processadores many-core

Não agendado
20m
Doutorado

Palestrante

Felipe Ferreira (IFSC/USP)

Descrição

A mudança conceitual no desenvolvimento dos processadores que permitiu a construção de processadores multi-core faz necessária a construção de novos modelos de execução para permitir a extração de toda a capacidade de processamento presente nestes novos processadores, já que no modelo tradicional o usuário deve realizar de maneira eficiente as tarefas de dividir a execução entre os múltiplos núcleos e sincronizar os acessos à memória para manter a coerência dos dados.(1) Modelos de execução que utilizam os conceitos de fluxo de dados são boas alternativas para esta tarefa — estes conceitos permitem que o paralelismo disponível nos códigos seja extraído de maneira mais eficiente.(2) $\pi$FlowMT é um modelo de execução multithreaded dirigido pelos dados que tem como principal objetivo garantir a eficiência na extração da capacidade de processamento, não só dos processadores x86 atuais multi-core como também dos futuros processadores many-core. O modelo é implementado na forma de uma biblioteca escrita em c++, nele o fluxo de dados ocorre com granularidade grossa e é feito através de uma estrutura de dados desenvolvida chamada codelet. Cada instância desta estrutura possuí três elementos: um conjunto de entradas, um conjunto de saídas e uma função que opera sobre o conjunto de entradas — o fluxo de dados ocorre quando as saídas de um codelet começam a atuar como entradas para outros codelets. A análise do modelo é feita de maneira comparativa, através da implementação e execução de uma série de algoritmos distintos no modelo desenvolvido e em modelos de estado da arte — OpenMP, Intel Threading Building Blocks e OmpSs. Os algoritmos são executados em dois ambientes de execução diferentes: um simulador e um processador real, os dois ambientes se complementam, diluindo os efeitos e limitações de ambos os casos.(3) A execução dos algoritmos foi positiva, onde os resultados, na comparação com os outros modelos de execução, foram equivalentes, sendo superiores em alguns casos, principalmente no regime many-core.

Referências

1 MCKENNEY, P. E.(Ed.) Is parallel programming hard, and, if so, what can you do about it ? 2017. Disponivel em:http://neilrieck.net/misc/pdf/computer-docs/parallel-programming-hard.pdf.Acesso em: 28.06.19.
2 ARANDI, S. ; PARASKEVAS, E. Programming multi-core architectures using Data-flow techniques.In: INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEM: ARCHITECTURES, MODELING AND SIMULATION,2010, Samos,Greece. Proceedings... Samos: 2010. doi:10.1109/ICSAMOS.2010.5642072 ·
3 TREVOR, E. at al. An evaluation of high-level mechanistic Core models. ACM Transactions on Architecture and Code Optimization,v.11,n.3, p.127-151,2014.

Subárea Física Computacional e Simulações Numéricas
Apresentação do trabalho acadêmico para o público geral Não

Autor primário

Co-autores

Dr. Gonzalo Travieso (IFSC/USP) Dr. Carlos Antonio Ruggiero (IFSC/USP)

Materiais de apresentação

Ainda não há materiais