- Ideias
- Should Computer Scientists Experiment More?
- Mapeamento de Programas I3 para Aplicações Anthill Paralelas de Fluxos de Dados baseadas em Filtros
Ideias
Extrair grafo de tarefas de uma aplicação para mapeamento em filtros.
Provar que uma aplicação pode ser mapeada em filtros.
Trocar loops por comunicação em filtros.
Should Computer Scientists Experiment More?
http://www.idi.ntnu.no/emner/dif8916/ShouldComputerScientistsExperimentMore.pdf
Esse "positional paper" mostra vários argumentos que mostram quanto a experimentação em ciência da computação é importante e contexta os principais argumentos apresentados pelos autores de artigos para a sua falha nesse aspecto.
O autor descreve a ciência da computação como uma ciência sintética que ajuda a resolver, modelar e estudar o processo da informação. Assim como essa os fenômenos que ela estuda, o autor prefere pensar na computação como diversos modelos, dessa forma, limitando as variáveis externas e permitindo a exploração das variáveis internas.
O autor não contexta o fato de que experimentos não provam teorias, ele confirma que experimentos devem ser utilizados para eliminar alternativas ou expandir a teoria. O caminho adotado por esse autor torna seus argumentos que defendem a experimentação bem feita fortes.
Os argumentos do autor são os seguintes:
O método tradicional de experimentação (observar um fênomeno, formular explicações e depois testá-las) pode ser utilizado, desde que esses experimentos possam ser repetidos, evitando fraudes ou manipulação dos resultados.
Em comparação com outras ciências, na ciência da computação o nível de experimentação é menor.
Os experimentos não são tão caros quanto os autores dos artigos indicam e eles podem ser adequados a diversas realidades. Mesmo os experimentos caros podem "valer o seu preço".
"Demos" podem mostrar o potencial, mas em geral não são capazes de ilustrar a realidade.
Pode-se utilizar "benchmarkig" para avaliar mesmo com muito ruido.
Ao contrário do muitos pensam, a experimentação acelera todo o processo, pois elimina caminhos incorretos mais rapidamente.
A evolução da tecnologia não responde as perguntas, um problema não é resolvido simplismente "comprando-se mais memória".
Resultados parciais bem fundados merecem publicação e são efetivamente aceitos em conferências.
Acreditar somente na intuição e em especialistas pode não resultar em nada concreto.
O autor da uma alfinetada nos autores de artigos que propõe uma tecnologia e apenas a comparam em termos de benefícios com outras, dizendo que isso é trabalho para editores de revistas de informáticas.
Esse é um artigo interessante que propõe o uso de experimentação de forma mais inteligente na computação.
O autor poderia comparar através de exemplos reais como um artigo de experimentação traz resultados mais concisos.
Mapeamento de Programas I3 para Aplicações Anthill Paralelas de Fluxos de Dados baseadas em Filtros
http://www2.dcc.ufmg.br/~barroca/a/ref/05/referencia-12640.pdf
Esse artigo aborda o mapeamento de programas I3 (irregulares, intensivas em termos de E/S e iterativas) em filtros do modelo de programação filter-stream.
As etapas mostradas a seguir são a proposta do artigo para divisão desse problema:
extração do grafo de tarefas;
mapeamento do grafo de tarefas em filtros;
geração do código da aplicação Anthill;
escalonamento e execução da aplicação Anthill.
Sendo que nesse artigo os problemas efetivamente abordados são o mapeamento do grafo de tarefas em filtros e o escalonamento de aplicações Anthill.
A proposta de mapeamento do grafo de tarefas em filtros baseia-se na descoberta do grafo de tarefas, que não foi realizada, limitando a validade do trabalho. Identifica-se tarefas que estão no mesmo nível e executam o mesmo tipo de tarefa no grafo e elas são diretamente mapeadas em filtros. As cópias transparentes são utilizadas para paralelizar tarefas num mesmo nível.