Open arpitbbhayani opened 5 months ago
@arpitbbhayani I am keen to explore this. I have some questions before I can start -
@yashs360 Go for it.
The Gist attached has a working prototype of the same. Again, this will not just be some simple injection of threads, but a change at the fundamental execution and evaluation level.
@arpitbbhayani I went through your snippet and am going through the DragonFly videos now. I want to visualise the architecture / workflow you have in mind, on how the entire execution will be handled, how the Shards or Fibres will be managed etc. We should discuss this, post that we can break the task into modules to work in parallel.
Hello @yashs360,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.
Hello @yashs360,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.
@arpitbbhayani I can take it up if it's up for grabs.
Hello @yashs360,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.
Hello @yashs360,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.
Hello @yashs360,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.
@arpitbbhayani @yashs360 I can pitch in and contribute to this issue. Let's bring it to closure.
DiceDB will be a single process with multiple threads, and it will be designed to run on multi-core servers without any special configurations or optimizations. Let's split the in-memory data store keyspace into
N
shards, whereN
<= the number of CPU logical cores in the system. Each shard is owned and managed by a single DiceDB thread, establishing a shared-nothing architecture.Two types of threads: IOThread and ShardThread. One thread can handle both if required. We will leverage MessageBus architecture (Channel based) for inter-thread communication. A simple Go code that demonstrates -
Here's the gist with flow I had in mind
https://gist.github.com/arpitbbhayani/6b99207464b0d9e07bd1984c5545d17d