Thinking of a mechanism whereby the kids could donate processor time to their friends (similar to donating memory to temporary storage, and normally linked with it). Use cases here are basically any processor-intensive easily parallellisable task; POVRay rendering, Video encoding, advanced simulations, etceteras.
Design can be fairly simple, a shared temporary storage directory and a mechanism to distribute and execute snippets of scripting code (see the IPython2 cluster system for a straightforward example of a design). You can add lots of optimisations beyond that, but that's just refinements.
The biggest issue is probably that of efficiency, after all, you want any of 15 friends to be able to use the little "shared power" activity, but at any given point only 2 or 3 might need/want it. You can either add significant complexity to the activity and make a single instance work for all your friends or, and this is more exciting, allow for marking a given Journal entry "auto shared with X".
That is, if I share an environment Y, which includes various resources; including a shared temporary storage contribution, a scripting code executor, and maybe a few documents; and then mark the environment auto-sharing with Y then while I'm asleep or away from my laptop (or potentially even when I'm working on it actively), it will allow Y to connect and initiate the activity automatically.
The Journal would record the activity (as normal) with a suitable flag noting the auto-initiated nature. Y could transfer data to the temporary storage, specify jobs to run, and generally use the resources of the laptop granted to the auto-shared activity. If there were multiple friends wanting to use your computer, they could all auto-initiate their own session. Might be nice to have a protocol available that can tell a connecting client whether the server is overloaded in there somewhere.
Anyway, just a thought. I think it would be so cool to allow the kids to run POVRay or a Video encoding/broadcast process (or whatever) at dozens of times the speed of a regular desktop just by spreading the load across an entire class or even a whole school (for those special projects).
Pingbacks are closed.