Durante o último HotChips, um simpósio sobre procesadores e circuitos integrados realizado anualmente em Standford, a IBM apresentou detalhes do supercomputador Sequoia, que será o primeiro computador comercial com memória transacional. A inovação pode simplificar muito o desenvolvimento de aplicações com alto grau de paralelismo.
A Memória transacional simplifica a programação paralela demarcando blocos atômicos de execução, de maneira semelhante a transações de bancos de dados. Assim evita complicações decorrentes do uso de travas (locks). Diversas bibliotecas, frameworks e linguagens de programação implementam a memória transacional em software, mas em hardware o suporte a essa técnica é limitado.
A implementação em hardware (Hardware Transactional Memory) é extremamente complexa, e seu uso por aplicações ainda é incerto. Em artigo no blog Ars Technica descrevendo a arquitetura do supercomputador, Peter Bright conclui:
Se esta implementação em hardware for bem sucedida, poderá ser a primeira de muitas. Mas se não funcionar - se não obtiver o desempenho e a confiabilidade esperados da memória transacional - isso pode significar o fim de uma solução antes promissora para o desafio da programação multicore.
A memória transacional não é a única inovação do novo supercomputador, que terá em torno de cem mil processadores, cada um com 18 núcleos. Dezesseis destes núcleos serão dedicados ao processamento em si, e um ao sistema operaciona. O último (a maior inovação) será usado para tolerância a falhas, podendo substituir de forma transparente qualquer outro núcleo. Este chip sobressalente pode parecer um desperdício, mas considerando que se espera em média uma falha a cada três semanas (dado o imenso número de processadores), trata-se uma decisão de projeto importante.
O supercomputador está sendo construído para a Administração Nacional de Segurança Nuclear dos EUA e será usado para simulações. Quando acabado, o desempenho do supercomputador deve superar o de todos os supercomputadores da lista TOP500 (com os quinhentos computadores mais rápidos do mundo), atingindo a marca de 20 petaflops.
Para conhecer mais sobre a memória transacional, este artigo da ACM traz um resumo relativamente atual. Nele, são levantadas algumas dificuldades enfrentadas com a técnica em software, especialmente o fato de que a memória transacional só gera ganhos significativos com altos níveis de paralelismo. O novo computador da IBM e a implementação em hardware permitirão explorar a técnica nos cenários em que é mais efetiva: sistemas que exigem a execução maciçamente paralela de instruções, com alto desempenho.