pnrjulius comments on Selling Nonapples - Less Wrong

33 Post author: Eliezer_Yudkowsky 13 November 2008 08:10PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (81)

Sort By: Old

You are viewing a single comment's thread. Show more comments above.

Comment author: mkehrt 03 March 2010 12:04:06AM 5 points [-]

I realize I am way late for this party, but I would like to make a specific theoretical point about synchronous vs. asynchronous communication. It turns out that, given some components or modules or threads or what-have-you communicating via sending messages to one another, synchronous communication is actually more general than asynchronous in the following technical sense. Once can always use synchronous communication to implement asynchronous communication by throwing another module in the middle to act as a mailbox. On the other hand, given only asynchronous communication, it is impossible to implement synchronous communication. Thus, I dearly hope, unlike nazgulnarsil3, that I never see the day where we forget that synchronous communication is strictly more powerful than asynchronous. Moreover, this is not analogous to the wood/nonwood situation where they are entirely different--in fact, in the synchronous/asynchronous situation, one entirely subsumes the other.

This says nothing about that fact that it requires more computing power to encode asynchrony as synchrony (although only linearly more in the number of communication channels). Moreover, it certainly says nothing about central vs. distributed models, which is an orthogonal issue to synchronous vs. asynchronous communication.

Comment author: pnrjulius 27 April 2012 11:18:16PM 0 points [-]

You can FAKE asynchrony with a synchronous system (using threading and such), but you can't really be asynchronous. If the hardware only processes one step at a time, you can't make it process two steps at once!

Comment author: dlthomas 27 April 2012 11:56:13PM 0 points [-]

The parent seems to have been discussing (a)synchronous messaging, whereas you seem to be discussing (a)synchronous computation.