bibliography.md
commit b986698bc41f487ed791a7c7d9f6c6a78d6d86a3
这是一个与 Rust 相关的材料的阅读列表。这包含了曾经影响过 Rust 先验研究,以及关于 Rust 的出版物。
(注:以下翻译属个人理解,勿作为参考)
类型系统
- Cyclone语言中基于区域的内存管理(Region based memory management in Cyclone)
- Cyclone语言中的手动安全内存管理(Safe manual memory management in Cyclone)
- 类型类:使临时多态不再临时(Typeclasses: making ad-hoc polymorphism less ad hoc)
- 宏综述(Macros that work together)
- 特性:组合类型的行为(Traits: composable units of behavior)
- 消除别名(Alias burying) - 我们尝试了一些相似的内容并放弃了它
- 外部唯一性是足够的(External uniqueness is unique enough)
- 用于安全并行的唯一性和引用不可变性(Uniqueness and Reference Immutability for Safe Parallelism)
- 基于区域的内存管理(Region Based Memory Management)
并发
- Singularity:软件栈的重新思考(Singularity: rethinking the software stack)
- Singularity操作系统中支持快速和可靠的消息传递的语言(Language support for fast and reliable message passing in singularity OS)
- 通过work stealing来安排多线程计算(Scheduling multithreaded computations by work stealing)
- 多道程序多处理器的线程调度(Thread scheduling for multiprogramming multiprocessors)
- work stealing中的数据局部性(The data locality of work stealing)
- 动态环形work stealing双端队列(Dynamic circular work stealing deque) - Chase/Lev双端队列
- 异步-完成并行的work优先和help优先的调度策略(Work-first and help-first scheduling policies for async-finish task parallelism) - 比严格的work stealing更宽泛
- 一个Java的fork/join灾难(A Java fork/join calamity) - 对Java fork/join库的批判,特别是其在非严格计算时的work stealing实现
- 并发系统的调度技巧(Scheduling techniques for concurrent systems)
- 竞争启发调度(Contention aware scheduling)
- 时间共享多核系统的平衡work stealing(Balanced work stealing for time-sharing multicores)
- 三层蛋糕?(Three layer cake)
- 非阻塞半work stealing队列(Non-blocking steal-half work queues)
- Reagents:表现和编写细粒度的并发(Reagents: expressing and composing fine-grained concurrency)
- 用于共享内存多处理器的可扩展同步性的算法(Algorithms for scalable synchronization of shared-memory multiprocessors)
- Epoch-based reclamation.
其它
- 只能崩溃的软件(Crash-only software)
- 编写高性能内存分配器(Composing High-Performance Memory Allocators)
- 对手动内存分配的思考(Reconsidering Custom Memory Allocation)