Alexandre, Fernando, Ricardo Marques, and Hervé Paulino. "
Esqueletos Algorítmicos para Paralelismo de Tarefas em Sistemas Multi-GPU."
INForum 2013 - Atas do 5º Simpósio de Informática. Eds. João Cachopo, and Beatriz Sousa Santos. Évora, Portugal: Escola de Ciências e Tecnologia da Universidade de Évora, 2013. 238-249.
AbstractA crescente utilização de Unidades de Processamento Gráfico (GPUs) na computação de caráter geral levanta questões de desempenho e de escalabilidade. Para responder a estes requisitos de forma efetiva, cada vez mais se recorre à utilização colaborativa de vários GPUs num só sistema. Esta abordagem introduz, no entanto, novos desafios, tal como a decomposição do domínio do problema e a gestão da possível heterogeneidade dos dispositivos. Neste contexto assume particular relevância a proposta de abstrações que escondam a complexidade da programação destes sistemas. Existe já algum trabalho na área, mas este restringe-se ao paralelismo de dados. Por conseguinte, neste artigo abordamos a utilização de uma biblioteca de esqueletos algorítmicos, Marrow, para a exploração de paralelismo de tarefas em sistemas computacionais com estas características. Os resultados são promissores, apresentado a escalabilidade esperada nos sistemas testados.
Silva, João, Tiago Vale, João M. Lourenço, and Hervé Paulino. "
Replicação Parcial com Memória Transacional Distribuída."
INForum 2013 - Atas do 5º Simpósio de Informática. Eds. João Cachopo, and Beatriz Sousa Santos. Évora, Portugal: Escola de Ciências e Tecnologia da Universidade de Évora, 2013. 310-321.
AbstractOs sistemas de memória transacional distribuída atuais recorrem essencialmente à distribuição ou à replicação total para distribuir os seus dados pelos múltiplos nós do sistema. No entanto, estas estratégias de replicação de dados apresentam limitações. A distribuição não oferece tolerância a falhas e a replicação total limita a capacidade de armazenamento do sistema. Nesse contexto, a replicação parcial de dados surge como uma solução intermédia, que combina o melhor das duas anteriores com o intuito de mitigar as suas desvantagens. Esta estratégia tem sido explorada no contexto das bases de dados distribuídas, mas tem sido pouco abordada no contexto da memória transacional e, tanto quanto sabemos, nunca antes tinha sido incorporada num sistema de memória transacional distribuída para uma linguagem de propósito geral. Assim, neste artigo propomos e avaliamos uma infraestrutura para replicação parcial de dados para programas Java bytecode, que foi desenvolvida com base num sistema já existente de memória transacional distribuída. A modularidade da infraestrutura que apresentamos permite a implementação de múltiplos algoritmos e, por conseguinte, avaliar em que contextos de utilização (workloads, número de nós, etc.) a replicação parcial se apresenta como uma alternativa viável a outras estratégias de replicação de dados.
Parreira, Daniel, and Hervé Paulino. "
Uma Abordagem Alto Nível ao Controlo de Concorrência Componível Centrado nos Dados."
INForum 2013 - Atas do 5º Simpósio de Informática. Eds. João Cachopo, and Beatriz Sousa Santos. Évora, Portugal: Escola de Ciências e Tecnologia da Universidade de Évora, 2013. 298-309.
AbstractO controlo da concorrência no acesso a estado partilhado assume actualmente um papel de destaque no desenvolvimento de software. Trabalhos recentes propõem que tal gestão seja expressa ao nível dos dados, em alternativa à usual centralidade no código. A principal vantagem é o acoplamento da gestão da concorrência com a declaração dos dados, eliminando desse modo a descentralização dos erros de concorrência, facilitando a sua correção. No entanto, as abordagens centradas nos dados existentes pecam por não garantirem a ausência de deadlocks em todos os cenários e/ou exigirem do programador a agregação explícita dos recursos que devem ser avaliados atomicamente. A nossa proposta colmata ambas estas limitações. O programador anota isoladamente que zonas de memória requerem acesso exclusivo, sendo que uma análise estática infere quais dessas devem ser agrupadas e adquiridas atomicamente, e garante que o código gerado é ausente de deadlocks. De modo a aferir-se a eficiência da nossa solução, comparamos o seu desempenho e a sua produtividade relativamente à memória transacional e outras abordagens centrada nos dados.
Delgado, Nuno, and Hervé Paulino. "
Uma Abordagem Sistema para o Paralelismo Hierárquico em Arquitecturas Multi-core."
INForum 2013 - Atas do 5º Simpósio de Informática. Eds. João Cachopo, and Beatriz Sousa Santos. Évora, Portugal: Escola de Ciências e Tecnologia da Universidade de Évora, 2013. 274-285.
AbstractA decomposição correta de um problema paralelo com base na hierarquia de memória onde irá executar pode levar a ganhos de desempenho significativos durante execução do mesmo. No entanto, os subsistemas de memória das arquiteturas multicore modernas apresentam variadas configurações, em termos das suas organizações hierárquicas e da capacidade dos seus diversos níveis de memória. Existem diversas abordagens que permitem adequar a execução de uma aplicação à estratificação hierárquica da memória,. Contudo estas exigem do programador um conhecimento profundo da arquitetura alvo e de programação paralela em geral. A abordagem apresentada neste artigo contrasta com as demais, transpondo esta responsabilidade para o sistema de execução, colocando sobre a sua alçada a decomposição hierárquica da computação. Nessa medida, ao programador cabe apenas expressar de forma genérica os algoritmos de subdivisão do domínio do problema. Avaliamos o desempenho da nossa abordagem relativamente a outra baseada na usual decomposição horizontal do domínio do problema. Os resultados são bons, apresentando ganhos de performance em aplicações que usufruem do tipo de otimização efetuada e desempenhos equiparáveis nas restantes.
Kullberg, J. C., R. B. Rocha, A. F. Soares, J. Rey, P. Terrinha, A. C. Azerêdo, P. Callapez, Duarte, L.V., M. C. Kullberg, L. Martins, J. R. Miranda, C. Alves, J. Mata, J. Madeira, O. Mateus, M. Moreira, and C. R. Nogueira. "
A Bacia Lusitaniana: Estratigrafia, Paleogeografia e Tectónica."
Geologia de Portugal no contexto da Ibéria. Volume II. Ed. Terrinha Kullberg A. P. J. C. and Dias, R. Araújo. Lisboa: Escolar Editora, 2013. 195-350.
Cunha, Jácome, João Paulo Fernandes, Jorge Mendes, and João Saraiva. "
Complexity Metrics for Spreadsheet Models."
The 13th International Conference on Computational Science and Its Applications. Eds. B. Murgante, and et al. Vol. 7972. ICCSA'13, 7972. LNCS, 2013. 459-474.
AbstractThis paper proposes a set of metrics for the assessment of the complexity of models defining the business logic of spreadsheets. This set can be considered the first step in the direction of building a quality standard for spreadsheet models, that is still to be defined. The computation of concrete metric values has further been integrated under a well-established model-driven spreadsheet development environment, providing a framework for the analysis of spreadsheet models under spreadsheets themselves.
Lourenço, Luís Miguel, João Costa Seco, and Francisco Martins Concurrent Typed Intermediate Language. Object Oriented Programming Languages and Systems at 28th Symposium On Applied Computing. Coimbra, 2013.
Strganac, Christopher, Louis L. Jacobs, Kurt M. Ferguson, Michael J. Polcyn, Octávio Mateus, Anne S. Schulp, and Maria Luísa Morais Late Cretaceous marine reptiles and cooling at the South Atlantic coast inferred through stable oxygen isotopes of Inoceramus from the Namibe Basin, Angola. Geological Society of America Abstracts with Programs. Vol. 45, No. 7, p.0., 2013.