5 resultados para multicore
Resumo:
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática
Resumo:
A animação de superfícies deformáveis, nomeadamente a modelação de tecidos, atravessa hoje uma época de grande relevância na indústria do cinema e no mundo dos jogos. A grande dedicação a este tema, em termos de investigação e a evolução das capacidades das arquitecturas de computadores no que toca a poder de processamento, tornou hoje possível efectuar este tipo de simulações usando um vasto leque de técnicas com diferentes objectivos. Entre estas técnicas encontra-se a simulação através de modelos discretos. Geralmente, neste tipo de modelação, as características do tecido são discretizadas num sistema de partículas organizadas entre si segundo um esquema de forças ou energias internas. Assim, a simulação pode ser efectuada integrando o sistema de forma a calcular as novas posições das partículas ao longo do tempo. Este tipo de computação é normalmente caracterizado como sendo bastante intensivo. A aceleração da animação de superfícies deformáveis recorrendo ao poder de processamento para além do CPU convencional foi realizada em vários trabalhos. No entanto, apenas uma pequena parte desses artigos está relacionada com a arquitectura Cell/B.E. O Cell/B.E. foi desenvolvido por uma equipa de investigadores vindos da Toshiba, Sony e IBM. Esta equipa tinha como objectivo a criação de uma arquitectura que suportasse um elevado leque de aplicações, incluindo o suporte de uma consola de jogos, de forma eficaz e com baixo consumo de energia. Assim, o processador Cell/B.E. convencional pode ser descrito por um chip multicore heterogéneo composto por um processador PowerPC e oito processadores vectoriais (SIMD) de 128 bits, permitindo assim ao programador uma maior flexibilidade na forma de paralelização de um determinado processamento. O principal objectivo deste trabalho passou pelo estudo desta arquitectura e da forma de a explorar e avaliar as suas capacidades, aplicando-as na aceleração de um simulador de superfícies deformáveis com
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Resumo:
As simulações que pretendam modelar fenómenos reais com grande precisão em tempo útil exigem enormes quantidades de recursos computacionais, sejam estes de processamento, de memória, ou comunicação. Se até há pouco tempo estas capacidades estavam confinadas a grandes supercomputadores, com o advento dos processadores multicore e GPUs manycore os recursos necessários para este tipo de problemas estão agora acessíveis a preços razoáveis não só a investigadores como aos utilizadores em geral. O presente trabalho está focado na otimização de uma aplicação que simula o comportamento dinâmico de materiais granulares secos, um problema do âmbito da Engenharia Civil, mais especificamente na área da Geotecnia, na qual estas simulações permitem por exemplo investigar a deslocação de grandes massas sólidas provocadas pelo colapso de taludes. Assim, tem havido interesse em abordar esta temática e produzir simulações representativas de situações reais, nomeadamente por parte do CGSE (Australian Research Council Centre of Excellence for Geotechnical Science and Engineering) da Universidade de Newcastle em colaboração com um membro da UNIC (Centro de Investigação em Estruturas de Construção da FCT/UNL) que tem vindo a desenvolver a sua própria linha de investigação, que se materializou na implementação, em CUDA, de um algoritmo para GPUs que possibilita simulações de sistemas com um elevado número de partículas. O trabalho apresentado consiste na otimização, assente na premissa da não alteração (ou alteração mínima) do código original, da supracitada implementação, de forma a obter melhorias significativas tanto no tempo global de execução da aplicação, como no aumento do número de partículas a simular. Ao mesmo tempo, valida-se a formulação proposta ao conseguir simulações que refletem, com grande precisão, os fenómenos físicos. Com as otimizações realizadas, conseguiu-se obter uma redução de cerca de 30% do tempo inicial cumprindo com os requisitos de correção e precisão necessários.
Resumo:
Current computer systems have evolved from featuring only a single processing unit and limited RAM, in the order of kilobytes or few megabytes, to include several multicore processors, o↵ering in the order of several tens of concurrent execution contexts, and have main memory in the order of several tens to hundreds of gigabytes. This allows to keep all data of many applications in the main memory, leading to the development of inmemory databases. Compared to disk-backed databases, in-memory databases (IMDBs) are expected to provide better performance by incurring in less I/O overhead. In this dissertation, we present a scalability study of two general purpose IMDBs on multicore systems. The results show that current general purpose IMDBs do not scale on multicores, due to contention among threads running concurrent transactions. In this work, we explore di↵erent direction to overcome the scalability issues of IMDBs in multicores, while enforcing strong isolation semantics. First, we present a solution that requires no modification to either database systems or to the applications, called MacroDB. MacroDB replicates the database among several engines, using a master-slave replication scheme, where update transactions execute on the master, while read-only transactions execute on slaves. This reduces contention, allowing MacroDB to o↵er scalable performance under read-only workloads, while updateintensive workloads su↵er from performance loss, when compared to the standalone engine. Second, we delve into the database engine and identify the concurrency control mechanism used by the storage sub-component as a scalability bottleneck. We then propose a new locking scheme that allows the removal of such mechanisms from the storage sub-component. This modification o↵ers performance improvement under all workloads, when compared to the standalone engine, while scalability is limited to read-only workloads. Next we addressed the scalability limitations for update-intensive workloads, and propose the reduction of locking granularity from the table level to the attribute level. This further improved performance for intensive and moderate update workloads, at a slight cost for read-only workloads. Scalability is limited to intensive-read and read-only workloads. Finally, we investigate the impact applications have on the performance of database systems, by studying how operation order inside transactions influences the database performance. We then propose a Read before Write (RbW) interaction pattern, under which transaction perform all read operations before executing write operations. The RbW pattern allowed TPC-C to achieve scalable performance on our modified engine for all workloads. Additionally, the RbW pattern allowed our modified engine to achieve scalable performance on multicores, almost up to the total number of cores, while enforcing strong isolation.