Skip to content

Commit

Permalink
Rename to noir!
Browse files Browse the repository at this point in the history
  • Loading branch information
imDema committed Mar 18, 2024
1 parent 05e0085 commit 7b090d2
Show file tree
Hide file tree
Showing 81 changed files with 380 additions and 380 deletions.
130 changes: 65 additions & 65 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "noir-compute"
name = "renoir"
description = "Network of Operators In Rust"
version = "0.2.0"
edition = "2021"
Expand All @@ -9,8 +9,8 @@ authors = [
"Marco Donadoni <[email protected]>"
]
license = "LGPL-3.0-or-later"
repository = "https://github.com/deib-polimi/noir"
homepage = "https://github.com/deib-polimi/noir"
repository = "https://github.com/deib-polimi/renoir"
homepage = "https://github.com/deib-polimi/renoir"
readme = "README.md"

[features]
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# Noir
# Renoir

[Preprint](https://arxiv.org/abs/2306.04421)

### Network of Operators In Rust
### REactive Network of Operators In Rust

[API Docs](https://deib-polimi.github.io/noir/noir_compute/)
[API Docs](https://deib-polimi.github.io/renoir/renoir/)

Noir is a distributed data processing platform based on the dataflow paradigm that provides an ergonomic programming interface, similar to that of Apache Flink, but has much better performance characteristics.
Renoir *(short: Noir) [/ʁənwaʁ/, /nwaʁ/]* is a distributed data processing platform based on the dataflow paradigm that provides an ergonomic programming interface, similar to that of Apache Flink, but has much better performance characteristics.


Noir converts each job into a dataflow graph of
Renoir converts each job into a dataflow graph of
operators and groups them in blocks. Blocks contain a sequence of operors which process the data sequentially without repartitioning it. They are the deployment unit used by the system and can be distributed and executed on multiple systems.

The common layout of a Noir program starts with the creation of a `StreamContext`, then one or more `Source`s are initialised creating a `Stream`. The graph of operators is composed using the methods of the `Stream` object, which follow a similar approach to Rust's `Iterator` trait allowing ergonomically define a processing workflow through method chaining.
The common layout of a Renoir program starts with the creation of a `StreamContext`, then one or more `Source`s are initialised creating a `Stream`. The graph of operators is composed using the methods of the `Stream` object, which follow a similar approach to Rust's `Iterator` trait allowing ergonomically define a processing workflow through method chaining.

### Examples

#### Wordcount

```rs
use noir_compute::prelude::*;
use renoir::prelude::*;

fn main() {
// Convenience method to parse deployment config from CLI arguments
Expand Down Expand Up @@ -58,7 +58,7 @@ fn tokenize(s: &str) -> Vec<String> {


```rs
use noir_compute::prelude::*;
use renoir::prelude::*;

fn main() {
// Convenience method to parse deployment config from CLI arguments
Expand Down Expand Up @@ -106,7 +106,7 @@ num_cores = 16
address = "host2.lan"
base_port = 9500
num_cores = 24
ssh = { username = "noir", key_file = "/home/noir/.ssh/id_ed25519" }
ssh = { username = "renoir", key_file = "/home/renoir/.ssh/id_ed25519" }
```

Refer to the [examples](examples/) directory for an extended set of working examples
8 changes: 4 additions & 4 deletions benches/batch_mode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughpu
use rand::prelude::StdRng;
use rand::{Rng, SeedableRng};

use noir_compute::operator::source::IteratorSource;
use noir_compute::BatchMode;
use noir_compute::RuntimeConfig;
use noir_compute::StreamContext;
use renoir::operator::source::IteratorSource;
use renoir::BatchMode;
use renoir::RuntimeConfig;
use renoir::StreamContext;

fn batch_mode(batch_mode: BatchMode, dataset: &'static [u32]) {
let config = RuntimeConfig::local(4).unwrap();
Expand Down
4 changes: 2 additions & 2 deletions benches/collatz.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use criterion::BenchmarkId;
use criterion::{criterion_group, criterion_main, Criterion, Throughput};
use noir_compute::BatchMode;
use noir_compute::StreamContext;
use renoir::BatchMode;
use renoir::StreamContext;

mod common;
use common::*;
Expand Down
12 changes: 6 additions & 6 deletions benches/common.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#![allow(unused)]

use criterion::{black_box, Bencher};
use noir_compute::config::{ConfigBuilder, HostConfig, RemoteConfig, RuntimeConfig};
use renoir::config::{ConfigBuilder, HostConfig, RemoteConfig, RuntimeConfig};
use std::marker::PhantomData;
use std::sync::atomic::{AtomicU16, Ordering};
use std::sync::Arc;
use std::time::{Duration, Instant};

use noir_compute::*;
use renoir::*;

pub const SAMPLES: usize = 50;

Expand Down Expand Up @@ -61,7 +61,7 @@ pub fn remote_loopback_deploy(
}
}

pub struct NoirBenchBuilder<F, G, R>
pub struct BenchBuilder<F, G, R>
where
F: Fn() -> StreamContext,
G: Fn(&StreamContext) -> R,
Expand All @@ -71,7 +71,7 @@ where
_result: PhantomData<R>,
}

impl<F, G, R> NoirBenchBuilder<F, G, R>
impl<F, G, R> BenchBuilder<F, G, R>
where
F: Fn() -> StreamContext,
G: Fn(&StreamContext) -> R,
Expand All @@ -98,7 +98,7 @@ where
}
}

pub fn noir_bench_default(b: &mut Bencher, logic: impl Fn(&StreamContext)) {
let builder = NoirBenchBuilder::new(StreamContext::new_local, logic);
pub fn renoir_bench_default(b: &mut Bencher, logic: impl Fn(&StreamContext)) {
let builder = BenchBuilder::new(StreamContext::new_local, logic);
b.iter_custom(|n| builder.bench(n));
}
6 changes: 3 additions & 3 deletions benches/connected.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
use criterion::BenchmarkId;
use criterion::{criterion_group, criterion_main, Criterion, Throughput};
use fxhash::FxHashMap;
use noir_compute::operator::Operator;
use noir_compute::Stream;
use noir_compute::StreamContext;
use renoir::operator::Operator;
use renoir::Stream;
use renoir::StreamContext;
use rand::prelude::*;
use rand::rngs::SmallRng;
use serde::{Deserialize, Serialize};
Expand Down
8 changes: 4 additions & 4 deletions benches/fold_vs_reduce.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughpu
use rand::prelude::StdRng;
use rand::{Rng, SeedableRng};

use noir_compute::operator::source::IteratorSource;
use noir_compute::BatchMode;
use noir_compute::RuntimeConfig;
use noir_compute::StreamContext;
use renoir::operator::source::IteratorSource;
use renoir::BatchMode;
use renoir::RuntimeConfig;
use renoir::StreamContext;

fn fold(dataset: &'static [u32]) {
let config = RuntimeConfig::default();
Expand Down
Loading

0 comments on commit 7b090d2

Please sign in to comment.