1e31 Asynchronous - Telecomix Crypto Munitions Bureau

Asynchronous

From Telecomix Crypto Munitions Bureau

Jump to: navigation, search

Something that does not have to have "immediate" response, but sometimes has immediate response.

Examples:

  • Sending a message to a process and receive the reply 0.0001 to 30 seconds later.
  • Sending a message to a process and not receiving a reply at all.
  • Feeling the pain 40 minutes after you got stabbed in the arm.
  • Feeling the pain before you get stabbed in the arm.
  • Feeling the pain without ever getting stabbed in the arm.
  • Feeling no pain despite being stabbed in the arm.

Compare with synchronous.

[edit] Actually..

The above is wrong. Its just there to make it easier to think about it.

Asynchronous means that there is no common agreement upon in which order events occured. It often means that most participants will just make their best at doing their work as quickly as possible. Its perfect for decentralized and distributed systems that does not have any centralized systems for keeping track of anything.

An asynchronous system has no or only vague notion of cause and effect.

[edit] No shared state?

(Notice: This section is made up. Everyone else seems to define asynchronous as the opposite of synchronous, which I find a bit lacking.)

Asynchronous often means that no state has to be shared between two systems or that the state of a system does not need to be exactly the same at all "locations". (If the state is distributed over multiple servers, multiple potentially different versions of the state will exist. Each server would be a "location".)

In a distributed hash table, it is enough to know that it is "highly probable" that a key-value has been stored for the hash table to function. The protocol can be made entirely stateless, and the system has a "probable state".

[edit] Examples

  • A web server that just serves some static web pages to a huge number of users only has to reply with the same web page to all users. No state has to be shared with the users client software.
  • A kademlia node that just tries it best at replying to the requests it receives. As long as at least one of the nodes receives a message and replies, it works.

[edit] See also

Personal tools
0