We all know that Cassandra is a distributed database. However there’re situations where one needs to perform an atomic operation and for such cases a consensus must be reached between all the replicas.
Future and Actor are two different paradigms to express concurrent computations. Both of them are perfectly valid abstractions. However one must be careful when it comes to mixing them up. Continue reading “Futures in actor”
Last week we’ve seen how basic Paxos works. Today we’re going to extend it in order to run a distributed state machine – a state machine with the same state on all the nodes.
The idea is to use a distributed log to run the state machine. Each entry in the log is an operation to apply to the state machine. If the log is the same on every node then the same operations are applied in the same order on all the nodes and therefore the state machines are all in the same state.
The question is :
How to make sure the log is the same on all the nodes?
The solution is to run basic-Paxos for every log entry (plus add some tweaks to solve some issues and improve performance) Continue reading “Multi-Paxos”
I have spent years programming in Java and one thing (among others) that I found frustrating is the lack of mathematical libraries (not to say Machine learning framework) on the JVM.
In fact if you’re a little interested in machine learning you’ll notice that all the cool stuffs are written in C++ (for performance reasons) and most often provide a Python wrapper (because who wants to program in C++ anyway). Continue reading “Nd4j – Numpy for the JVM”
The idea from this blog post came after finishing the lab on TF-IDF of the edx Spark specialisation courses.
In this course the labs follow a step-by-step approach where you need to write some lines of code at every step. The lab is very detailed and easy to follow. However I found that focusing on a single step at a time I was missing the big picture of what’s happening overall. Continue reading “TF-IDF”
People regularly complains about the lack of type safety within Akka actors. After 2 rather unsuccessful attempts (using byte-code generation at runtime for the first and java proxies for the second) the third attempt seems much more promising.