{"id":320,"date":"2017-03-06T05:00:39","date_gmt":"2017-03-06T08:00:39","guid":{"rendered":"https:\/\/wp.ufpel.edu.br\/notcc\/?p=320"},"modified":"2017-02-28T12:23:38","modified_gmt":"2017-02-28T15:23:38","slug":"banca-de-tcc-michael-alexandre-costa","status":"publish","type":"post","link":"https:\/\/wp.ufpel.edu.br\/notcc\/banca-de-tcc-michael-alexandre-costa\/","title":{"rendered":"Banca de TCC &#8211; Michael Alexandre Costa"},"content":{"rendered":"<p style=\"text-align: center\"><strong>UNIVERSIDADE FEDERAL DE PELOTAS<\/strong><br \/>\n<strong> CENTRO DE DESENVOLVIMENTO TECNOL\u00d3GICO<\/strong><br \/>\n<strong> TRABALHO DE CONCLUS\u00c3O DE CURSO<\/strong><\/p>\n<p style=\"text-align: center\">Apresenta\u00e7\u00f5es Finais (2016\/2)<\/p>\n<p style=\"text-align: center\">Desenvolvimento de um escalonador de tarefas para TinySTM<br \/>\npor<br \/>\nMichael Alexandre Costa<\/p>\n<p>Curso:<br \/>\nCi\u00eancia da Computa\u00e7\u00e3o<\/p>\n<p>Banca:<br \/>\nProf. Maur\u00edcio Lima Pilla (orientador)<br \/>\nProf. Andr\u00e9 Rauber Du Bois (co-orientador)<br \/>\nMSc. Felipe Leivas Teixeira<br \/>\nProf. Gerson Geraldo Homrich Cavalheiro<\/p>\n<p>Data: 09 de Mar\u00e7o de 2017<\/p>\n<p>Hora: 15:30h<\/p>\n<p>Local: Sala 437<\/p>\n<p style=\"text-align: justify\"><!--more-->Resumo do Trabalho: Mem\u00f3rias Transacionais (TM) s\u00e3o apresentadas como alternativas \u00e0 sincroniza\u00e7\u00e3o utilizando locks e monitores. As TMs permitem ao programador escrever programas paralelos em mais alto n\u00edvel, reduzindo a complexidade da sincroniza\u00e7\u00e3o. Com o aumento do paralelismo existe um aumento na conten\u00e7\u00e3o gerando maior n\u00famero de conflitos, estas transa\u00e7\u00f5es conflitantes ocasionam os chamados aborts. Abort \u00e9 o cancelamento de uma transa\u00e7\u00e3o conflitante que no futuro ser\u00e1 re-executada. Como solu\u00e7\u00e3o ao problema de conten\u00e7\u00e3o, a biblioteca de TM TinySTM trata opera\u00e7\u00f5es conflitantes mas n\u00e3o evita que o abort ocorra. Isto degrada o desempenho de execu\u00e7\u00e3o de programas, utilizando o processamento de forma desnecess\u00e1ria. Estas caracter\u00edsticas s\u00e3o aplic\u00e1veis para as arquiteturas UMA e NUMA. As arquiteturas UMA (Uniform Memory Access) utilizam um \u00fanico barramento de acesso \u00e0 mem\u00f3ria. Com isto sua principal caracter\u00edstica est\u00e1 no tempo de acesso uniforme \u00e0 mem\u00f3ria, isto \u00e9, o custo \u00e9 o mesmo para qualquer n\u00facleo acessar quaisquer posi\u00e7\u00e3o de mem\u00f3ria. Ao contr\u00e1rio das arquiteturas UMA, as arquiteturas NUMA (Non-Uniform Memory Access) n\u00e3o possuem tempo de acesso uniforme \u00e0 mem\u00f3ria, ou seja, o custo para um determinado processador acessar uma mem\u00f3ria n\u00e3o \u00e9 o mesmo para acessar outra mem\u00f3ria. Para extrair o melhor desempenho poss\u00edvel das arquiteturas UMA e NUMA \u00e9 necess\u00e1rio que o programador conhe\u00e7a os detalhes da arquitetura em que a aplica\u00e7\u00e3o executar\u00e1, assim, buscando uma maior efici\u00eancia no acessos \u00e0 mem\u00f3ria. O principal objetivo deste trabalho de conclus\u00e3o de curso \u00e9 implementar um escalonador de tarefas para biblioteca de STM TinySTM que em tempo de execu\u00e7\u00e3o identifique as caracter\u00edsticas da arquitetura utilizada. Este utilizar\u00e1 uma heur\u00edstica de escalonamento que busca uma melhor distribui\u00e7\u00e3o da carga de trabalho e evita aborts por meio da serializa\u00e7\u00e3o das transa\u00e7\u00f5es conflitantes. Para isto foi realizado duas implementa\u00e7\u00f5es de testes, uma denominada Scheduler que aplica o escalonamento inicial das tasks em filas fixadas aos n\u00facleos da arquitetura, e outra, que estende a implementa\u00e7\u00e3o Scheduler, denominada Rescheduler onde as tasks abortadas s\u00e3o migradas para fila fixada ao core 0. Os resultados mostram que a arquitetura UMA com 16 e 32 threads e a arquitetura NUMA para 32 threads com teste Scheduler apresentou desempenho significativamente menor que a tinySTM vers\u00e3o 1.0.5, estes resultados ocorrem pois h\u00e1 uma melhor distribui\u00e7\u00e3o de tarefas. O teste Rescheduler obteve nas duas arquiteturas resultados lineares para todos cen\u00e1rios de threads, posto que, este executa a serializa\u00e7\u00e3o total do teste realizado.<\/p>\n<p>Para mais informa\u00e7\u00f5es acesse: <a href=\"https:\/\/wp.ufpel.edu.br\/notcc\/bancas\/historico\/2016_2\/\">https:\/\/wp.ufpel.edu.br\/notcc\/bancas\/historico\/2016_2\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOL\u00d3GICO TRABALHO DE CONCLUS\u00c3O DE CURSO Apresenta\u00e7\u00f5es Finais (2016\/2) Desenvolvimento de um escalonador de tarefas para TinySTM por Michael Alexandre Costa Curso: Ci\u00eancia da Computa\u00e7\u00e3o Banca: Prof. Maur\u00edcio Lima Pilla (orientador) Prof. Andr\u00e9 Rauber Du Bois (co-orientador) MSc. Felipe Leivas Teixeira Prof. Gerson Geraldo Homrich Cavalheiro Data: 09 [&hellip;]<\/p>\n","protected":false},"author":657,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-320","post","type-post","status-publish","format-standard","hentry","category-bancas"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/users\/657"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":1,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/posts\/320\/revisions\/321"}],"wp:attachment":[{"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/notcc\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}