Grupo de pesquisa

Computação Simultânea

A programação simultânea ganhou popularidade nas últimas décadas. Cada linguagem e plataforma fornece primitivas correspondentes, que se tornam cada vez mais difíceis de usar de forma eficiente com a crescente complexidade do sistema, como ter vários nós NUMA, bem como com relaxamentos de modelos de memória. Na prática, várias questões importantes surgem com isso. Como construir algoritmos concorrentes eficientes hoje em dia? Qual é a melhor compensação entre garantias de progresso, eficiência e justiça? Como verificar se todos esses algoritmos estão corretos? Como compará-los? Embora algumas das perguntas sejam parcialmente respondidas no mundo acadêmico, muitos dos problemas práticos ainda estão em aberto. Nosso foco principal é responder a essas perguntas, fornecendo soluções praticamente razoáveis e teoricamente valiosas, bem como ferramentas de alta qualidade que podem ajudar outros pesquisadores e desenvolvedores no campo da simultaneidade.

Nossos tópicos de interesse incluem:

  • Algoritmos e estruturas de dados simultâneos
  • Memória não volátil (NVM)
  • Teste e verificação
  • Análise de desempenho, depuração e otimização
  • Linguagens e modelos de programação paralela
  • Recuperação de memória

Veja a lista completa de publicações aqui.

Principais projetos:

A programação simultânea tradicional envolve a manipulação de um estado mutável compartilhado. Uma alternativa a esse estilo de programação é o modelo de processos sequenciais de comunicação (CSP), que compartilha dados por meio de comunicação explícita. A Kotlin Coroutines é uma biblioteca que traz esse modelo para a linguagem Kotlin, em que os processos são representados por meio de coroutines (threads leves).

Membros do Grupo

Nikita Koval
Nikita Koval
Chefe de Laboratório/Grupo de Pesquisa
Alexander Fedorov
Alexander Fedorov
Pesquisador
Dmitry Khalanskiy
Dmitry Khalanskiy
Pesquisador
Maria Sokolova
Maria Sokolova
Pesquisador
Maksim Zuev
Maksim Zuev
Estudante