Sunday, December 29, 2013

Hello SCPM

First of all I would like to say that this blog is not dead, and I'm planning to write here more often, and publish some of the things that I wrote some time ago but never found the time to finish it and publish.

Now onwards with the current topic:


All of my previous posts and concurrent interests has led to creation of a concurrent based framework that can manage work and create fibers if needed, where a single unit of work is represented by the notion of immutable computation (that's the end goal). The framework has very little features so far as it's core needs to be perfect in therms of performance and scalability, only then we can start adding some features.

How this is different from TPL ?

Well it's very similar as the core idea is the same, but SCPM (yea that's the name of the framework) will be more flexible in therms of what it can do and how. For example right now we can schedule computations on fibers (currently I don't like how its done) but the general idea is that the system using various metrics that we have right now will decide how to schedule computations.

Performance vise SCPM works a bit faster then TPL when scheduling against a thread pool but performance measurements will be left for a different post.

The project can be found here.

The roadmap is something along those lines:

1. Make sure that everything in the core is bug free, and blazing fast.
2. Implement continuations and add support for Long Running Computations.
3. Computation chains, and auto decision making (Thread, Fiber, Long Running).

No comments: