Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Interestingly the reverse is not true.

If you took all the Bitcoin mining machines and made them work on science and engineering tasks they would produce hardly any meaningful output compared to the Top500 systems. The main reason is that Bitcoin mining is embarrassingly parallell while most technical computing algorithms require large amounts of communication. The difference between a Top500 system and a standard cluster is the interconnect.



The largest share of top500 machines use Gigabit Ethernet (http://www.top500.org/statistics/list/), which is a reasonable indicator of an embarrassingly parallel application. While that's not quite as slow as the public internet, it's possible some of those applications could fare well with increased parallelism to make up for public internet connectivity.

Bitcoin's computational power numbers aren't relevant for another reason though: it's entirely confined to computing sha256, and only in a special way...


What you want to look at is performance share and not system share. By performance share Gigabit Ethernet is just 12.6%. There are a number of Gigabit Ethernet systems but they are not contributing useful work.

There has also been some discussion lately that Rmax, the performance indicator of Top500 has started to diverge from sustained performance. Sustained performance is a general term for actual science produced with a machine as opposed to performing well on the LINPACK benchmark.

Edit: There is also a huge difference running Gigabit Ethernet over short spans as opposed to over the Internet. Latency as opposed to bandwidth is the limiting factor for many algorithms. Light takes a lot less time to travel across the aisle as opposed to across the continent.


What about stuff like decoding human genome? A master just has to give out specific sections to each slave and slaves don't need to communicate with each other. Any number of those "scientific games" type of problems can be solved with the bitcoin mining network machines.


Most institutions that have a real supercomputer also has clusters that are used for tasks that does not need fast interconnect. The reason is that there is quite some tasks that does not need fast interconnection, and for those a cluster is OK, and a cluster costs a fraction of a supercomputer.

Tasks in bioinformatics "decoding human genome" is typically of this type, and are generally performed on clusters, even if a supercomputer is available. Where I used to study, applications for CPU time at the supercomputer for workloads that could run on a cluster was generally rejected, and directed to the clusters instead.


Why is it's parallelism "embarrassing"


It is a common term in concurrency and parallelism that refers to a specific kind of task [1]

[1]http://en.wikipedia.org/wiki/Embarrassingly_parallel


Because being good at embarassingly parallel problems is not something to be particularly proud of - the real, hard problems (for which the supercomputers are needed) can't be so parallelized, and the performance & quality of such systems depend on how well they can handle problems that need much more interdependencies between computing nodes than bitcoin.


"Embarrassingly parallel" is a term used to describe problems that can be easily divided amongst processes and require little to no communication between processes.


Because the payloads are tiny and require almost no coordination compared to many algorithms.

Machines take small work packets and crunch numbers, then pass back results in minutes. For many clusters, various steps of the algorithms require fast messaging for things like MPI.

TL;DR Bitcoin: no coordination during work




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: