[][src]Crate erdos

ERDOS

ERDOS is a platform for developing self-driving cars and robotics applications.

ERDOS is a streaming dataflow system designed for self-driving car pipelines and robotics applications.

Components of the pipelines are implemented as operators which are connected by data streams. The set of operators and streams forms the dataflow graph, the representation of the pipline that ERDOS processes.

Applications define the dataflow graph by connecting operators to streams in the driver section of the program. Operators are typically implemented elsewhere.

ERDOS is designed for low latency. Self-driving car pipelines require end-to-end deadlines on the order of hundreds of milliseconds for safe driving. Similarly, self-driving cars typically process gigabytes per second of data on small clusters. Therefore, ERDOS is optimized to send small amounts of data (gigabytes as opposed to terabytes) as quickly as possible.

ERDOS provides determinisim through watermarks. Low watermarks are a bound on the age of messages received and operators will ignore any messages older than the most recent watermark received. By processing on watermarks, applications can avoid non-determinism from processing messages out of order.

Re-exports

pub use crate::configuration::Configuration;

Modules

communication
configuration
dataflow
node
scheduler

Macros

add_watermark_callback

Adds a watermark callback across several read streams.

connect_0_write

Connects read streams to an operator that writes on 0 streams.

connect_1_write

Connects read streams to an operator that writes on 1 stream.

connect_2_write

Connects read streams to an operator that writes on 2 streams.

connect_3_write

Connects read streams to an operator that writes on 3 streams.

imports

Imports crates needed to run register!

make_callback_builder

Makes a callback builder that can register watermark callbacks across multiple streams.

make_operator_runner

Makes a closure that runs an operator inside of an operator exectuor when invoked.

register

Registers and operator and streams produced by that operator to the dataflow graph and the stream manager.

Structs

Uuid

Wrapper around uuid::Uuid that implements Abomonation for fast serialization.

Functions

generate_id

Produces a deterministic, unique ID.

get_terminal_logger
new_app

Type Definitions

OperatorId