All Projects β†’ ray-project β†’ mobius

ray-project / mobius

Licence: Apache-2.0 License
Mobius is an AI infra platform including realtime computing and training.

Programming Languages

java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
cython
566 projects
Starlark
911 projects
c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mobius

Pushpin
Proxy server for adding push to your API
Stars: ✭ 3,050 (+13763.64%)
Mutual labels:  streaming, realtime
Redpanda
Redpanda is the real-time engine for modern apps. Kafka API Compatible; 10x faster πŸš€ See more at vectorized.io/redpanda
Stars: ✭ 3,114 (+14054.55%)
Mutual labels:  streaming, realtime
Js Spark
Realtime calculation distributed system. AKA distributed lodash
Stars: ✭ 187 (+750%)
Mutual labels:  realtime, distributed-computing
live-cryptocurrency-streaming-flutter
A Flutter app with live cryptocurrency updates, powered by Ably
Stars: ✭ 26 (+18.18%)
Mutual labels:  streaming, realtime
neutronics-workshop
A workshop covering a range of fusion relevant analysis and simulations with OpenMC, DAGMC, Paramak and other open source fusion neutronics tools
Stars: ✭ 29 (+31.82%)
Mutual labels:  training, fusion
Chartjs Plugin Streaming
Chart.js plugin for live streaming data
Stars: ✭ 310 (+1309.09%)
Mutual labels:  streaming, realtime
vue-input-streaming
A Vue2 Input Streaming RealTime And Two Way Data Binding Broadcasting with Pusher
Stars: ✭ 24 (+9.09%)
Mutual labels:  streaming, realtime
Flink Training Course
Flink δΈ­ζ–‡θ§†ι’‘θ―Ύη¨‹οΌˆζŒη»­ζ›΄ζ–°...οΌ‰
Stars: ✭ 3,963 (+17913.64%)
Mutual labels:  training, streaming
ripple
Simple shared surface streaming application
Stars: ✭ 17 (-22.73%)
Mutual labels:  realtime, distributed-computing
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (+13.64%)
Mutual labels:  streaming, realtime
FileStreamBot
Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly
Stars: ✭ 99 (+350%)
Mutual labels:  streaming
QTM-Connect-For-Unreal
Unreal plugin for real-time streaming from Qualisys Track Manager
Stars: ✭ 18 (-18.18%)
Mutual labels:  streaming
Tianocore Training Contents
Table of Contents and suggested course Schedule for UEFI / Edk II training
Stars: ✭ 43 (+95.45%)
Mutual labels:  training
Self-Driving-Car
Lane Detection for Self Driving Car
Stars: ✭ 14 (-36.36%)
Mutual labels:  streaming
coldbox-zero-to-hero
ColdBox 120: From Zero to Hero Training
Stars: ✭ 16 (-27.27%)
Mutual labels:  training
firehose
Firehose is an extensible, no-code, and cloud-native service to load real-time streaming data from Kafka to data stores, data lakes, and analytical storage systems.
Stars: ✭ 213 (+868.18%)
Mutual labels:  streaming
csync-server
No description or website provided.
Stars: ✭ 14 (-36.36%)
Mutual labels:  realtime
OBS-ChatSpam
Python script for OBS Studio that posts messages in Twitch chat
Stars: ✭ 26 (+18.18%)
Mutual labels:  streaming
TG-FileStreamBot
Stream Telegram files to web
Stars: ✭ 193 (+777.27%)
Mutual labels:  streaming
space-cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,405 (+15377.27%)
Mutual labels:  realtime
mobius

Mobius : Online Machine Learning.

Mobius is an AI infra platform including realtime computing and training.

Ray Streaming

Ray Streaming is a data processing framework built on ray.

Key Features

  1. Cross Language. Based on Ray's multi-language actor, Ray Streaming can also run in multiple languages(only Python and Java is supported currently) with high efficiency. You can implement your operator in different languages and run them in one job.
  2. Single Node Failover. We designed a special failover mechanism that only needs to rollback the failed node it's own, in most cases, to recover the job. This will be a huge benefit if your job is sensitive about failure recovery time. In other frameworks like Flink, instead, the entire job should be restarted once a node has failure.
  3. AutoScaling. (Moved from internal in the future). Generate a new graph with different configurations in runtime without stopping job.
  4. Fusion Training. (Moved from internal in the future). Combine TensorFlow/Pytorch and streaming, then building an e2e online machine learning pipeline.

Examples

Python

import ray
from ray.streaming import StreamingContext

ctx = StreamingContext.Builder() \
    .build()
ctx.read_text_file(__file__) \
    .set_parallelism(1) \
    .flat_map(lambda x: x.split()) \
    .map(lambda x: (x, 1)) \
    .key_by(lambda x: x[0]) \
    .reduce(lambda old_value, new_value:
            (old_value[0], old_value[1] + new_value[1])) \
    .filter(lambda x: "ray" not in x) \
    .sink(lambda x: print("result", x))
ctx.submit("word_count")

Java

StreamingContext context = StreamingContext.buildContext();
List<String> text = Collections.singletonList("hello world");
DataStreamSource.fromCollection(context, text)
    .flatMap((FlatMapFunction<String, WordAndCount>) (value, collector) -> {
        String[] records = value.split(" ");
        for (String record : records) {
            collector.collect(new WordAndCount(record, 1));
        }
    })
    .filter(pair -> !pair.word.contains("world"))
    .keyBy(pair -> pair.word)
    .reduce((oldValue, newValue) ->
            new WordAndCount(oldValue.word, oldValue.count + newValue.count))
    .sink(result -> System.out.println("sink result=" + result));
context.execute("testWordCount");

Use Java Operators in Python

import ray
from ray.streaming import StreamingContext

ctx = StreamingContext.Builder().build()
ctx.from_values("a", "b", "c") \
    .as_java_stream() \
    .map("io.ray.streaming.runtime.demo.HybridStreamTest$Mapper1") \
    .filter("io.ray.streaming.runtime.demo.HybridStreamTest$Filter1") \
    .as_python_stream() \
    .sink(lambda x: print("result", x))
ctx.submit("HybridStreamTest")

Use Python Operators in Java

StreamingContext context = StreamingContext.buildContext();
DataStreamSource<String> streamSource =
    DataStreamSource.fromCollection(context, Arrays.asList("a", "b", "c"));
streamSource
    .map(x -> x + x)
    .asPythonStream()
    .map("ray.streaming.tests.test_hybrid_stream", "map_func1")
    .filter("ray.streaming.tests.test_hybrid_stream", "filter_func1")
    .asJavaStream()
    .sink(value -> System.out.println("HybridStream sink=" + value));
context.execute("HybridStreamTestJob");

Training

To be published

Getting Involved

  • Forum: For discussions about development, questions about usage, and feature requests.
  • GitHub Issues: For reporting bugs.
  • Slack: Join our Slack channel.
  • StackOverflow: For questions about how to use Ray-Mobius.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].