Minds-on

Software Transactional Memory para sistemas de tempo-real

Tendo atingido os limites físicos de evolução de processadores com um núcleo de processamento, os fabricantes foram obrigados a mudar de paradigma para processadores com vários núcleos de processamento (multicore). Desde então, a tendência tem sido aumentar o número de núcleos por circuito integrado, sendo que actualmente existem circuitos integrados com dezenas e centenas de núcleos de processamento.

Paradoxalmente, apesar da capacidade de computação aumentar, essa capacidade pode não ser aproveitada por aplicações concorrentes que partilham recursos comuns como dispositivos I/O e, sobretudo, dados em memória. A necessidade de manter os dados partilhados num estado coerente revela-se um desafio enorme para tecnologias "clássicas" como os mecanismos de coerência de cache e o controlo do acesso à memória principal, o que pode produzir atrasos significativos e imprevisíveis na execução dos programas.

Em aplicações concorrentes, os mecanismos de sincronização baseados em locks trazem ainda mais desafios: mecanismos simples potenciam o desperdício de capacidade de processamento disponível, mecanismos complexos potenciam erros imprevisíveis de composição de componentes em aplicações concorrentes.

Uma alternativa desejável é utilizar mecanismos de sincronização que permitam aos programadores escrever código sequencial sem preocupação com as interações com código concorrente, ocultando a complexidade de mecanismos optimizados para estas arquitecturas.

A Software Transactional Memory (STM) é um modelo de sincronização em que as secções criticas de código (chamadas "transacções") executam de forma optimista. Caso a execução de uma secção crítica não for válida, essa secção será repetida.

Apesar de trazer vantagens óbvias para o desenvolvimento de aplicações concorrentes, a possibilidade de ter que se repetir a execução de secções de código tem um impacto negativo nas garantias de requisitos temporais.

No trabalho realizado foram exploradas técnicas de gestão de conflitos entre transações concorrentes, assegurando as propriedades temporais de execução das tarefas de tempo-real. Adicionalmente, com as técnicas escolhidas, foram estabelecidos métodos para determinar se os requisitos temporais são assegurados.

As experiências realizadas demostraram que a STM apresenta melhor desempenho do que as técnicas simples baseadas em locks, enquanto diminui significativamente os problemas de composição de aplicações concorrentes.

No entanto, as técnicas de análise dos tempos máximos de resposta são muito pessimistas.


  •  Oradores
  •   Data e local
  •   Inscrições
  •  Informação Adicional

António Barros

Data: 2020-03-02

Horário: 16:00

Local: B203

As inscrições serão aceites por ordem de inscrição.

É necessário pré-inscrição a ser efectuada através de correio electrónico para a D. Lurdes Santos (MLSB@isep.ipp.pt)

Para mais informações: mindson@dei.isep.ipp.pt

Os workshops são gratuitos mas requerem inscrição, sendo o número de vagas limitado.