我们使用以下6个分类标准对本文的研究选题进行分析:
1. 数据移动:
此标准关注锁操作期间关键数据的位置。
- 基于锁: 此方法将共享数据移动到持有锁的内核。 此方法确保数据一致性,但由于数据在内核之间传输,特别是在具有许多内核的高性能系统中,可能会导致性能开销。
- 数据本地: 此方法将共享数据保持在某个内核上,并将关键部分代码(操作数据的代码)运送到该内核。 这减少了数据传输,但可能需要修改应用程序以识别和打包关键部分,对于具有大型代码库的复杂应用程序来说,这可能具有挑战性。
2. 应用程序修改:
此标准解决了使用同步机制所需的应用程序更改。
- 透明: 这些机制与现有应用程序无缝隙地工作,无需代码修改。 这使得它们更容易使用,但与非透明方法相比,它们可能会限制其灵活性和性能。
- 非透明: 这些机制需要对应用程序代码进行更改,通常涉及识别和打包关键部分。 对于具有大型代码库的复杂应用程序,这可以提供更好的性能或定制,但可能很困难。
3. 可扩展性:
此标准评估同步机制随着内核数量的增加而执行的性能。
-
<