Comments (10)
As a start, I'll implement a simple word counter with one task as mentioned in ISSUE #4 .
After that, I'll try to separate word generator and aggregator as two or three tasks.
(For this, I should study sharing data among tasks.)
from pluto.
To separate the word generator and aggregator task, I think we'd better implement word generator and aggregator in different REEF jobs and run those jobs in separate machines.
We can use RemoteManager for the network communication. Because RemoteManager provides low-level socket-based API, we can make a connection easily if we have addresses of word generator and aggregator. It handles data using Wake EventHandler, so we can also easily implement receiving data process inside the EventHandler. The main aggregator task thread will sleep all the time, and EventHandler inside it will wake up and handle the data whenever it comes in. Word generator and aggregator should use same codec to be used for serialization / deserialization of the data.
Below is the overall structure of the model.
from pluto.
@DifferentSC @TaeHunKim How about using NCS
instead of RemoteManager
?
@dafrista What do you think?
from pluto.
I think NCS
could be a better option, because each RM in Machine 2 should have different socket numbers and it could be troublesome to send data to all different sockets in Machine 1 manually.
from pluto.
I made an example about how to use NCS
in REEF Jobs. The code might be somewhat dirty, but I think it can be some help to resolving this issue.
https://github.com/DifferentSC/reef-ncs-example
from pluto.
@DifferentSC We don't write dirty code. ;-)
from pluto.
Thanks to @DifferentSC, I success to implement word counter with one generator and one aggregator.
But I still have some questions and discussions about it. We may can talk about them f2f when you have time.
After that, I will refactor this code, make a pull request, and try to improve it with multiple aggregator.
from pluto.
I finished the basic experiment. I'll extend the experiment in other issued
from pluto.
@TaeHunKim Is it ok to close this issue? If yes, please close it.
from pluto.
@taegeonum I forgot to close it. Thank you. I'm going to close it.
from pluto.
Related Issues (20)
- Integrate replaying upon recovery
- Fix IllegalArgumentException on OverloadedTaskThreshold
- Increase the time limit for testNettyTextSink
- Use taskId instead of taskHostName
- Configure driver memory size
- Fix IllegalArgumentException on AppliocationAwareQueryAllocation
- IllegalArgumentException in checkpointing
- IllegalArgumentException: Comparison method violates its general contract in Rebalancing
- Try-catch exceptions in ClientToMaster
- NullPointerException in ApplicationAwareQueryAllocationManager
- Scaling in tasks is triggered only once
- Fix ClassNotFoundException on state deserialization
- Fix uncaught exception on RecoveryStarter
- Recovery process is stuck with no recovered groups
- Prevent auto scaling when recovery is ongoing
- RecoveryScheduler refactoring HOT 1
- Request a new task when failure occurs
- NullPointerException on DefaultConfigDagGeneratorImpl
- ClassCastException when scaling in/out
- Possible memory leak in checkpointing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pluto.