{"id":4335,"date":"2016-12-06T10:13:54","date_gmt":"2016-12-06T12:13:54","guid":{"rendered":"http:\/\/inf.ufpel.edu.br\/site\/?p=4335"},"modified":"2016-12-06T10:13:54","modified_gmt":"2016-12-06T12:13:54","slug":"banca-de-tcc-rodrigo-medeiros-duarte","status":"publish","type":"post","link":"https:\/\/wp.ufpel.edu.br\/computacao\/ccomp\/banca-de-tcc-rodrigo-medeiros-duarte\/","title":{"rendered":"Banca de TCC &#8211;  Rodrigo Medeiros Duarte"},"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\">Implementa\u00e7\u00e3o de Um Escalonador de Transa\u00e7\u00f5es Para STM Haskell<br \/>\npor<br \/>\nRodrigo Medeiros Duarte<\/p>\n<p>Curso:<br \/>\nEngenharia de Computa\u00e7\u00e3o<\/p>\n<p>Banca:<br \/>\nProf. Andr\u00e9 Rauber Du Bois (orientador)<br \/>\nProfa. Renata Hax Sander Reiser (co-orientador)<br \/>\nProf. Maur\u00edcio Lima Pilla (co-orientador)<br \/>\nMsc. Jeronimo da Cunha Ramos<br \/>\nProf. Gerson Geraldo Homrich Cavalheiro<\/p>\n<p>Data: 12 de Dezembro de 2016<\/p>\n<p>Hora: 14:00h<\/p>\n<p>Local: Sala 415 Campus Porto (Anglo)<\/p>\n<p style=\"text-align: justify\"><!--more-->Resumo do Trabalho: Mem\u00f3rias transacionais s\u00e3o um modelo de sincroniza\u00e7\u00e3o entre threads que fornece elevado n\u00edvel de abstra\u00e7\u00e3o para a cria\u00e7\u00e3o de programas concorrentes. Em mem\u00f3rias transacionais, as se\u00e7\u00f5es criticas de um c\u00f3digo s\u00e3o definidas como transa\u00e7\u00f5es, parecidas com as transa\u00e7\u00f5es presentes em bancos de dados. STM Haskell \u00e9 uma biblioteca que fornece a abstra\u00e7\u00e3o de mem\u00f3rias transacionais para a linguagem funcional Haskell. O GHC (Glasgow Haskell Compiler) \u00e9 a implementa\u00e7\u00e3o mais completa e atual do compilador e m\u00e1quina virtual para Haskell. No GHC a biblioteca de STM Haskell \u00e9 implementada usando versionamento de dados tardio e gerenciador de conten\u00e7\u00e3o suicida (que a \u00fanica a\u00e7\u00e3o \u00e9 reiniciar uma transa\u00e7\u00e3o quando esta detecta um conflito). Estudos mostram que gerenciadores de conten\u00e7\u00e3o n\u00e3o s\u00e3o a melhor forma para o tratamento de conflitos entre transa\u00e7\u00f5es. Assim o novo modelo para a redu\u00e7\u00e3o do n\u00famero de conflitos entre transa\u00e7\u00f5es esta sendo o escalonamento. No escalonamento, transa\u00e7\u00f5es conflitantes s\u00e3o migradas atrav\u00e9s de determinadas regras, para evitar que novos conflitos ocorram. Entre estas regras est\u00e3o a migra\u00e7\u00e3o da transa\u00e7\u00e3o conflitante para o mesmo processador na qual esta a transa\u00e7\u00e3o com a qual se detectou o conflito. Outra regra \u00e9 a serializa\u00e7\u00e3o, onde transa\u00e7\u00f5es conflitantes s\u00e3o colocadas na mesma fila de execu\u00e7\u00e3o de um \u00fanico processador, n\u00e3o importando em qual CPU esta a transa\u00e7\u00e3o com quem estas conflitaram. Neste trabalho de conclus\u00e3o de curso foram implementados dois modelos de escalonamento (migra\u00e7\u00e3o e serializa\u00e7\u00e3o). Essas implementa\u00e7\u00f5es foram realizadas usando Haskell e uma modifica\u00e7\u00e3o do GHC que fornece abstra\u00e7\u00f5es para a cria\u00e7\u00e3o de escalonadores a n\u00edvel de usu\u00e1rio, por\u00e9m com os recursos do RTS (Run Time System) do GHC. Apesar dos resultados obtidos n\u00e3o apresentarem ganho de desempenho, ainda sim se mostram promissores para a implementa\u00e7\u00e3o das t\u00e9cnicas de escalonamento, pois conseguiu-se redu\u00e7\u00e3o das taxas de conflitos das transa\u00e7\u00f5es. Por\u00e9m os custos adicionados com o escalonamento acabaram por prejudicar o desempenho geral das implementa\u00e7\u00f5es.<\/p>\n<p>Para mais informa\u00e7\u00f5es acesse: <a href=\"http:\/\/wp.ufpel.edu.br\/notcc\/bancas\/historico\/2016_2\/\">http:\/\/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) Implementa\u00e7\u00e3o de Um Escalonador de Transa\u00e7\u00f5es Para STM Haskell por Rodrigo Medeiros Duarte Curso: Engenharia de Computa\u00e7\u00e3o Banca:&#46;&#46;&#46;<\/p>\n","protected":false},"author":881,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4,19,17],"tags":[],"class_list":["post-4335","post","type-post","status-publish","format-standard","hentry","category-ccomp","category-ecomp","category-noticia"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paGhNl-17V","_links":{"self":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts\/4335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/users\/881"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/comments?post=4335"}],"version-history":[{"count":0,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts\/4335\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/media?parent=4335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/categories?post=4335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/tags?post=4335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}