Hi Daniel
Good question -- and we have to work on the question some more in order to get a reasonable comparison.
Since matter is concurrently active at the subatomic level, the more mass we have the more concurrent activities -- so the Internet wins here because it has much more mass.
Things get a lot more tricky at the "cell mechanics" level. Typical human body cells have about 80 billion large molecules of about 10,000 types (the other 70% is water and other small molecules), and these are concurrently active.
There are several billion computers on the Internet (plus many nuts and bolts computers such as routers) and we can guess that most of these have a few hundred processes each (and each with some number of threads) -- all of which are pseudo-concurrent (it's really how many CPU type things are operating).
So at the hardware level with real CPU like things, there are likely ~ 10 in each computer, and now more with multiples cores, so that gives us an estimate of around 20 billion real concurrent processes not counting routers and other infrastructure.
If we count pseudo-processes (which are logically concurrent), then I think in the Internet we've exceeded a single cell at the active large molecule as a process level of concurrency.
We have about 10 Trillion cells in our body that have our DNA (and about 90 Trillion that are microorganisms of many different kinds).
I think we are safe to say that the concurrent activities in one human body completely dominate the Internet.
However, I have not looked below the CPU level to processes at the hardware level .... perhaps you'd like to take a shot at estimating that!
Cheers,
Alan
Hi Alan,
thanks for your detailed answer. I really appreciate that you took the time to think about this. I came up with this question when thinking about concurrency (maybe also parallelism and message passing) as measurement unit for complex systems. There is no measurement unit for concurrency, I think. But its quite hard to define one, just like comparing the incomparable :-).
...
I also tried to google the answer to this question but since I am a software engineer and only a hobbyist in biology, I wasn't quite sure if I can count all proteins as concurrently active entities or if I should only count ribosomes, motor proteins etc. as concurrently active. On the internet I found that there are about 15.000 ribosomes in one single cell. If only counting ribosomes (which I think is not correct) would reduce the concurrency within a human body cell enormously. Hard to compare...
Thank you very much and best regards,
Daniel
Hi Daniel
I think it is hard to compare -- but mainly for "level" not for estimating how many entities are actually "in process" concurrently.
Cheers,
Alan
Really impressive, isn't it? And we software engineers think that today's multi-core computers provide concurrency and parallelism. |-O
Be aware that with concurrency as measurement unit for complex systems I really mean complex systems and not complicated or complected systems (as Rich Hickey explains in Simple Made Easy).
ReplyDeleteErlang, the unintentional Neural Network Programming Language
ReplyDelete