• 参考文献
    • 类型系统
    • 并发
    • 其它
    • 关于 Rust 的论文

    参考文献

    bibliography.md


    commit 090fcb88b1c7353e480ce3aff0028832e9bb696b

    这是一个与 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)

    关于 Rust 的论文

    • Rust中的GPU编程(GPU programming in Rust)
    • 并行闭包:一个基于老观点的新做法(Parallel closures: a new twist on an old idea) - 并不完全关于Rust,不过是Nicholas D. Matsakis写的
    • Patina: A Formalization of the Rust Programming Language。一类型系统子集的早期形式,Eric Reed著。
    • Experience Report: Developing the Servo Web Browser Engine using Rust。Lars Bergstrom著。
    • Implementing a Generic Radix Trie in Rust。Michael Sproul的毕业论文。
    • Reenix: Implementing a Unix-Like Operating System in Rust。Alex Light的毕业论文。
    • Evaluation of performance and productivity metrics of potential programming languages in the HPC environment。Florian Wilkens的学士学位论文。比较C,Go和Rust。
    • Nom, a byte oriented, streaming, zero copy, parser combinators library in Rust。Geoffroy Couprie著,关于VLC的研究。
    • Graph-Based Higher-Order Intermediate Representation。一个用Impala(一个类似Rust的语言)实现的实验性的IR。
    • Code Refinement of Stencil Codes。另一个使用Impala的论文。
    • Parallelization in Rust with fork-join and
      friends. Linus
      Farnstrand’s master’s thesis.
    • Session Types for
      Rust. Philip
      Munksgaard’s master’s thesis. Research for Servo.
    • Ownership is Theft: Experiences Building an Embedded OS in Rust - Amit Levy, et. al.
    • You can’t spell trust without Rust. Alexis Beingessner’s master’s thesis.