TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Erlang's parallelism is not parallelism

39 pointsby donsalmost 14 years ago

6 comments

scott_salmost 14 years ago
He references the post "Parallelism /= Concurrency," which we previously discussed here: <a href="http://news.ycombinator.com/item?id=2457307" rel="nofollow">http://news.ycombinator.com/item?id=2457307</a><p>That was largely a semantic issue, which I responded with:<p>Parallelism: simultaneous calculations executing in the service of a single problem, usually with the goal of improved performance.<p>Concurrency: executions in the same time granularity, but not necessarily simultaneous. Also not necessarily in the service of the same problem, but some form of synchronization is required.<p>What I will add this time is that there are different kinds of parallelism, and I think he's considering "data parallelism" the <i>real</i> parallelism. I think this is a false distinction. What he calls "concurrency," I and others call either task parallelism (for distinct tasks that don't need to communicate much) or pipeline parallelism (for tasks that work on data in stages).
评论 #2727014 未加载
评论 #2727849 未加载
econgeekeralmost 14 years ago
I'm dubious that Haskell is better for writing distributed concurrent systems, but I don't know much about haskell.<p>Rather than bashing erlang like this, I'd have gotten a lot more out of an article that described how Haskell approached the problem, possibly with contrasts to erlang.<p>But when you start off with at best nonsense "erlang's parallelism is not parallelism" you're going to lose people who do know something about erlang.<p>Here's the deal with erlang: The syntax throws some people off. If you will spend a couple hours learning the language (maybe a couple days) you'll start to appreciate the syntax and it will no longer be a problem.<p>Erlang is not as fast as bare metal languages like, say, C, but Erlang is fantastic for making programs in parallel and executing them on multiple cores or nodes or clusters of nodes with multiple cores.<p>I guess I should take the occurrence of these kinds of articles as a sign that Erlang is getting wider acceptance. That's great!<p>But please, cheer your language, don't bash the competition.
评论 #2729495 未加载
评论 #2727963 未加载
ams6110almost 14 years ago
I've read several authoritative books on Erlang and all of them used the term "concurrency" not "parallelism." I'm not sure who's running around saying Erlang provides parallelism.
评论 #2727586 未加载
nivertechalmost 14 years ago
Concurrency - property of systems in which several computational processes are executing at the same time, and potentially interacting with each other.<p>Parallelism - computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel").<p>Go to slide #13 in my presentation:<p><a href="http://www.slideshare.net/nivertech/migrationtomulticore" rel="nofollow">http://www.slideshare.net/nivertech/migrationtomulticore</a><p>Before introduction of SMP VM - Erlang was strictly concurrent, with only ability to write parallelism via distribution (i.e. multi-node systems). With SMP VM you can write single-node parallel code too. Not, that it's the best language for HPC, but you can always call C/C++, Fortran, CUDA/OpenCL from it using NIFs.
ianterrellalmost 14 years ago
tl;dr! A skimming seems to say, "Erlang isn't parallel, but it's parallel! Erlang isn't concurrent, but it's concurrent!"
评论 #2727154 未加载
wladimiralmost 14 years ago
Is there any truly parallel language (that is not simply "multiple sequential threads")?