Slashdot Mirror


Collaborative Map-Reduce In the Browser

igrigorik writes "The generality and simplicity of Google's Map-Reduce is what makes it such a powerful tool. However, what if instead of using proprietary protocols we could crowd-source the CPU power of millions of users online every day? Javascript is the most widely deployed language — every browser can run it — and we could use it to push the job to the client. Then, all we would need is a browser and an HTTP server to power our self-assembling supercomputer (proof of concept + code). Imagine if all it took to join a compute job was to open a URL."

188 comments

  1. Random Thoughts by AKAImBatman · · Score: 5, Interesting

    Two comments:

    1. He places the map/emit/reduce functions in the page itself. This is unnecessary. Since Javascript can easily be passed around in text form, the packet that initializes the job can pass a map/emit/reduce function to run. e.g.:

    var myfunc = eval("(function() { /*do stuff*/ })");

    In fact, the entire architecture would work more smoothly using AJAX with either JSON or XML rather than passing the data around as HTML content. As a bonus, new types of jobs can be injected into the compute cluster at any time.

    2. Both Gears and HTML5 have background threads for this sort of thing. Since abusing the primary thread tends to lock the browser, it's much better to make use of one of these facilities whenever possible. Especially since multithreading appears to be well supported by the next batch of browser releases.

    (As an aside, I realize this is just a proof of concept. I'm merely adding my 2 cents worth on a realistic implementation. ;-))

    1. Re:Random Thoughts by AKAImBatman · · Score: 1, Informative

      What does Java have to do with anything?

      I think that I would be willing to donate some of my cycles but Java has a bad habit of locking up the browser till the process is completed.

      Maybe you should try reading the post you're responding to?

    2. Re:Random Thoughts by Man+On+Pink+Corner · · Score: 1

      Translation: Who wants a patent suit from Digg.com?

    3. Re:Random Thoughts by corsec67 · · Score: 1

      I think that I would be willing to donate some of my cycles but Java has a bad habit of locking up the browser till the process is completed.

      And then Firefox (or Epiphany) pops up a dialog after JS maxes out the CPU for 30 seconds asking if you want to permit the execution to continue.

      So you have to limit yourself to 20 seconds per page load, and have the overhead of using Javascript as opposed to a better language like Java. Actually, a Java applet seems like what you would really want to do if you were really going to do this.

      This idea is an interesting "hijack visitors to do work", but has some major issues.

      --
      If I have nothing to hide, don't search me
    4. Re:Random Thoughts by Anonymous Coward · · Score: 0

      Actually, a Java applet seems like what you would really want to do if you were really going to do this.

      Or both of you could try reading the post that started this thread. You know, multithreaded Javascript?

    5. Re:Random Thoughts by Jurily · · Score: 1

      Who wants to open up a page that suddenly uses all of their cycles and makes their computer useless for anything else while this is running.

      Can you actually do that on a modern OS and a modern CPU? I regularly have my CPUs on 101% load and it stays snappy as ever. Only heavy I/O on the system drive makes it unresponsive. This applies for both Gentoo and Vista. (The default install of Linux Mint, however, sucks horribly.)

    6. Re:Random Thoughts by cripkd · · Score: 0, Flamebait

      What? JavaScript is NOT java ? Next you'll tell me that there is no connection too!

      --
      Curiously yours, crip.
    7. Re:Random Thoughts by Tacvek · · Score: 1

      There is a very tenuous connection.

      First note that ECMA script is the core language. Add a few fewtures and you have the cross browser script base. The (cross browser script base)+DOM is what is portable between browsers.

      I use the term cross browser script base, because unfortunately there really is no name for this language.

      Everybody implements something that is basically an extended version of the cross-browser base script.

      Microsoft calls their implementation JScript.

      Netscape (and now Mozilla) call their implementation Javascript.

      Pretty much nobody else named their implementations, so they are generally also called javascript, although strictly speaking that is incorrect.

      One of the features of Mozilla's ECMAscript implementation which is what can rightfully be called Javascript is a specific binding for java objects, allowing them to be manipulated by javascript must as though they were native Javascript objects.

      See https://developer.mozilla.org/en/JavaScript for more information. Details of the Javascript Java binding can also be found on that wiki.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    8. Re:Random Thoughts by legirons · · Score: 1

      Who wants to open up a page that suddenly uses all of their cycles and makes their computer useless for anything else while this is running.

      Can you actually do that on a modern OS and a modern CPU?

      Slashdot manages it on an eee and xubuntu. Both were developed recently, if that counts as 'modern'.

    9. Re:Random Thoughts by Anonymous Coward · · Score: 0

      Hey smarty-pants, you are making it extremely difficult for me to feign ignorance about Javascript at work. Knock it off, will ya?

    10. Re:Random Thoughts by Anonymous Coward · · Score: 0

      I don't like the idea of unwittingly giving my CPU to someone else, either. But..

      Who wants to open up a page that suddenly uses all of their cycles and makes their computer useless for anything else while this is running.

      If a busy process can make your computer useless for anything else, then you need to update your hardware to something made in 1985 or later. Well, either that, or stop running Windows.

    11. Re:Random Thoughts by maxume · · Score: 3, Interesting

      I found this somewhat startling:

      http://code.google.com/p/doctype/wiki/ArticleHereComesTheSun

      If you create a javascript object named 'sun' (or several other names), netscape and family (including firefox) load java into memory.

      --
      Nerd rage is the funniest rage.
    12. Re:Random Thoughts by Jurily · · Score: 1

      Slashdot manages it on an eee and xubuntu. Both were developed recently, if that counts as 'modern'.

      Slashdot managed to freeze firefox for 5-6 seconds on a Core 2 Duo, until I disabled Javascript for it. Now it behaves.

    13. Re:Random Thoughts by fractoid · · Score: 1

      Firefox 3 on Vista on my work desktop loads /. pages flawlessly, whereas and my very similarly spec'd home computer running Firefox 3 on xubuntu 8.10 freezes up for a couple of second when it loads a long comments page. Not long enough to be a pain but it's definitely noticable. My eee 900, however, will lock up for 10+ seconds loading a hot /. topic. >.<

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    14. Re:Random Thoughts by Tacvek · · Score: 1

      Yes, exactly. That is the connection between Java and JavaScript. (It is also a literal connection between the two too, hence the name LiveConnect!). But because pretty much only Netscape family browsers implement JavaScript, rather than some other extended version of ECMAscript+DOM, that is not seen in the other batteries.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
  2. Botnet by ultrabot · · Score: 3, Insightful

    Imagine how much *spam* you could send using this approach.

    No, wait...

    --
    Save your wrists today - switch to Dvorak
    1. Re:Botnet by MonoSynth · · Score: 5, Insightful

      With ever-increasing JavaScript performance, there's a lot of cpu power available for cracking passwords and captcha's... Just include the code in an ad and you're done. No tricky installs needed, just the idletime of the user's web browser.

    2. Re:Botnet by Anonymous Coward · · Score: 0

      Heh, no shit.

      You don't see many Russian malware authors writing CureForCancer@home or StemCellSim@home, do ya?

    3. Re:Botnet by HTH+NE1 · · Score: 1

      You don't see many Russian malware authors writing CureForCancer@home or StemCellSim@home, do ya?

      No, but you might meet some of their representatives in person (for the first and last time IYKWIM) if you start implementing this and undercutting their networks.

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    4. Re:Botnet by euxneks · · Score: 1

      This makes me hate ads even more. I am so glad I use adblock plus right now.

      --
      in girum imus nocte et consumimur igni
    5. Re:Botnet by merreborn · · Score: 1

      With ever-increasing JavaScript performance, there's a lot of cpu power available for cracking passwords and captcha's... Just include the code in an ad and you're done. No tricky installs needed, just the idletime of the user's web browser.

      This is eerily plausible, but I think there's one thing keeping this from becoming a massive problem:

      Anyone running a legitimate site will kick their advertiser to the curb if their ads start sucking down lots of CPU. The only people who'd allow this sort of advertising to run on their sites are already scumbags. And in that case, the bigger risk is probably picking up some sort of malware installed via the latest zero-day browser flaw.

    6. Re:Botnet by SCPRedMage · · Score: 1

      The CPU time would come from the user's systems, not the server, so the site's owner wouldn't know anything unless the users tell 'em. And let's face it, even your average /. reader, when presented with Firefox/Opera/IE/whatever hogging their CPU time, would first assume that it's their browser's fault...

      It'd probably take a good while before anyone pegged down the real problem...

      --
      My sig can beat up your sig.
    7. Re:Botnet by merreborn · · Score: 1

      If you're not eating your own dogfood, you're doing yourself and your users a disservice.

  3. Join compute cloud by Imagix · · Score: 4, Insightful

    We already have that. See botnets.

    1. Re:Join compute cloud by Anonymous Coward · · Score: 0

      Ah, but this one is cross-platform.

  4. BOINC by Chabo · · Score: 4, Insightful

    If you were really interested enough to donate your CPU cycles, is it really that much harder to install BOINC, and get a job running?

    Plus then you can run native code instead of having to run in [shudder]Javascript[/shudder].

    --
    Convert FLACs to a portable format with FlacSquisher
    1. Re:BOINC by Anonymous Coward · · Score: 0

      BOINC is this whole huge system, and people hate installing things.

      This idea captures the CPU cycles of lazy people much more effectively.

      And with modern Javascript engines, Javascript can be dynamically recompiled to run at almost 1% the speed of native code! Isn't that great?

    2. Re:BOINC by Tyler+Eaves · · Score: 1

      BOINC is quite possibly the single worst bit of software I've ever seen. It's kind of like the team did a detailed study of the best practices for software usability and then did the exact opposite.

      --
      TODO: Something witty here...
    3. Re:BOINC by Chabo · · Score: 1

      If you're talking about the UI, then I'll agree it needs a bit of work, but then it is still a "nerd project" at this point. With any nerd project, the interface is at the bottom of the TODO list.

      If you're talking about the code, care to explain? I've never looked at it.

      --
      Convert FLACs to a portable format with FlacSquisher
    4. Re:BOINC by kae_verens · · Score: 1

      I don't get what's the big problem people have with "[shudder]JavaScript[/shudder]".

      It's a Turing-complete language, which means it can be used to do anything from simple form validation to ray tracing and neural net simulations.
          With AJAX to handle file interactions, I don't understand the problem that people have with it. What is it that you think JavaScript can't do that 'x' language can?

      I wish people would get over this childish bias and accept that JavaScript is a /real/ language, and not a toy.

      The FA demonstrates that...

    5. Re:BOINC by D+Ninja · · Score: 1

      With any nerd project, the interface is at the bottom of the TODO list.

      Which is exactly why many people won't use many of these tools even if the tool is "better." UI is extremely important for most people to consider using a tool.

    6. Re:BOINC by Chabo · · Score: 2, Insightful

      A big thing is the same thing people have against VB: there may not be anything technically wrong with it, but bad programmers are drawn to it because it's easy, so you hardly ever see a good VB program. There's especially nothing wrong with VB now, when writing a program in VB.NET gets you the same result as if you'd written it in C#: you still get CIL code when it's compiled.

      However, Javascript gets used for way too much, and historically it's been a huge browser security issue. Even if you use it responsibly, that doesn't mean everyone does.

      --
      Convert FLACs to a portable format with FlacSquisher
    7. Re:BOINC by Anonymous Coward · · Score: 1

      have you actually tried to write something in javascript?

      what works in one browser doesnt work in another...

      the number of simple functionalities that are
      missing sleep() for instance?

      and its only just recently got threading support

      every time i try to do something in javascript i come across some kind of limitation which means that i have to use some kind of strange hackish unreliable workaround!

    8. Re:BOINC by Blakey+Rat · · Score: 1

      I'd like to see Javascript elsewhere. In the browser, it's limited by that turd known as DOM... imagine what Javascript could do if it had libraries that weren't utter shite. It could easily take over all the tasks done by Lua now, and possibly most of Python and Ruby as well.

      The problem is people get into web development, find out that DOM is crap, then they assume the problem is Javascript and not DOM. JS is fine; DOM would be just as crap if you were working with it in Python.

    9. Re:BOINC by Anonymous Coward · · Score: 0

      Or, what about Java?

      This is a project I was involved with a few years ago.

      http://eprints.utas.edu.au/53/

      "Imagine if all it took to join a compute job was to open a URL."

      That's exactely what this did.

    10. Re:BOINC by barzok · · Score: 1

      imagine what Javascript could do if it had libraries that weren't utter shite

      It's certainly not the exact opposite of "utter shite" but JavaScript on Windows via Windows Script Host has lots of libraries immediately available which makes a lot of tasks on Windows (including administration) much easier via the FileSystemObject, WMI, etc.

      Beats the crap out of cobbling things together with BAT files.

    11. Re:BOINC by Anonymous Coward · · Score: 0

      What is it that you think JavaScript can't do that 'x' language can?

      Sleep.
      As in, pause for x milliseconds without eating CPU cycles. Or wait for a lock to become available.

    12. Re:BOINC by kae_verens · · Score: 1

      > have you actually tried to write something in javascript?

      yes. I'm the author of KFM as well as a few little tricks

      > what works in one browser doesnt work in another...

      jQuery, ProtoType, MooTools, Ext, etc

      > the number of simple functionalities that are
      missing sleep() for instance?

      can be emulated with setTimeout().
          PHP has array_merge() but C doesn't. Does that mean that C is crap?

      > and its only just recently got threading support

      again, could be emulated with setTimeout(). Even for() loops can be broken apart ("threaded") using a bit of thought and setTimeout().

      Just because JavaScript doesn't have the same list of tricks that some other languages have doesn't mean it's not worth using.

      My opinion is that if there is a language which you /know/ is available on every browser that people use (normal people - not 'noscript' users or web crawlers), then I don't see the problem in using it.

      To bring the context back to the article, I've had that idea before, about letting a bit of computation happen on the browsers of people reading my own sites. That could not happen if a big popup announced that a script was trying to run in a plugin not supported by the browser (ActiveX, Java, Silverlight, Flash). Why not just use the language that is there...

      I mean, if your requirement is a language that might not be present in all visitors' browsers, then why not go the whole hog and ask the reader to download and install a full application?

  5. Noscript by sakdoctor · · Score: 4, Informative

    Progress is running less JavaScript, not more.

    1. Re:Noscript by OzPeter · · Score: 5, Funny

      Sir, I have the '80s on hold on the phone at the moment. They want to know if you want to by some stuff called .. umm .. hang on .. yes here it is .. "static HTML pages" ..

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Noscript by AKAImBatman · · Score: 1

      Which is to say that Javascript is the future of all computing progress.

      "First they ignore you, then they ridicule you, then they fight you, then you win." --Mahatma Gandhi

      Mwuhahaha! MWHahaha! MUHAHAHAAAAAAaaaaaa--

      *cough* *cough* *wheeze* *sputter* *wheeze*

      *clears throat* 'scuze me!

      MWUHAHAHAAHAHAAAA!!!! :-P

    3. Re:Noscript by Reality+Master+101 · · Score: 1

      Yeah, yeah, and Usenet was the ultimate discussion group and everything's been downhill from there, right? And 25x80 column monitors were plenty (who needs proportional fonts?) and color is way overrated, and...

      Why is it that we always need the previous generation twho remembers "what it was like before all this newfangled nonsense" to die off before we can make progress?

      Just because you're looking for the web to look like a static newspaper doesn't mean the rest of the world wants the same thing.

      --
      Sometimes it's best to just let stupid people be stupid.
    4. Re:Noscript by wirelessbuzzers · · Score: 4, Insightful

      Actually it was the '90s, but whatever. The thing is, non-DHTML web pages are actually pretty good for most things... what made those early '90s web pages so awful was no CSS, slow connections, and the fact that people really didn't know how to design for this new medium.

      Probably 99% of the web still shouldn't need Javascript or flash, though pages usually do need to be dynamic on the server side.

      --
      I hereby place the above post in the public domain.
    5. Re:Noscript by pjt33 · · Score: 1

      Just because you're looking for the web to look like a static newspaper doesn't mean the rest of the world wants the same thing.

      There are situations where JavaScript is good, but it simply breaks things like the ability to bookmark your page and then restore it as it was from the bookmark. Then you have the sites which really abuse it: for example, you can't book a flight with Ryanair if you have JS disabled (or a browser which doesn't support it: they don't seem to have come across the concept of degrading gracefully).

    6. Re:Noscript by Camann · · Score: 1

      Thank you for jumping straight to ridicule. I was afraid of having to spend a bunch of time in "ignore", but this is much faster.

      --
      I can't believe you don't know what a Hasemalphaginnojinglanaporphomism is.
    7. Re:Noscript by MrEricSir · · Score: 1

      If the static newspaper means nobody can make my browser window dance around the screen while Rick Astley plays, please, PLEASE count me in.

      --
      There's no -1 for "I don't get it."
    8. Re:Noscript by Anonymous Coward · · Score: 0

      Think his point is that static HTML doesn't infect the client with mal-ware.

    9. Re:Noscript by OzPeter · · Score: 1
      I know it was the '90s, I was just trying for the double joke of it being an advanced concept/vapourware for the '80s. Won't try that one again.

      But the argument against javascript is one that is countered by your own comment: "the fact that people really didn't know how to design for this new medium".

      Javascript is a tool just like another on the Internet. It can be used for good or evil depending on who writes the program. And as you mentioned, retreating from javascript means going back to a purely (dumb) client / (smart) server technology with every state change within the same page ina browser meaning a round trip to the server and back again.

      --
      I am Slashdot. Are you Slashdot as well?
    10. Re:Noscript by Anonymous Coward · · Score: 2, Informative

      "First they march you through hundereds of miles of jungle without food or water, then they shoot you, then they disembowel you, then you lose." --Mahatma Gandhi, had the Japs won WW2.

    11. Re:Noscript by rjolley · · Score: 1

      99% of the web COULD work without javascript while just having everything run on the server, but I happen to like web pages that benefit from XHR's. You keep your noscript plugin, and I'll keep intuitive webUI.

    12. Re:Noscript by girlintraining · · Score: 1

      Actually it was the '90s, but whatever. The thing is, non-DHTML web pages are actually pretty good for most things... what made those early '90s web pages so awful was no CSS, slow connections, and the fact that people really didn't know how to design for this new medium.

      Sure it's fine when you've got a 2GHz processor and a smack of RAM to compile and run an interpretive language -- with the sole purpose of relatively simple data manipulation, validation, and perhaps some light processing to kick a chunk of data back. But when you are talking about serious data crunching, you want code running natively, not in a locked down little box, like SETI@Home, and optimized for that architecture and platform.

      People think because you can put it on the web, you should. That is, at best naive, and at worst professionally negligent to suggest.

      --
      #fuckbeta #iamslashdot #dicemustdie
    13. Re:Noscript by Anonymous Coward · · Score: 0

      Enjoy your zombie pc.

    14. Re:Noscript by AKAImBatman · · Score: 1

      What is wrong, Sid? You no like-ink my evil laugh? Here, I do it more: Mwhahahah! :-P

    15. Re:Noscript by Anonymous Coward · · Score: 0

      seriously, bookmark breaking and lack of graceful degradation is because of javascript.. sounds like shitty developers to me.

    16. Re:Noscript by Jester998 · · Score: 1

      You keep your noscript plugin, and I'll keep intuitive webUI.

      'Intuitive' web UI doesn't need JavaScript -- it can be done purely with CSS.

      Example

    17. Re:Noscript by localman · · Score: 1

      How come the new kids who come in can't tell the difference between progress and two-steps-forward-two-steps-back? You make a valid point that some people resist change for poor reasons, but I would say an equal or greater problem is people embracing change for poor reasons.

      DHTML is fine when it works, and it's just starting to get there. But I'd say that web usability was at an all-time low between 2000 and 2006 when the new kids thought everything should be dynamic without the slightest understanding of usability or browser compatibility. The number of high-profile busted pages I encountered was staggering. It wouldn't be so annoying to go through such phases if there was an honest recognition of the shortcomings, but the new kids are always religious zealots who think anyone criticizing their "progress" is a stupid old fart.

      It's like how young web developers can't fathom why anyone would still want to use tables for layout when it's fairly easy to explain (i.e. lack of grid layouts/element size dependencies). Fine, I'm happy about CSS too, but because you're having so much fun masturbating over it and won't admit that there are some things lacking, we can't make _real_ progress.

      Ah well, it all works out in the end after 10 rewrites to get the same functionality you had in the first place.

    18. Re:Noscript by wirelessbuzzers · · Score: 1

      I don't use noscript. However, I dislike most flash- and javascript-based UIs. They're often heavy and unintuitive, and they usually break the back button, deep linking and "open in a new tab".

      What's more, javascript-intensive UIs are terrible for the disabled, for scripts, for search engines, and often for mobile devices as well.

      That's not to say that Javascript is useless, or even Flash. They have their place in web design, but they do give designers an awful lot of rope.

      --
      I hereby place the above post in the public domain.
    19. Re:Noscript by Darkness404 · · Score: 1

      Yes, until someone using an old browser attempts to use the site...

      --
      Taxation is legalized theft, no more, no less.
    20. Re:Noscript by Anonymous Coward · · Score: 0

      You are forgetting that XHR's are what make the web so easy to use. All the (excuse me for saying this) web 2.0 stuff that lets you submit forms behind the scenes and update small portions of the page you are viewing without having to refresh are what make web applications usable for me. Sure I got by fine 5+ years ago, but I don't realy want to go back.

      Furthermore, the current lousy adoption of css standards by MS make writing CSS just as annoying as writing javascript. With javascript at least there are convenient libraries to use that help mitigate some of this.

    21. Re:Noscript by rjolley · · Score: 1

      Hate to reply to AC, except in this case I should point out AC is me.

    22. Re:Noscript by Pollardito · · Score: 1

      what made the 90s awful was black page backgrounds, blink tags, banner tags, HR tags that dripped blood, and the GeoCities navigation that was no doubt accompanying all the above "features"

    23. Re:Noscript by rjolley · · Score: 1

      IE6 came out almost 10 years ago. It sucks at css, but with workarounds does an ok job at javascript. If I lose .1% of my users because there browser is older than IE6 I am not too concerned.

    24. Re:Noscript by memco · · Score: 1

      Ok that's great, but what about keyboard users? They don't see all the sub links. And nav menus are hardly a proof that the net doesn't need javascript. I suppose in 5 years we won't need to do the same things with JS (form validation, rich text editing, zebra striping, animation, etc.), but since we're not in the future, I think it's safe to say that there are some legitimate uses for JS.

      --
      Get me a meat pie floater!
    25. Re:Noscript by Anonymous Coward · · Score: 0

      There is a little bit more to an intuitive user interface than popup menus, dickwad.

    26. Re:Noscript by Blakey+Rat · · Score: 0, Flamebait

      People only turn Javascript off so that they can then complain that the web isn't usable with Javascript off. It's some kind of pathetic attention-getting exercise. The best strategy is to ignore them, since they come in two varieties: those that are super privacy-geeks who have ads blocked and won't buy from you anyway, or those who whine but they'll just turn on JS when push comes to shove.

      See also: cookies.

    27. Re:Noscript by AnyoneEB · · Score: 1

      Did you read the linked page? It explains how that CSS menu degrades gracefully to be perfectly useful -- just not as flashy -- in browsers without the proper CSS support. Graceful degradation is a key design principle of HTML which many sites choose to ignore (ex. by requiring Flash or JavaScript). A good example is the commenting on Slashdot with the new discussions system: if you do not have JavaScript enabled, the reply button is just a normal link, allowing, for example, opening a reply box in a new tab, while supporting the AJAX inline reply box as well.

      --
      Centralization breaks the internet.
    28. Re:Noscript by gnud · · Score: 1

      Seconded. On public pages I use javascript only for 2 things:
      1. Non-essential visual effects (most of which are part of current web standard drafts)
      2. Slideshows (with a "manual" fallack, of course)

    29. Re:Noscript by Anonymous Coward · · Score: 0

      here here.

      From a marketers point of view I prefer to reduce the amount of javascript to zero. Or at the very least degrade extremely gracefully so the user can't even tell. Of course when I do that I question why I bother having a javascript version at all since the degraded version functions just as well.

      From a security point of view it is easier to present my site as *safe* by having little or no javascript. I still find plenty of people who are very surprised to learn that they can catch a drive by virus simply by viewing a web page (with IE).

      From a developers point of view it doesn't take that much effort to handle things on the server side (granted I am not yet serving hundreds of thousands of request per second where I might prefer to push things out to the client). Also, although people have fairly robust hardware these days, their performance is so degraded by malware that even running the extra javascript on a page becomes a burden on the processor.

      From a users point of view I appreciate the advanced DHTML in services such as Google apps and others, (services that I specifically signed up for) but I am rather annoyed by it in run-of-the-mill shopping sites or informational sites. (I just checked and /. is on my noscript forbid list. The site functions fine without it apparently :)

      And finally, bicycles are rather turn of the century compared to an SUV, but they produce no carbon and keep the drive fit as a fiddle. So I guess definitions of progress are subjective.

    30. Re:Noscript by lena_10326 · · Score: 1

      Probably 99% of the web still shouldn't need Javascript or flash

      I think that opinion, although quite frequently espoused on slashdot, suffers from a problem of framing current technology around past application models. Technology for technology's sake, such as Web 2.0 using AJAX/Flash, is not a wasteful exercise. Technology doesn't only stem from innovation; a good chunk of innovation stems from technology. The efforts with Web2.0 are leading to furthering the refinement of cloud computing and distributed, thick client applications--something which used to be quite difficult do.

      Afterall, the network is the computer.

      --
      Camping on quad since 1996.
    31. Re:Noscript by Pope · · Score: 1

      Haha, his complaint that the 1st column's background colour won't stretch to the height of the 2nd column has been solved for quite some time.

      The main problem associated with pure table layouts came from good ol' Netscape 4's inability to render very complex tables quickly; thankfully, those days are long gone. These days it's about usability and searchability, which complex table layouts kill dead.

      No one is stopping you from doing pure tables, but the solutions are there in CSS that make things so much better and flexible. I go 100% CSS for work, using tables only for forms and the like where they're guaranteed to be the best solution.

      --
      It doesn't mean much now, it's built for the future.
  6. Would this work for music? by Anonymous Coward · · Score: 4, Funny

    You could also use this to index the MP3 files on everybody's hard drives, then share the music just by visiting a URL!! ... oh wait...

    1. Re:Would this work for music? by Patrik_AKA_RedX · · Score: 1

      You could also use this to index the MP3 files on everybody's hard drives, then the RIAA could sue everyone just by visiting a URL!! ... oh wait...

      There, fixed that for you.

  7. Why? Why? WHYWHYWHYWHY??? by wirelessbuzzers · · Score: 5, Insightful

    Javascript really isn't suited for this kind of thing, even with worker threads, for two reasons I can think of. First, web clients are transient... they'd have to report back often in case the user clicks away.

    But more importantly, Javascript just isn't a good language for massive computation. It only supports one kind of number (double), has no vectorization or multicore capabilities, has no unboxed arrays, and even for basically scalar code is some 40x slower than C, let alone optimized ASM compute kernels. (This is for crypto on Google Chrome. Other browsers are considerably slower on this benchmark. YMMV.)

    --
    I hereby place the above post in the public domain.
  8. I want in by illegibledotorg · · Score: 1

    So, where do I sign up for grid time?
    Time to work on a Javascript MD5 bruteforce implementation. SHA, too.

  9. Link by Jamamala · · Score: 5, Informative

    for those like myself that had no idea what MapReduce was:
    http://en.wikipedia.org/wiki/MapReduce

    1. Re:Link by MarkGriz · · Score: 5, Insightful

      Thank you. Nice that we have "volunteer" editors, since slashdot doesn't seem to employ them any longer.

      --
      Beauty is in the eye of the beerholder.
    2. Re:Link by Logic+and+Reason · · Score: 3, Funny

      Thank you! I had completely forgotten how to use Google!

    3. Re:Link by Anonymous Coward · · Score: 4, Funny

      So had I; here's a link: http://www.google.com

    4. Re:Link by Tenebrousedge · · Score: 2, Funny
      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    5. Re:Link by VoltageX · · Score: 1

      Thank you. Nice that we have "volunteer" editors, since slashdot doesn't seem to employ them any longer.

      They just predicted the financial downturn long before we did, and fired them long, long ago.

      --
      "Anonymous could not immediately be reached for further comment." - International Business Times
  10. Another article published by.... by Anthony_Cargile · · Score: 0, Troll

    KDawson! No, its not the typical KD FUD, but still - we all could continue to thrive without seeing some "proof of concept" bullshit as useless as this. Remind me again how he is still an editor? I mean, this is unbelievable! I stared at the headline and summary for a second, and then it dawned on me - I knew who posted this before even looking under the title, and that is just pitiful.

  11. Been there, done that... by Anonymous Coward · · Score: 0

    The virus/worm writers, that is...

    [Personal Opinion]

  12. I think i recognize this one.... by Ommadawn · · Score: 1

    joining a supercomputer by just clicking a URL.. isn't that the definition of a botnet?

    --
    Restrictions are prohibited. Be well, get better.
    1. Re:I think i recognize this one.... by fractoid · · Score: 1

      I think botnets are slightly harder to opt out of...

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  13. MapReduce fanboyism by Estanislao+Mart�nez · · Score: 5, Insightful

    Oh, please, make the MapReduce fanboyism stop.

    Yes, it's a neat technique. It's also very old and obvious. Google's implementation is also good, but this stuff is just not rocket surgery. It's just a simple pattern of how to massively parallelize some types of computational tasks.

    But somehow, just because some dudes at Google wrote a paper about it, it's become the second coming of Alan Turing or something among some silly folks. Hell, a couple of weeks ago somebody was saying on the comments here that MapReduce was a good alternative to relational databases. Now that is silly.

    1. Re:MapReduce fanboyism by Anonymous Coward · · Score: 3, Funny

      listen to him everyone, he must know what he's talking about since I don't know what rocket surgery is.

    2. Re:MapReduce fanboyism by Anonymous Coward · · Score: 0

      A euphemism for penis enlargement?

  14. Another way to hijack a browser? by Crashspeeder · · Score: 1

    If clicking a link is all it would take to donate my CPU cycles I'm getting off the internet now. I'm sure we've all been conned into clicking on tubgirl, goatse, lemon party, etc. what's to stop somebody from conning you into clicking a mass computing (see botnet above) cloud masked by a fun but pointless flash game people could enjoy for hours on end?

    One-click CPU cycle donation is a bad idea. Make it deliberate, make it a program that has 30 checkboxes making sure the user understands they're donating cycles and on their terms.

    1. Re:Another way to hijack a browser? by Darkness404 · · Score: 2, Insightful

      But, you can just close the browser or type "killall firefox" and the program dies and you have to go to the URL again to get to it. So, though this is bad for other reasons, yours just isn't one of them.

      --
      Taxation is legalized theft, no more, no less.
    2. Re:Another way to hijack a browser? by Crashspeeder · · Score: 1

      But, you can just close the browser or type "killall firefox" and the program dies and you have to go to the URL again to get to it. So, though this is bad for other reasons, yours just isn't one of them.

      please reread the following section:

      masked by a fun but pointless flash game people could enjoy for hours on end

      As in, people would keep it open playing the flash game. I didn't say you couldn't close the browser, I implied one could be tricked into keeping it open. I would again contend that my reason is one of them.

    3. Re:Another way to hijack a browser? by RiotingPacifist · · Score: 1

      what's to stop somebody from conning you into clicking a mass computing (see botnet above) cloud masked by a fun but pointless flash game people could enjoy for hours on end?

      I think adobe have done some pretty impressive work to stop that from happening.

      --
      IranAir Flight 655 never forget!
    4. Re:Another way to hijack a browser? by fractoid · · Score: 1

      I'm not sure how using someone's CPU cycles while they're enjoying a game that you provided to them otherwise free-of-charge is a bad thing. Care to elaborate?

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  15. I stopped at... by greymond · · Score: 2, Insightful

    "Javascript...â" every browser can run it..."

    There is a huge difference between being able to run javascript apps and run javascript apps well - not to forget that a lot of the javascript I see out there really only works on PC's with IE or Firefox, Opera and Safari, especially on OS X seem to have trouble with some sites that aren't coded for compatibility, but instead pushed out quickly with little regard for anything other than IE on Windows.

  16. Bandwidth and Exercise by clinko · · Score: 3, Insightful

    A common mistake in multi-server builds is that bandwidth is free.

    Bandwidth Costs Money and Time. Both are reduced by having the network closer to the processing. This is one of the reasons google bought all that "dark fiber" left around after the .com bust.

    Another flaw is that computation of data is difficult to provide "good results" in blocks unless they're doing relativity matrices (Think PageRank).

    Something to think about:
    If I'm sending names to your pc, what can I derive from that list without having the entire list?

    1. Re:Bandwidth and Exercise by Nebu · · Score: 2, Interesting

      Something to think about: If I'm sending names to your pc, what can I derive from that list without having the entire list?

      Frequency of each name? Frequency of characters in names? Bayesian probability of one character following another in names? Number of names of a particular length?

      Each worker would compute the stats for their chunk of work (the "Map" part of MapReduce), and then send the results back to the server to be aggregated (the "Reduce" part of MapReduce).

      Some of these may seem interesting, but then again, what interesting data can you derive at all from a list of names, even if you had the whole list?

    2. Re:Bandwidth and Exercise by koutbo6 · · Score: 1

      1- create browser based distributed super computer.
      2- Do some rather complicated analysis to get some interesting results.
      3- (stroke of genius) create a parallel distributed infrastructure to do another set of analysis to estimate the results from the previous analysis.
      4- ?????
      5- profit!.

      seriously, what could go wrong with this plan? it's a sure win!

      --
      You speak London? I speak London very best.
  17. Pay Me by Doc+Ruby · · Score: 4, Interesting

    If there were a couple-few or more orgs competing to use my extra cycles, outbidding each other with money in my account buying my cycles, I might trust them to control those extra cycles. If they sold time on their distributed supercomputer, they'd have money to pay me.

    As a variation, I wouldn't be surprised to see Google distribute its own computing load onto the browsers creating that load.

    Though both models raise the question of how to protect that distributed computing from being attacked by someone hostile, poisoning the results to damage the central controller's value from it (or its core business).

    --

    --
    make install -not war

    1. Re:Pay Me by dencarl · · Score: 1

      The comments to the linked article are quite interesting. http://www.pluraprocessing.com/ seems to have a viable business model for doing this.

    2. Re:Pay Me by Anonymous Coward · · Score: 1, Insightful

      Start paying attention to the ads. Look for "Click here to help X and get paid ONE MILLION DOLLARS!"

    3. Re:Pay Me by Dulimano · · Score: 1

      Goldwasser,Kalai,Rothblum - Delegating Computation: Interactive Proofs for Muggles

      http://www.mit.edu/~rothblum/papers/del.pdf

      This is a theoretic, not immediately applicable result, but it shows that it is possible to set up such a distributed system so that it is immune to poisoning attempts.

  18. Re:Why? Why? WHYWHYWHYWHY??? by godrik · · Score: 1

    You cannot say that guy. This is web 2.0. This is progress. If it does not work in your browser, you can still an web 2.0 internet browser application to make it compatible.

  19. Scripts taking too long by Anonymous Coward · · Score: 4, Funny

    Is this why my browser keeps telling me scripts on the slashdot main page are taking too long and do I want to stop them for the last few months?

    1. Re:Scripts taking too long by ascendant · · Score: 1

      wow, what's your cpu clock speed? that is hilarious

      --
      Do not attribute to malice that which can be easily explained by incompetence.
    2. Re:Scripts taking too long by pjt33 · · Score: 2, Informative

      I sometimes have that with a 1.7GHz box. And even when I don't, reloading the front page of /. makes Firefox sluggish or non-responsive for 5 to 20 seconds.

    3. Re:Scripts taking too long by ascendant · · Score: 1

      never seen it before
      2.2ghz
      i have noscript installed, but it does not block slashdot.org, only the non-/. scripts on the /. homepage (google-analytics.com, jobthread.com, and doubleclick.net)
      the homepage takes about a quarter second to load

      --
      Do not attribute to malice that which can be easily explained by incompetence.
    4. Re:Scripts taking too long by jensend · · Score: 2, Informative

      Just change your prefs- under Index/General uncheck "Beta Index" and check "simple design" and "low bandwidth." With those prefs Slashdot loads almost instantly on my somewhat aged machine (P4 2.4) and is still usable on a 700MHz P3.

    5. Re:Scripts taking too long by tepples · · Score: 1

      wow, what's your cpu clock speed?

      Eee PC 900, Celeron 0.9 GHz, Firefox 3.0.6 on Ubuntu Hardy.

    6. Re:Scripts taking too long by Anonymous Coward · · Score: 0

      I'm not the same AC as you responded to but I see the same on this box which has a PII.

      I even play StarCraft under Wine on this box.

      Are you dead yet? ^_^

      Planning to pick up a nicely used $50 PIII or Celeron 2-3 GHz + when I can afford it but that doesn't mean I'll stop using this one: it's good enough for what it does and rock solid going on 10 years.

      P.S. Yes I'm poor, however if I could use this little money with a job I would soon be rich (but that's not the way it goes).

    7. Re:Scripts taking too long by SpinyNorman · · Score: 1

      I was getting the same thing with my 2.8GHz P4 under Mozilla, but it seems to have gone away since I recently (week ago) switched to SeaMonkey, so it may have more to do with slow JavaScript implementations than clock speed (although obviously a combination of the two).

    8. Re:Scripts taking too long by cerberusss · · Score: 1

      Just change your prefs- under Index/General uncheck "Beta Index"

      I did exactly that, only to find out that there's nothing on Slashdot to complain about. So I turned it on again.

      --
      8 of 13 people found this answer helpful. Did you?
  20. Self-defeating idea by whizbang77045 · · Score: 2, Insightful

    This seems to me a self-defeating idea. The obvious goal is to get more processing power. Yet using a scripted language is inefficient, and a waste of processing power. If you want more processing power, you need to group computers of the same general instruction set, and which can run compiled (or, dare I say it?) assembled machine code.

    1. Re:Self-defeating idea by godrik · · Score: 1

      you can do this at runtime.
      a daemon runs on the machine and analyze the machine, processor, operating system... and download the right binary to do the computation.
      This is classical. Desktop grid guys do this all the time.

      Yes, this solution is stupid.
      You gain:
      -people do not have to install a software on their machine.
      you lose:
      -you have to write your application in JS or use a langage interpreted in js
      -browser incompatibilities
      -no hardware information, which means no low level optimization, which are the basis of HPC.

      Oh, but I forgot, this is web 2.0, so I must be wrong, this is obviously fucking cool

    2. Re:Self-defeating idea by badkarmadayaccount · · Score: 1

      Or, you could make a good JS JIT compiler, and let it do it for you. Most browsers would probably get into swapping theirs with your improved version, allowing you to never exit the bounds of the browser, which is the main advantage of the browser. BTW, anyone though of making a rendering engine in JS? That would be really interesting.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    3. Re:Self-defeating idea by godrik · · Score: 1

      I don't want to write highly complex 3d meshing code in javascript.
      Even if we can make it, an existing technology already exists. Why develop a new one to do exactly the same thing as before ?

    4. Re:Self-defeating idea by badkarmadayaccount · · Score: 1

      Because you can?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  21. Map Reduce is an astonishing concept. by Anonymous Coward · · Score: 0

    This revolutionary technology can be used to create a superior networked colonial defence system.

    -- Gaius Baltar

  22. FORTRAN FTW by Anonymous Coward · · Score: 0

    First off, I'm impressed by the geekiness and the creativity of the idea. It's awesome.

    But, scientists had better performance 10 years ago. On a single machine. Because they wrote things in FORTRAN.

  23. "crowdsource" by Anonymous Coward · · Score: 0

    "Crowdsource" is not a word. It's not hip or cool or whatever, it's an annoying buzzword. Stop using it. kthxbye.

  24. imagine a Beowulf cluster of trojans and drive-bys by swschrad · · Score: 1

    hijack-weasels who need to be shot have pretty much ruined the idea of distributed donated computing resources, thanks.

    --
    if this is supposed to be a new economy, how come they still want my old fashioned money?
  25. Rather have a cold PC by Wee · · Score: 2, Insightful

    My CPU time isn't idle. It's keeping my laptop from being too hot to touch and too noisy to work on. And there's no reason to pay more for electricity than I already do.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    1. Re:Rather have a cold PC by Chabo · · Score: 1

      I really don't think laptops were designed to run at 100% all the time anyway, so yeah, I'd avoid any distributed computing projects on your computer.

      I run it on my two desktops at home though, and there's barely any difference in my electric bill. Idle vs load for me is about 40W difference -- I could save more by turning off a fairly dim bedside lamp.

      --
      Convert FLACs to a portable format with FlacSquisher
    2. Re:Rather have a cold PC by maxume · · Score: 1

      Why do you have multiple bedside lamps on all the time!?

      --
      Nerd rage is the funniest rage.
    3. Re:Rather have a cold PC by Chabo · · Score: 1

      Well, a light on each side of the bed is handy for those of us who don't sleep alone...

      --
      Convert FLACs to a portable format with FlacSquisher
    4. Re:Rather have a cold PC by maxume · · Score: 1

      Yes, but I don't understand why you leave them on all the time.

      --
      Nerd rage is the funniest rage.
    5. Re:Rather have a cold PC by Wee · · Score: 1
      Yeah, a laptop is definitely not a folded @ home type platform.

      I configured my desktop machine at home to suspend when I hit the power button. I only use it for games, so it's never fully powered on throughout the day. My electric usage would definitely go up a bit if it was always powered on running compute-intensive software.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  26. Waste of electricity - Javascript harms the Earth by Anonymous Coward · · Score: 0

    install powertop and watch what those "spare" CPU cycles cost you in terms of Watts. Every computation costs energy. Even worse is when you waste energy on inefficient computation. Don't promote wasteful computing, use a real language that is actually capable of providing fast array access (not possible in JS due to prototypes and parent array deletions).

  27. Re:Why? Why? WHYWHYWHYWHY??? by Instine · · Score: 4, Insightful

    and you don't think you could get 100 times more users to visit your web app than you could convince to download and install an exe?

    --
    Because you can - or because you should?
  28. More Concrete Objectives Please by deanston · · Score: 1

    Think Google already does that with their Chrome, Desktop, and Updater apps on your machine. Problem I have is how the author dismiss MOST of the issues and purpose off hand with an over-simplified sentence: "Aside from storing and distributing the data the most expensive part of any job is the CPU time..." (my emphasis). The LHC project would've given us a chance to test the capability of one of the world's biggest Grid infrastructure - if it ever run in production. P2P does not a Super-Computer/Search Engine make.

    Most popular mature application has a scripting interface. Like it or not, if MSFT cannot kill JavaScript, it is here to stay. But to condamn JS straight away is like saying no language - C/C++/C#/Java/etc. - can and ever should evolve. Might as well belittle Ruby/Perl too since they cannot even render a web page without HTML/CSS. So is proprietary plug-in like Adobe Flash/Flex your preference? Just get rid of browsers altogether and implemnet custom HTTP interface in each app?

  29. A bunch of problems by Briden · · Score: 2, Insightful
    best comment on TFA:

    I think this approach to MapReduce is a pretty creative angle to take on it. However, there are a number of distributed systems-type problems with doing it this way, that would need to be solved to actually make this realistically possible:

    1) The dataset size is currently limited by the web server's disk size.
    Possible solution: push the data to S3 or some other large store.

    2) There is a single bottleneck/point-of-failure in the web server. In theory 10,000 clients could try to emit their map keys all at once to the web server. IIRC, Google's mapreduce elects nodes in the cluster to act as receivers for map keys during the map/sort phase.
    Possible solution: Again, if you were using S3, you could assign them temporary tokens to push their data to S3 -- but that would be a large number of S3 PUT requests (one per key).

    3) Fault-tolerance -- what happens when a node in the browser compute cluster fails for any of N reasons? How does the web server re-assign that map task? You'd especially want to ensure that computation finishes on a job in an unknown environment such as 1,000,000 random machines on the internet.
    Possible solution: If you haven't heard from a node in N seconds, you could reassign their map task to someone else. This is a similar idea to the MapReduce paper's description of sending multiple machines on a single map task, and racing them to the finish.

    4) Security -- there is no way to deterministically know whether the data emit()ed from a user's browser session is real or not. How do you trust the output of 1,000,000 users' Javascript browser executions (I think the answer is, you don't).

    1. Re:A bunch of problems by AKAImBatman · · Score: 3, Insightful

      Further down in the Slashdot comments, a poster also pointed out that Javascript is a poor platform for computationally intensive work. Which I agree with on a general level. The Javascript number system is designed for genericity, not performance.

      In the end this is just a cute idea that has any number of practical problems. Many of them reflect the fact that distributed computing is hard, but many of them also reflect the fact that the suggested platform is less than ideal for this function. Especially if you're going to be pushing workloads that take more time and resources to transmit back and forth than to simply compute them.

      Doesn't stop me from humoring him, though. We all have to dream. ;-)

      And besides, this may just inspire the next fellow down the line to use the technology for a more practical purpose.

    2. Re:A bunch of problems by fractoid · · Score: 1

      Problems 1 and 2 are based on the faulty assumption that "a web site" is a single piece of hardware, whereas for a system like this it would obviously be a server farm connected to the intarwebz by several high-volume dedicated gateways.

      Problem 3 has to be solved in any real-world implementation, so is pretty obvious (and tractable with timeouts etc) imo.

      Problem 4 is the tough one - you can either slug your performance hard by running calculations multiple times, or you figure out some way to authenticate the output as being from the particular algorithm, which is never going to be 100% unbreakable but will deter casual vandals.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    3. Re:A bunch of problems by chrish · · Score: 1

      Unity (a game development platform) translates JavaScript (and Python) into .NET CLR opcodes and then runs them via Mono, which ends up being quite a bit faster than just running the JavaScript in a traditional interpreter.

      SquirrelFish (a bytecode interpreter in WebKit) and V8 (a native JIT compiler in Chrome) are also available to speed things up.

      Looking at it from the .NET CLR bytecode perspective, Silverlight 2.0 is available on Windows platforms and OS X (Intel); once Moonlight hits 2.0, that'll make a similar system available for the UNIXy OSes...

      With things like these, JavaScript probably isn't awful for computationally-expensive work.

      --
      - chrish
    4. Re:A bunch of problems by badkarmadayaccount · · Score: 1

      A language is never slow, the runtime is, and/or the compiler optimizer is crappy.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  30. Not an original idea... by ody5iu5 · · Score: 1

    http://www.pluraprocessing.com/ has been doing this for a while now using Java.

  31. What about the data? by leenks · · Score: 1

    MapReduce is interesting because at Google and Hadoop it has a distributed filesystem underneath it too. The clever part is how data is distributed, and processing is moved to the data rather than moving data to the processing. I don't really see how this really helps matters, unless you are going to have data involved too - which brings in the privacy concerns yadda yadda yadda.

    Sure, some things would work that require huge amounts of processing power on limited data, but why would you use map-reduce for that - why not just use conventional divide and conquer techniques.

  32. Skynet? Really? by Milamber_Cubed · · Score: 1

    Does anyone else find it worrying that one of the projects linked to in TFA is called (out of choice) Skynet? Unlikely, I know, but really, why tempt fate?

    1. Re:Skynet? Really? by koutbo6 · · Score: 1

      seriously, what's so scary about something that outputs this:
      Warning: Unknown property 'border-radius'. Declaration dropped. Source File: http://images.slashdot.org/lick.css?T_2_5_0_244a Line: 103

      --
      You speak London? I speak London very best.
  33. Yes but.. by Anonymous Coward · · Score: 0

    is it beta?

  34. Re:Why? Why? WHYWHYWHYWHY??? by psetzer · · Score: 1

    Or they could use an Applet or JWS and get several times the performance for only a mild reduction in install base. JWS would even be able to run offline or when the browser window's closed and cache some output to a JVM-managed scratchpad file on disk.

    --
    "Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
  35. Re:Why? Why? WHYWHYWHYWHY??? by doti · · Score: 1

    I think you accidentally the last sentence of your post.

    --
    factor 966971: 966971
  36. rocket surgery by doti · · Score: 1

    It's probably related to brain science.

    --
    factor 966971: 966971
  37. God, I fucking hate Slashdot. by Anonymous Coward · · Score: 0

    And why clicking on a tag pops up a login box, NOT THE ARTICLES TAGGED WITH THE TAG?

    Change != progress, assmonkeys.

  38. Re:Why? Why? WHYWHYWHYWHY??? by Nebu · · Score: 3, Insightful

    Javascript really isn't suited for this kind of thing, even with worker threads, for two reasons I can think of. First, web clients are transient... they'd have to report back often in case the user clicks away.

    I don't see why web clients being transient is a problem. The whole point of the MapReduce algorithm is that each worker (the web clients in this case) don't need to know anything about what the other worker is doing, what the system as a whole is doing, nor what it had done with any past job.

  39. Re:Why? Why? WHYWHYWHYWHY??? by wirelessbuzzers · · Score: 2, Interesting

    It would need to be 10000x at the very minimum.

    If a user downloads, say, folding@home, it's running all day, every day, on all cores of the machine, whenever the computer is on and idle, which is most of the time. The user doesn't have to remember to run it, doesn't have to devote screen real estate, attention and so on, and the program is less annoying because of its low priority and relatively low memory footprint (less boxing).

    Additionally, the 40x I cited was in the fastest available browser (Chrome), compared to a relatively slow implementation (OpenSSL), for code that doesn't benefit from vectorization (at least, not on x86-based processors). I expect that the difference between a scientific compute kernel in JS and in assembly would be at least 100x, maybe 200x or more.

    Let's suppose that everyone in your rosy world uses FF 3.1 with JIT. That's 3-5x slower than Chrome in my benchmarks; say 4x. Let's suppose that Chrome is 25x slower than unvectorized C, which is 4x slower than optimized assembly. Let's say people run the site 5 hours a day on one core for a week, but have their dual-core computers on for 10 hours a day, 90% idle and would keep folding@home installed for a year.

    Then the EXE is 4 * 25 * 4 * 2 * 2 * 50 * 0.9 = 72000x more productive.

    Use the right tool for the job.

    --
    I hereby place the above post in the public domain.
  40. Sweet! I'm HTTP GETting a bunch of doubles by kkrajewski · · Score: 1

    And I'll perform floating point operations on them with my Pentium and send them back.

    (ca. '94 rimshot)

  41. Re:New concept for worms... by nobodylocalhost · · Score: 1

    AJAX + self updating js saved in cookies

    --
    Where is the "Ignorant" mod tag?
  42. Re:New concept for worms... by AKAImBatman · · Score: 1

    AJAX + self updating js saved in cookies

    Local Storage APIs would probably work better. The entire data set could even be dumped to local storage to allow recovery from browser failures. In addition, using the SQL engine of the Local Storage database can speed up certain sorting and aggregation tasks, thus (potentially) allowing for a faster response than making Javascript do all the heavy lifting.

  43. Will you pay my electricity bill? by tomaasz · · Score: 1

    It's ridiculous. Javascript? What a waste! Just rent part of the Amazon elastic cloud and at least do your preciousss calculations in native code. And pay for it yourself too.

    1. Re:Will you pay my electricity bill? by badkarmadayaccount · · Score: 1

      Will you pay our electricity, bandwidth and maintenance bills for all those searches you do?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  44. Inefficiency by jibjibjib · · Score: 1

    The increase in computing power caused by more users joining because it's so simple will be offset by the massive decrease associated with using Javascript rather than native code.

  45. Re:Why? Why? WHYWHYWHYWHY??? by sfcat · · Score: 1

    I don't see why web clients being transient is a problem. The whole point of the MapReduce algorithm is that each worker (the web clients in this case) don't need to know anything about what the other worker is doing, what the system as a whole is doing, nor what it had done with any past job.

    Which is why Map-Reduce is only suitable for "easily" distributed problems. Lucky for Google that almost all their computational problems fit into this mold. But in the rest of the world, this just isn't the case. Which is why Map-Reduce is more interesting and trendy than a solid change in how distributed systems are designed.

    --
    "Those that start by burning books, will end by burning men."
  46. Re:Why? Why? WHYWHYWHYWHY??? by maxume · · Score: 1

    If the user leaves before a task completes, you don't have anything to reduce.

    --
    Nerd rage is the funniest rage.
  47. Silverlight Legion by kLaNk · · Score: 1

    Without reading the entire article in depth, seems very similar as an idea to the legion distributed computing grid done in silverlight without the bells and whistles:

    http://www.codeproject.com/KB/silverlight/GridComputing.aspx

  48. Re:Why? Why? WHYWHYWHYWHY??? by RiotingPacifist · · Score: 1

    but you can find 41 idiots with webbrowsers in the time it take you to find 1 preapared to install something.

    --
    IranAir Flight 655 never forget!
  49. Re:Why? Why? WHYWHYWHYWHY??? by Nebu · · Score: 1

    If the user leaves before a task completes, you don't have anything to reduce.

    Google's implementation of MapReduce already takes this into account. Haven't you heard of how they just have a bunch of vanilla x86 networked together, and when one of them fails, they just throw it away plug in a new one.

  50. This is an old patent application by Kainaw · · Score: 1

    I'm sorry, but isn't this practically identical to the patent application to use javascript to treat browsers as distributed clients to perform a job like a distributed super computer? The patent application is at http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220020198932%22.PGNR.&OS=DN/20020198932&RS=DN/20020198932

    --
    The previous comment is purposely vague and generalized, but all of the facts are completely true.
  51. Re:Why? Why? WHYWHYWHYWHY??? by Anonymous Coward · · Score: 0

    So because a tool which uses X resources is considerably more efficient than a tool which uses Y resources, we should use the first tool and X resources only and ignore the Y resources?

  52. You seem to be confusing... by tpz · · Score: 1

    You seem to be confusing Javascript and its implementations versus the DOM and its implementations. The source of the problems you describe are the latter pair, not the former pair.

  53. Yes! by Anonymous Coward · · Score: 0

    And it's called a virus.

  54. The future of banner ads? by fractoid · · Score: 2, Interesting

    This could be a possible way to generate revenue from popular websites... instead of selling something of such dubious quality as "advertising impressions", high-volume sites such as /. could support themselves by taxing, say, 10% of a viewer's CPU with an unobtrusive background thread, and selling the aggregated processing power to customers. I'd certainly be happier donating a percentage of my otherwise totally wasted CPU time to a site than having to read crappy ads for products I don't want.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    1. Re:The future of banner ads? by Daengbo · · Score: 2, Insightful

      high-volume sites such as /. could support themselves by taxing, say, 10% of a viewer's CPU with an unobtrusive background thread

      What happens when I open 15 tabs at 10% each?

    2. Re:The future of banner ads? by fractoid · · Score: 1

      The same thing that happens when you're standing on a train that's moving at the speed of light and you throw a ball forwards.

      *ahem* I mean, the script could set a "last batch accepted" timestamp in a cookie or somesuch when it starts, and delete the cookie when it's done, and only run a processing batch when either it can't find a cookie or it's been 10min since the last task.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  55. Re:Why? Why? WHYWHYWHYWHY??? by fractoid · · Score: 1

    Why have you assumed the javascript user ran the site for 5 hours a day for a week, but that the installed .exe user ran it for a year? Even if one accepts your estimate of an installed .exe as being 400x faster than a javascript app, you should at least allow equal running time. And are you sure that modern browsers on multicore machines don't let multiple JS threads run on different cores?

    In which case, I would find it easy to believe that for every one slashdotter who would install a distributed computing node, there would be at least 500 who would leave a /. window open while they're at work (and possibly have another one open at work).

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  56. Re:Why? Why? WHYWHYWHYWHY??? by kripkenstein · · Score: 1

    Javascript just isn't a good language for massive computation. It only supports one kind of number (double), has no vectorization or multicore capabilities, has no unboxed arrays, and even for basically scalar code is some 40x slower than C, let alone optimized ASM compute kernels. (This is for crypto on Google Chrome. Other browsers are considerably slower on this benchmark. YMMV.)

    YMMV is true. I see speed differences of x5-x10 between -O3 C code and V8 - significant, but far from x40.

    As for having only doubles, that is true for the language, but not for engines, which can implement an integer type as well. This is a little tricky to do, but certainly possible: Anything that starts out as an integer will remain one over addition, subtraction and multiplication; you need to add checks for overflows and to handle division. In other words, developers have the convenience of only working with doubles - something Python 3.0 sort of agrees with, as division now returns float values by default - but a clever engine can make a lot of code as fast as if it were using integers.

  57. Javascript... by Anonymous Coward · · Score: 0

    Saying that javascript is great because it works on all browsers, is like saying that anal sex is great since it works on all genders.

  58. Re:Waste of electricity - Javascript harms the Ear by fractoid · · Score: 1

    You know what really annoys me? Seeing people (and I'm guilty of this too) mixing hot and cold fluids together. Cold milk out of the fridge into hot coffee, using a hot gas flame to warm up food, that sort of thing. I should imagine that in millions of years' time, when the heat death of the universe is well underway, needless and wasteful increase in entropy will be punishable by permanent deletion.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  59. Outsourcing? by Waccoon · · Score: 1

    Remember folks, be sure to filter ALL user input!

  60. Doing Evolutionary Algorithms in the browser by jmerelo · · Score: 1

    We published a paper that did evolutionary algorithms in the browser some time ago: Browser-based distributed evolutionary computation: performance and scaling behavior. In the same conference, there was another paper: Unwitting distributed genetic programming via asynchronous JavaScript and XML

  61. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  62. Re:Why? Why? WHYWHYWHYWHY??? by complete+loony · · Score: 1

    I think you are vastly underestimating the JIT engines of Chrome and FF. While these JIT engines still have a way to go, I would expect the execution speed of Javascript to approach the performance of other modern virtual machines like the JVM.

    --
    09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  63. Re:Why? Why? WHYWHYWHYWHY??? by maxume · · Score: 1

    Sure. My point is that if the javascript tasks are long enough, every task will fail.

    --
    Nerd rage is the funniest rage.
  64. Look at older projects by jlcooke · · Score: 1

    http://it.slashdot.org/article.pl?sid=03/12/31/2246241&tid=93

    MD5CRK used a JavaApplet that used this Chinese Lottery concept. The applet performed 95% as fast as a pure C implementation of MD5. JavaScript is another matter however. And an assebly code that inlieved MMX/SSE with ALU was much faster.

    Background threads in browsers will help of course.

  65. Re:Java by Ken_g6 · · Score: 1

    Actually, once upon a time, there was a distributed Java applet, alot like BOINC but in a browser. This particular project was about calculating the emission of gamma rays from nuclear waste.

    It didn't last long, probably about a year or two, but it did get quite a few results.

    --
    (T>t && O(n)--) == sqrt(666)
  66. Re:Why? Why? WHYWHYWHYWHY??? by NoOneInParticular · · Score: 1

    Interesting post, and remember: a double is 55 integer bits.

  67. Computation to data setsize ratio by jak.mang · · Score: 1

    Map reduce is not a good candidate for this type of distribution. We are talking about huge amounts of data that would have to be sent to your browser. The data locality is very important to Google's success. If the computation to data set size is linear or better, and/or it a very large data set, transport of the data swamps any gains. If the computation is much higher than the ratio to the data set, as in folding, then you have a win. Google's scalable approach to adding a another, cheap CPU along with another box full of storage scales nicely. Their real goal is adding redundant, replaceable storage on a massive scale, right-sized with the CPU power for computation and communication. If that CPU is not near the data, it won't work. On another front, if you have ever done anything large in browser javascript, you might have noticed that memory management is not that great. Perhaps it is getting better. Lastly, javascript is a great tool and easy to program. If you have a really intensive job, the expense of that job should justify the proper engineering resources to move the problem computationally as close to the hardware (CPU, main memory) as possible. This might suggest C, assembler, etc.

    1. Re:Computation to data setsize ratio by jak.mang · · Score: 1

      Oh, and I forgot to mention that with HTTP, you will have to poll for work and initiate another connection to submit a result.

  68. Re:Why? Why? WHYWHYWHYWHY??? by wirelessbuzzers · · Score: 1

    More or less, yes. If both types of resources are abundant, and X resources are more efficient to use, then there's no reason to use Y resources... just focus your effort on getting more X resources. This is why most groups just run their stuff on a cluster, rather than dealing with the development, hosting, marketing and distribution of a folding@home type project.

    --
    I hereby place the above post in the public domain.
  69. Re:Why? Why? WHYWHYWHYWHY??? by wirelessbuzzers · · Score: 1

    Why have you assumed the javascript user ran the site for 5 hours a day for a week, but that the installed .exe user ran it for a year?

    Because user attention is a scarce resource. If the user has to open your application for it to run, it will not run as often.

    And are you sure that modern browsers on multicore machines don't let multiple JS threads run on different cores?

    No, although with the exception of Safari 4, no browser with worker threads is even out of beta.

    In which case, I would find it easy to believe that for every one slashdotter who would install a distributed computing node, there would be at least 500 who would leave a /. window open while they're at work (and possibly have another one open at work).

    Perhaps for a while, but I think the novelty of this would wear off quickly. Like I said, attention is a scarce resource.

    --
    I hereby place the above post in the public domain.
  70. Then i'll quit by szundi · · Score: 1

    When the world starts massive computing using javascript, I think I quit IT. :)

  71. Re:Why? Why? WHYWHYWHYWHY??? by rtfa-troll · · Score: 1

    That sounds like a pretty serious environmental disaster. Computers are already a noticeable user of power. If big problems are being solved so inefficiently then that will get much worse.

    --
    =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  72. Re:Why? Why? WHYWHYWHYWHY??? by wirelessbuzzers · · Score: 1

    As for having only doubles, that is true for the language, but not for engines, which can implement an integer type as well.

    True enough. But the fundamental problem remains: the more information is available statically, the better you can compile it. Javascript has relatively little information available statically, and so is hard to compile.

    --
    I hereby place the above post in the public domain.
  73. Re:Why? Why? WHYWHYWHYWHY??? by kripkenstein · · Score: 1

    True enough. But the fundamental problem remains: the more information is available statically, the better you can compile it. Javascript has relatively little information available statically, and so is hard to compile.

    Emphasis mine.

    JavaScript, as a dynamic language, can't be statically compiled - just as you say. But, at runtime a lot more information is available (in fact, perhaps more than at compile time with a static language). That information is used by modern JavaScript engines, e.g., TraceMonkey utilitizes Trace Trees to optimize such things. So it can detect that a loop iterates over an integer value - even though that isn't obvious from looking at the code - and generates native code for that.

    Static information does make compilation optimizations easy, but isn't necessary for performance, if you have a suitably sophisticated runtime environment - which we are now finally starting to have.

  74. Re:Waste of electricity - Javascript harms the Ear by badkarmadayaccount · · Score: 1

    You do realize that that sounds insightful, and not sarcastic/funny to some of us? Mod parent up, BTW.

    --
    I know tobacco is bad for you, so I smoke weed with crack.