研究小组

并发计算

在过去的几十年里,并发编程得到了普及。 每个语言和平台都提供了相应的基元,随着系统复杂度的增加,比如拥有多个NUMA节点,以及内存模型的放宽,这些基元越来越难以高效使用。 由此在实践中产生了几个重要的问题。 现在如何构建高效的并发算法? 进度保证、效率和公平性之间的最佳权衡是什么? 如何检查所有这些算法的正确性? 如何对它们进行基准测试? 虽然有些问题在学术界已经有了部分答案,但很多实际问题仍未解决。 我们的主要关注点是通过提供实际合理的、有理论价值的解决方案以及高质量的工具来回答这些问题,以帮助并发领域的其他研究人员和开发人员。

我们感兴趣的话题包括:

  • 并发算法和数据结构
  • 非易失性存储器(NVM)
  • 测试和验证
  • 性能分析、调试和优化
  • 平行编程语言和模型
  • 记忆恢复

在此处查看完整的出版物列表。

主要项目:

传统的并发编程涉及到对共享的可变状态进行操作。 这种编程风格的另一种选择是通信顺序进程(CSP)模型,它通过显式通信共享数据。 Kotlin 协同程序是一个将这种模型引入 Kotlin 语言的库,在 Kotlin 语言中,进程通过协同程序来表示(它们是轻量级线程)。

小组成员

Nikita Koval
Nikita Koval
研究实验室/小组负责人
Alexander Fedorov
Alexander Fedorov
研究员
Dmitry Khalanskiy
Dmitry Khalanskiy
研究员
Maria Sokolova
Maria Sokolova
研究员
Maksim Zuev
Maksim Zuev
学生