[−][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 |