How fast is an HTML5 Supercomputer?

One question we get asked very often is how fast a supercomputer made entirely of web browsers is. Given that GFLOPS are relatively meaningless to most people, we often compare to how fast something would run locally, or on AWS.

In one example, we ran a Monte Carlo Pi estimation on:

  • Intel Core i7 2600 Laptop
  • AWS’s cc2.8xlarge compute optimized instances (88 ECUs)
  • CrowdProcess (at 8900 workers)

The laptop used one node.js process, the cc2.x8large instance used Hadoop, and CrowdProcess obviously used Web Workers in a diversity of browsers.

Results, in millions of tasks per second (each task was composed to 200M trials):

image

With CrowdProcess at full power, the platform performed the equivalent number of calculations to 4750 cores of i7 processors, or 3350 cc2.8xlarge AWS instances (294.800 ECUs) .

image

Not surprisingly, CrowdProcess at full power easily beats the compute nodes, what is surprising however is how well each browser does. The laptop is running on a single thread, and each browser node is getting around 50% of that speedup.

A major caveat is in the random number generators, as the browsers lack uniformity in the way the produce random numbers, and certainly produce them differently from the Java implementation we ran on AWS. This can make the results biased towards the JavaScript run.

A fairer comparison should have all nodes running the same random number generator, and run more than one algorithm (these were pure Monte Carlo Runs). More comparisons to follow.

Naturally, there is always the case for GPUs, and we are aware that any Telsa could beat all of these numbers. It should be noted however that the vast majority of developers only know how to write code for CPUs. Besides the vast majority of languages being easier and simpler to write than OpenCL, Javascript is even simpler than tons of other languages (go ahead and try our Playground) which makes it an extremely popular language. And the best part, it’s quite fast.

In a while, we intend to start looking into the potential to use WebCL on CrowdProcess, that will make it more competitive with GPGPU computing. For now, we are very happy to see how fast it is compared to all accessible alternatives. 

As always, we invite you to run your own tests and benchmarks by registering on the CrowdProcess platform!