本文档介绍了 Constantine's Threadpool 的设计,它受到了 Weave 和 nim-taskpools 的启发,旨在提供高性能、低开销、节能的多线程运行时环境,并着重考虑了高可靠性、可审计性和可维护性。设计关键包括分布式任务队列、减少内存分配、自适应工作窃取、数据并行中的惰性二分分割以及在等待 future 时的回退机制。
Aptos 团队设计并实现了一个高效的、多线程的、内存并行执行引擎 Block-STM,通过利用预设的交易顺序,将软件事务内存技术与新型协作调度相结合,每秒可执行超过 16 万个Move交易。该方案通过乐观并发控制、多版本数据结构和动态依赖估计等技术,最大程度地提高了并行处理的速度,同时保证了执行结果的确定性,并已在 Aptos 区块链中开源实现。
这篇文章深入探讨了MTCannon的实现,MTCannon是Optimistic Rollup中使用的容错证明虚拟机(FPVM),它模拟了支持多线程的MIPS64架构。