This one time I was thinking of what would be possible with Mininova and all its visitors.
The first think I thought about was a hidden IFRAME DDOS, but this wouldn’t be cool (but maybe I’ll talk about this later).
The second thing that came to my mind was a little more complicated but also more fun.
Why not use the visitor’s browser to do some calculations.
When a page is loaded and the visitor is reading the page the browser does (almost) nothing, so why not use this time.
My Idea was to send some javascript with the page and execute it when the page is loaded.
The results could be posted back with a XMLHTTPRequest.
This request could even be used to fetch another script to execute next for if the user keeps the page open for some time.
So let’s calculate how fast this would be.
Mininova has 3,770,305 page views per day.
99.27% of the Mininova visitors have Javascript enabled.
So this is 3,742,782 page views per day with Javascript enabled.
This is 155,949 page views with javascript enabled per hour, 2,599 per minute or 43 per second.
The average time spend on a page is about 10 seconds. This is really a guess (maybe someone knows a better guess?).
Using this data we can say that at any time 43 * 10 = 430 people will have a Mininova page open (in a browser with javascript enabled).
On my machine (FireFox 1.5 Beta 2, AMD Athlon 64 3000+ ~2GHz CPU) Javascript can execute 2,000,000 IPS.
With IE this is even more, 2,500,000 IPS.
check on your machine
Because 60.32% of the Mininova visitors uses IE but not everyone has a fast CPU I’ll use an average of 2,250,000 IPS.
So using this data we can calculate that with this cluster we can do 430 * 2,250,000 = 967,500,000 IPS.
Which is 967.5 MIPS.
Now let’s compare this to some CPU’s.
| 486 | 20 MIPS |
| Pentium | 60 MIPS |
| Pentium Pro | 200 MIPS |
| Pentium 2 | 333 MIPS |
| Pentium 3 | 500 MIPS |
| Mininova cluster | 967 MIPS |
| Pentium 3 (1Ghz) | 1000 MIPS |
| Pentium 4 | 1500 MIPS |
| Itanium | +2500 MIPS |
data from here
So the Mininova javascript cluster is almost as fast as a 1Ghz Pentium 3.
Not as fast as I thought when I started writing this but still not slow.
I have never tested this for real because of 3 things:
1) I don’t know if the Mininova visitors would like it if their browser uses all their CPU power when visiting Mininova.
2) Measuring this isn’t easy.
3) Because almost every page views would result in a request to post back the data it would double the requests which the Mininova web server won’t like.
I think testing it for real would result in a somewhat slower speed.
One of the things that I haven’t taken into my calculations it the time it takes to post back the data with a XMLHTTPRequest.
Also one of the problems would be people closing the page before the request is done.
I think I will never find out if it really works and what the real speed would be.
But it was fun calculating this stuff and thinking about it.
Hope you enjoyed reading this,
Erik.
More fun can be found at the Mininova labs.
IIRC there was once a little java applet, in the form of a button that when loaded would execute the Distrubuted.net RC5-64 cracker. I may have the details wrong, but it’s not so much a flight of fancy as you might have thought.
The single-button interface also allowed people to turn it off if they wanted.
Perhaps testing with Java is a good idea, see what increase in performance you might see.
Did you ever think about what you might get the nodes to do?
is this ajax style? well. that would be cool. trying to find out something about that, too. tell me your minds
If you made a “disclaimer” with your intentions and if you made this optional (but with default = on
) I would definitely participate in this!
You really should think about this….
Is this just a purely theoretical discussion? What would be a practical use of this MiniNova cluster? I’m thinking something like that Seti screensaver that shared calculation time….
yes, i was thinking exactly the same, helping projects like SETI or something similar
that could be really nice
wow my ips is 3,836,317
i’m using firefox with several extensions and greasemonkey scripts. because of this, my browser frequently uses 100% cpu (on a fast machine) when navigating (scrolling, clicking, etc.) a page. theoretically i like the idea, but not practical for some of us.
Personally, this would bug the hell out of me (especially if I couldn’t turn it off), but it is a cool idea.
xmlhttprequest is the base for AJAX-enabled apps, which everyone’s trying to build nowadays.
i highly doubt mininova’s information will choke up a browser at all.
anyway nfs most wanted rocks, mininova as well
I think this is a pretty good idea..
I’m unsure if there is any way to do any type of CPU throttling with jscript though.
I would first implement this as a member-only option (start small). Then in the user settings/options, just allow us to turn it on and off.. I wouldn’t mind doing some distributed computing while browsing the site, as long as it does not seriously slow down the machine.
Keep us updated on your ideas/intentions!
> Because 60.32% of the Mininova visitors uses IE but not everyone has a fast CPU I’ll use an average of 2,250,000 IPS
Kinda high avarage, don’t you think? Most people will prob. have lots of (perhaps not lots of, but def. more) programs running on their machine — not just their web browser. Or? Anyways..fun idea.
hi i’am wondering do you know wen the new harry potter is coming out on torrent
ps; nice info like it a lot
point 3.
Cookies or image with source like lala.php?result=[RESULT]
not a good idea to actually put into action because
a. people use mininova for its speed therefore slowing it down would piss people off
b. people use mininova to download and upload thus their cpu and connection is usually quite heavily loaded with all the other downloads and uploads they have on the go
and c. using peoples cpu’s without asking is a big nono
If you decide to give it a run, how about if you allow users to turn it on by adding a variable in the pathname, ie mininova.org/dist_comp/ That way we would have a quick way of turning it on an off without having to worry about cookies and the such. Make it an opt in and put a link on the main page…
Just a few thoughts…
great site for the music i wub it
I think this may have some application if there were many thousands of machines running and if their average stay is longer then a minute or so.
Maybe like on a CNN news page etc but on mininova you woudl likley get more processing done with no bandwidth usage by just using a seperate machine.
I am not planning on ever useing it. It would be fun but if I want to do something like seti I would just use the idle time of the mininova servers which would be much much faster.
1.6 Pentium M - 256 ram
3.9Mill in IE
2.7 in FF Deer Park
I for one would not mind my browser being used, with the previso that of course the cpu was not floored.
While js would be a much easier method of delivery (more support, less security issues presented to user by default), an applet would provide a lot more aid in the ability to throttle cpu use, also the applet would allow you to utilise udp rather than tcp, thus reducing the load on servers when returning results.
As for the question of users in general allowing it, make it part of the preferences, wether you default to yes or no is a question to be answered, although I’d tend to support yes.
If an applet was used, you could actually simulate clients, perhaps to verify or indeed replace an amount of tracker querying.
This crappy machine I’m on (celeron 2.6) managed a healthy 2525253 ips. However, that’s with Opera and nothing else running except my email & windows updates.
I’d never really thought about JS execution speed across different browsers - might be interesting to test.
Oh, btw, you failed your XHTML validation because one of the script tags didn’t have its type defined.
And the javascript wasn’t enclosed in a html comment . Fixed it both.
It’s a great idea, but I wouldn’t like it. Sure I have a nice rig, but the fact that it’s going to hog a lot of my CPU would kinda bug me.
once again.
use AJAX. it will be fine. enable gzip compression too.
do not use java applets. flash is the only third party app that you should even consider using. i will not use the site if it becomes a thick client.
Just a follow up on browser speeds - my real machine (Athlon64 3200+ @ 2.5ghz) hits a cool 4,000,000 in Opera, 3,092,784 in Firefox and 4,807,692 in IE. Tasty..! Perhaps there is an alternate use for this… I’ll have a think.
What if you were to load the javascript in its own frame at the top so that it wouldn’t be reloaded when the user changed pages? Heck, thats not a bad idea, having a small frame at the top of a page that used ajax to stay up to date with out having to be reloaded.
The idea is worth pondering, yet all too sudden crushed by reality which cannot be caught off-guard.
It’s a waste of ressources, really. As soon as the programmer writes ONE version that runs in native CPU code that’s running on ONE halfway decent machine dedicating its spare time on the task the whole cluster is outperformed. It’s just not worth bothering.
It’s good to see people still thinking ;o)
ug past few days iv been racking my brain trying to figure out why javscript is slow slow. I think iv come to the concution that one its slow becues its not in machine language, and too, the varables are not spasifisificaly definded as intergers and evvery opertaion has to figure out what type it is i tryed to figur out how you could create an integer spasificaly but had now luck. I found a bit of info on it such as (http://www.mozilla.org/js/language/js20/libraries/machine-types.html) but could never get code to run, stupid javascript i think il stick to java.
crazy, that’s because current browsers don’t supports javascript 2.
I frequently use my browser while I am simultaneously performing real-time highly-intensive CPU tasks (audio editing/recording). I count on my browser’s CPU usage to be minimal while I am performing these tasks, because if usage climbs too much, my task will fail and I have to start all over again. This can flush 5 minutes of my time down the toilet. If every time I browse to mininova my usuage goes through the roof and my time is wasted, guess what?
I won’t be coming here any more. Simple as that.
An opt-in system would avoid these problems. Make me opt out and I’m outta here.
As I stated before. I will never test this for real.
sorry, missed that.
It sounds like a really interesting way of using that technology.
But what sort of things could we calculate?
The problem is that users like control (as do i) and if they know about this, or notice a little more noise than usual from there machine, they may just turn javascript off.
I am a web designer and have realised that you cannot rely solely on javascript any more. People are sending invalid data from javascript only validated pages, so people have got it turned off.
While we’re on the subject don’t use javascript only menus anymore, css if far better. My javascript stopped for a while for some reason and I found it a nightmare. At least link the main menus to section pages…
chill out
I tested the MIPS count on the dual AMD Opteron server at my house and got 3,900 MIPS. Too bad that I’m going to sell the thing
Are you sure that’s correct? I tested my Athlon64 3200 (2.5Ghz) through Sandra, and it was over 10,000 MIPS. Maybe the test is different to yours…? It suggests that an FX-55 @2.6Ghz hits 11175 MIPS. Maybe it’s measuring something else…
Probably aren’t too many kinds of calculations that only 10 seconds of javascript execution would be useful.
But yea, I did find this blog an interesting read.
I too would’ve thought you would get more raw power…
For effeciency, you should take a look at RFC 1149. That’ll boost your performance
This locked up my P3. Its flucked.
a) it’d be very, very bad etiquette indeed to hijack cpu cycles. If, at all, you’d have to do this on a opt-in base, and that’d seriously reduce your userbase.
b) what the hell would you let this cluster calculate? SETI? ;P It’d be cheaper and easier to just buy another machine and let it do nothing but whatever calculation you want to do.
I did enjoy the thought experiment, but I can’t see a use that would justify a)
Good job !
My ips is over 4′800 000 …
it takes more than one clock cycle to execute an intruction. that pdf your numbers are based on is all wrong.
oops, i mean that the other way around.
I heard a rumor that Disney might be making a Harry Potter theme park? I imagine that it would do very well for a while, but in the long run it would flop.
Well here is a proof of concept, It is still in its early stages but hope to have everything completed by the end of April.
Popup version: http://www.grid-project.co.uk/agent/
In page version: http://www.grid-project.co.uk/interface/
The project itself uses browsers CPU power to crack MD5 Passphrases, will release a full write up of how it works in June once my dissertation has been marked.