OSDI 2023: Ship your Critical Section Not Your Data Enabling Transparent Delegation with TCLocks

我们使用以下6个分类标准对本文的研究选题进行分析:

1. 数据移动:

此标准关注锁操作期间关键数据的位置。

  • 基于锁: 此方法将共享数据移动到持有锁的内核。 此方法确保数据一致性,但由于数据在内核之间传输,特别是在具有许多内核的高性能系统中,可能会导致性能开销。
  • 数据本地: 此方法将共享数据保持在某个内核上,并将关键部分代码(操作数据的代码)运送到该内核。 这减少了数据传输,但可能需要修改应用程序以识别和打包关键部分,对于具有大型代码库的复杂应用程序来说,这可能具有挑战性。

2. 应用程序修改:

此标准解决了使用同步机制所需的应用程序更改。

  • 透明: 这些机制与现有应用程序无缝隙地工作,无需代码修改。 这使得它们更容易使用,但与非透明方法相比,它们可能会限制其灵活性和性能。
  • 非透明: 这些机制需要对应用程序代码进行更改,通常涉及识别和打包关键部分。 对于具有大型代码库的复杂应用程序,这可以提供更好的性能或定制,但可能很困难。

3. 可扩展性:

此标准评估同步机制随着内核数量的增加而执行的性能。

  • 可扩展: 即使在许多内核上,这些机制也能保持良好的性能。 这对于利用并行处理的高性能应用程序至关重要。
  • 不可扩展: 随着内核数量的增加,这些机制会经历性能下降,通常是由于数据移动或锁争用造成的限制。

4. 同步类型:

你可能感兴趣的:(java,开发语言,分层架构,共识,存储结构,操作系统,数据库)