[Theory] Real-time Cell OS - How should you do it?
Posted: Sat Feb 09, 2013 1:56 pm
Hello everyone,
Lately the working of Cell-processing began to fascinate me.
The main point about what I want to accomplish is quite similar to Sony's PS3 Cell microprocessor - also Server farms come close to my aspiration.
Another important aspect is that it should operate real-time.
Here is an example about what it should do:
However I already made a few startup ideas for this project - I would like to ask you:
What would your blueprints be at an project like this?
Thanks in advance,
Dennis
PS: You are not expected to write code, its nice if you tell how you should do it - maybe drawn from experience within this field.
(Connecting, sharing resources, splitting/executing code, real-time responding, etc.)
Lately the working of Cell-processing began to fascinate me.
The main point about what I want to accomplish is quite similar to Sony's PS3 Cell microprocessor - also Server farms come close to my aspiration.
Another important aspect is that it should operate real-time.
Here is an example about what it should do:
By now you should have a rather good view about what my OS should do.Lets say I have about 10 CPU cores running, which all have their own resources. (RAM/storage/etc.)
However they can communicate with one another through e.g. a network connection.
Actual operation:
I'm sending to one a random CPU of the 10: a list of commands ("code" from now).
This one CPU should split up the code to (equally) distribute the burden over all CPUs.
After and during the execution of the code, I should be updated about the progress.
This all should happen within a certain time limit (soft real-time), so postponing code execution is not an option.
However I already made a few startup ideas for this project - I would like to ask you:
What would your blueprints be at an project like this?
Thanks in advance,
Dennis
PS: You are not expected to write code, its nice if you tell how you should do it - maybe drawn from experience within this field.
(Connecting, sharing resources, splitting/executing code, real-time responding, etc.)