D 2 STM: Mem´oria Transacional em Software Distribu´ıda e Confi´avel ⋆ Maria Couceiro, Paolo Romano, Nuno Carvalho, and Luis Rodrigues INESC-ID/IST maria.couceiro@ist.utl.pt, romanop@gsd.inesc-id.pt, nonius@gsd.inesc-id.pt, ler@ist.utl.pt Resumo Os sistemas de Mem´oria Transacional em Software (MTS) tˆem vindo a ganhar relevo no desenvolvimento de aplica¸c˜oes concorrentes. No entanto, o recurso `a distribui¸c˜ao e `a replica¸c˜ao neste contexto n˜ao se en- contra ainda devidamente explorado. Este artigo apresenta o D 2 STM, um sistema de MTS replicada que rentabiliza os recursos dispon´ıveis nos v´arios n´os de um sistema distribu´ıdo. A coerˆencia da MTS replicada ´e assegurada de modo transparente, mesmo na presen¸ca de faltas no sis- tema. No D 2 STM, as transac¸c˜oes s˜ao processadas de forma aut´onoma por um ´ unico n´o, evitando-se qualquer comunica¸c˜ao entre r´eplicas durante a sua execu¸c˜ao. Um processo distribu´ıdo de certifica¸c˜ao n˜ao-bloqueante, ao qual se deu o nome de BFC (Bloom Filter Certification ), assegura a coerˆencia no momento de confirma¸ c˜ao da transac¸c˜ao. O BFC explora os mecanismos de codifica¸c˜ao dos filtros de Bloom para reduzir substanci- almente o custo inerente `a coordena¸c˜ao das v´arias r´eplicas (`a custa de um aumento da probabilidade de uma transac¸c˜ao ser abortada, com um valor que pode ser ajustado pelo utilizador). Recorrendo a uma bancada experimental mostra-se que o BFC permite atingir ganhos consider´aveis. Abstract. Software Transactional Memory (STM) systems have emerged as a powerful paradigm to develop concurrent applications. This paper addresses the problem of building a distributed and replicated STM sys- tem. We present D 2 STM, a replicated STM, where consistency is ensured in a transparent manner, even in the presence of failures. In D 2 STM transactions are autonomously processed on a single node, avoiding any replica inter-communication during transaction execution. Consistency is enforced at transaction commit time by a non-blocking distributed certi- fication scheme, which we name BFC (Bloom Filter Certification). BFC exploits a novel Bloom Filter-based encoding mechanism that permits to significantly reduce the overhead of replica coordination (at the cost of a user tunable increase in the probability of transaction abort). Exper- imental results based on STM benchmarks show that the BFC scheme permits to achieve remarkable performance gains. ⋆ Este trabalho foi parcialmente suportado pelo projecto Pastramy (PTDC/EIA/72405/2006).