dayli.ly

Nylon (course project)

“like rayon but crappier”

nylon was my course project for CMU 15-418, Parallel Computer Architecture and Programming (Fall 2025). It is a simple implementation of a single-node, in-memory, parallel dataflow programming library in Rust, not dissimilar to rayon. It was born out of a combination of three not very well-advised ideas:

  • I thought Rust was a cool language;
  • I thought dataflow programming / declarative data-parallel programming was a cool paradigm;
  • Both of those seemed to have something to do with parallel computing.

nylon has three layers: a work-stealing scheduler, a suite of generic data-parallel algorithms, and a miniature dataflow execution engine. It uses a standard iterator-like API and is capable of producing some speedups over sequential counterparts. The most significant difference between nylon and rayon is perhaps nylon’s ability to perform reduce/group-by-key, and joins.

This webpage is here because course policy mandated that each project has a publicly accessible webpage. In all likelihood, you want to read the final report, which is the only piece of text that has pedagogical value. It discusses the basic structure of a dataflow system and some considerations around related design choices.

Index

Metadata
  • Id
    nylon
  • (Language)
    en-US
  • Title
    Nylon (course project)
  • Created
  • Updated
  • Attributes
  • Banner
  • Description