Posts

Showing posts from July, 2013

Easing the programming of distributed systems

One-line summary: control messages are useful

According to the paper entitled "Messaging Design Pattern and Pattern Implementation", the business of sending a message involves four (4) participants: 
Message Sender,Message Recipient (Receiver),Messenger, andMessage. And also according to this document, a message can trigger a cascading effect.

In distributed systems such as Dynamo, Cassandra, or other similar key-value stores, the storage system is distributed. And just like Lustre, clients are distributed too.

A lot of use cases of these key-value storage systems is to prepare content for a customer, in general a web page or something like that. Once the content is prepared, it can be sent to the consumer and the process that prepared it can then discard its local copy of whatever was fetched from the key-value store. For the web, the client of these key-value stores (for example, the worker processes (or threads) of a web server) are not tightly coupled together.

In high …