{"id":110381,"date":"2018-03-11T10:36:19","date_gmt":"2018-03-11T10:36:19","guid":{"rendered":"https:\/\/www.deberes.net\/tesis\/sin-categoria\/programming-debugging-profiling-and-optimizing-transactional-memory-programs\/"},"modified":"2018-03-11T10:36:19","modified_gmt":"2018-03-11T10:36:19","slug":"programming-debugging-profiling-and-optimizing-transactional-memory-programs","status":"publish","type":"post","link":"https:\/\/www.deberes.net\/tesis\/politecnica-de-catalunya\/programming-debugging-profiling-and-optimizing-transactional-memory-programs\/","title":{"rendered":"Programming, debugging, profiling and optimizing transactional memory programs"},"content":{"rendered":"<h2>Tesis doctoral de <strong> Ferad Hasanov Zyulkyarov <\/strong><\/h2>\n<p>La memoria transaccional &#8482; es una nueva t\u00e9cnica de sincronizaci\u00f3n optimistica la cual tiene el potencial de hacer m\u00e1s sencilla la programaci\u00f3n paralela con memoria compartida que la programaci\u00f3n con locks sin renunciar al rendimiento. Esta tesis examina cuatro aspectos en la investigaci\u00f3n de la memoria transaccional. Primero, estudia como programar con tm en comparaci\u00f3n con locks. Durante el transcurso de este trabajo, se desarrolla la primera aplicaci\u00f3n transaccional real &#8211; atomicquake. Atomicquake es una versi\u00f3n transaccional de del servidor del juego quake. Los resultados sugieren que la programaci\u00f3n con tm es de hecho m\u00e1s f\u00e1cil que la programaci\u00f3n con locks. Sin embargo, el rendimiento del software actual de sistemas de tm es inferior a las versiones basadas en locks implementadas de forma eficiente del mismo programa. Por otro lado, el mismo informe de conclusiones muestra que el nivel de las propuestas de las extensiones del lenguaje no es suficiente para desarrollar software con un nivel de producci\u00f3n robusto y que las herramientas existentes de desarrollo como los compiladores, depuradores y perfiles carecen de apoyo para el desarrollo de aplicaciones transaccionales.  segundo, esta tesis introduce nuevos principios y abstracciones para depurar. Estos nuevos principios de depuraci\u00f3n y abstracci\u00f3n permiten depurar errores de sincronizaci\u00f3n los cuales se muestran en niveles de bloques at\u00f3micos gruesos,  c\u00f3digo err\u00f3neo dentro de bloques at\u00f3micos, y tambi\u00e9n errores de rendimiento relacionados con la implementaci\u00f3n de bloques at\u00f3micos. Los nuevos principios de depuraci\u00f3n distinguen entre depurar al nivel de constructores del lenguaje, tales como bloques at\u00f3micos y depuraci\u00f3n de bloques at\u00f3micos bas\u00e1ndose en si est\u00e1n implementados utilizando tm o locks. Estas ideas est\u00e1n demostradas mediante la implementaci\u00f3n de una extensi\u00f3n del depurador windbg y el a\u00f1adido ahead-of-time c# para el compilador x86 bartok-stm.  tercero, esta tesis investiga los diferentes rendimientos en cuellos de botella en aplicaciones tm e introduce nuevas t\u00e9cnicas de perfil para encontrar y entender estos cuellos de botella. Estas nuevas t\u00e9cnicas de perfiles proporcionan informaci\u00f3n comprensiva y en profundidad acerca del trabajo malgastado por causa de transacciones abortadas. Las abstracciones de perfiles individuales pueden ser clasificadas en tres grupos: (i) t\u00e9cnicas para identificar m\u00faltiples conflictos de una \u00fanica ejecuci\u00f3n de un programa, (ii) t\u00e9cnicas para describir las estructuras de datos implicadas en conflictos por el uso de rutas simb\u00f3licas dentro de un heap, en lugar de direcciones m\u00e1quina, y (iii) t\u00e9cnicas de visualizaci\u00f3n para detectar que transacciones ocurren con m\u00e1s frecuencia. Las ideas son demostradas mediante la construcci\u00f3n de perfil de framework ligero para bartok-stm y una herramienta off-line que procesa y muestra informaci\u00f3n de perfil.  cuarto, esta tesis examina e introduce nuevas especificaciones de optimizaci\u00f3n tm que tienen como objetivo la detecci\u00f3n del trabajo malgastado por causa de las transacciones abortadas. Usando los resultados obtenidos mediante las herramientas de perfiles, se analizan y optimizan diferentes aplicaciones del conjunto de herramientas de evaluaci\u00f3n de stamp. Las t\u00e9cnicas de perfil relevan efectivamente los cuellos de botella espec\u00edficos de tm, tales como conflictos falsos y controversia en los accesos a estructuras de datos. Los cuellos de botella detectados se eliminan usando nuevas t\u00e9cnicas de optimizaci\u00f3n. La optimizaciones m\u00e1s resaltantes son los puntos de control de transacciones que reducen en un 40% el trabajo malgastado en intruder, descomponiendo los objetos para eliminar conflictos falsos en bayes, y la versi\u00f3n preliminar de labyrinth que reduce de un 98% a un 1% el trabajo malgastado, usando menos estructuras de datos para contenci\u00f3n como tablas de dispersi\u00f3n encadenadas en intruder o genome, las cuales permiten tener un grado de paralelismo m\u00e1s alto.<\/p>\n<p>&nbsp;<\/p>\n<h3>Datos acad\u00e9micos de la tesis doctoral \u00ab<strong>Programming, debugging, profiling and optimizing transactional memory programs<\/strong>\u00ab<\/h3>\n<ul>\n<li><strong>T\u00edtulo de la tesis:<\/strong>\u00a0 Programming, debugging, profiling and optimizing transactional memory programs <\/li>\n<li><strong>Autor:<\/strong>\u00a0 Ferad Hasanov Zyulkyarov <\/li>\n<li><strong>Universidad:<\/strong>\u00a0 Polit\u00e9cnica de catalunya<\/li>\n<li><strong>Fecha de lectura de la tesis:<\/strong>\u00a0 19\/07\/2011<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Direcci\u00f3n y tribunal<\/h3>\n<ul>\n<li><strong>Director de la tesis<\/strong>\n<ul>\n<li>Mateo Valero Cort\u00e9s<\/li>\n<\/ul>\n<\/li>\n<li><strong>Tribunal<\/strong>\n<ul>\n<li>Presidente del tribunal: xavier Martorell bofill <\/li>\n<li>mikel Lujan (vocal)<\/li>\n<li>pascal Felber (vocal)<\/li>\n<li>tim Harris (vocal)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tesis doctoral de Ferad Hasanov Zyulkyarov La memoria transaccional &#8482; es una nueva t\u00e9cnica de sincronizaci\u00f3n optimistica la cual tiene [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[15596],"tags":[220382,13321,220383,220384,220385,105598],"class_list":["post-110381","post","type-post","status-publish","format-standard","hentry","category-politecnica-de-catalunya","tag-ferad-hasanov-zyulkyarov","tag-mateo-valero-cortes","tag-mikel-lujan","tag-pascal-felber","tag-tim-harris","tag-xavier-martorell-bofill"],"_links":{"self":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/110381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/comments?post=110381"}],"version-history":[{"count":0,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/110381\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/media?parent=110381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/categories?post=110381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/tags?post=110381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}