The Big Cluster(****) – The Shape of Things to Come…

The Big Cluster(****) - The Shape of Things to Come...

Who is your computer really working for?

You?

How can you be sure? I just hijacked it and you didn’t even notice!

In fact, I just raytraced one frame of a 720p animation on your system and uploaded it to my server…

I am sorry for the long silence and apologize in advance for this being another non-tutorial post – but there is something I need to get out of my system (so I can later smugly say “told you so”).

Oh yes – and I also just told you that I hijacked your hardware to do my bidding – quite a big claim.
Did I just use some black-magic exploits to execute malicious code on your machine?

Well… not really.

This all depends on your definition of “malicious” – if you think that any code that does something on your computer that you didn’t ask for (for example: solve MY computational problems instead of yours) – then yes!
I just did that.

If you have an average machine and a webkit browser, you unwillingly participated in this little experiment and most likely didn’t notice.

(click here to view the rendered image / gallery)

But I didn’t do anything hacky or illegal – it was just… (arguably) immoral?

Also there wasn’t any magic involved – a simple JavaScript raytracer took some time of your CPU(s) to render the image, draw it into an invisible canvas element and then upload it’s content as a base64 encoded stream.
(unless you are using a mobile device or the internet explorer – I didn’t take the time to find a workaround for it’s sandbox – which would have been possible).

So this cost you some CPU time, RAM and bandwidth too – all things you ultimately pay for with your electricity and provider bills.

Of course this is just something I whipped up in some minutes to drive home my point – but I think the implications are obvious…

This has been in the back of my mind since the late 90’s when JavaScript and Flash were emerging and I am amazed this hasn’t been addressed in the whole Apple vs. Flash debate.

There was a lot of talk about poorly written Flash code draining mobile device batteries and I never really understood that argument because surely there is an equal amount of bad JavaScript code out there – that was just missing the point..

There should have been a huge discussion about web-code doing stuff it’s not supposed to do on your computer – wasting it’s resources.

And sadly the most interesting issue was never addressed – how to avoid that? What if people start doing that deliberately?

Now we are not talking of ‘wasting’ but ‘redirecting’.

I know, this whole post smells a bit of sensationalism – because it is! But we are now at a point were soft-,hardware and the infrastructure allow to start working with this concept.

If you follow the above link and do some research, you’ll find that people already do.

And don’t get me wrong – I can also see the potential! Just how awesome would it be if Google were to embed a bit of code on their start page that contributes to some important bioinformatic research?

Still – it would be nice if they asked if I want to participate before running it and if it would be… actually efficient. Because there still is a lot of overhead involved – which of course won’t concern some people anyway.

Back in the days I always knew what my 8086 machine was up to – I heard the hard drive rattling every time a process accessed it – I even knew how many processes I was currently running (do you?), and the blinking LED’s of my analogue modem made me aware of any wanted or unwanted data transfer.

Wow, now I feel old…

Today I just don’t (really) know what my computer is doing and I doubt that you do – we all rely on software to keep track of that and decide for us what’s allowed or unallowed activity (firewall/antiviral/UAC…)

But all those systems can’t decide what the user really wants to do with his computing resources – maybe you visited this blog not to read it but to raytrace an image?

Ultimately, only the user can be the judge – this leads to sandboxed systems and much hassle – for example: do you manage your cookies or enable/disable JavaScript and plugins for each site you visit individually?

On the other hand – those features are essential for the modern web to function and do enhance it greatly.

So we continue to give up control on what our machines are doing just by participating in the www.

In the end, we might gradually move to the universal cluster – and that could be as utopian or dystopian as you can imagine – or both!

Until then… watch your CPU/GPU load :)


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="">