Event-based and Map_reduce patterns

The Event-based pattern presents the idea of components (announcers, listeners) that share events (signals, notifications) through a medium which registers components to receive events and dispatch those events to the registered parties. The medium should also include a communication fabric and a manager that fits the communication fabric and can do load balancing. The most known uses of this patterns are Windows or X11 GUIs

The Map_reduce pattern aims to hide the details of the parallelism from the programmer when dealing with a large number of computation and summarizing the results. The map reduce pattern solve the problem by applying independently a map function to every object (PLPP pattern, task parallelism) and then using a collective communication pattern to collect and summarize the results (PLPP, reduction). The most famous uses of this pattern are the applications of the map-reduce framework used at Google.

Publicado en CS 527,English,Software Engineering | Sin comentarios

Armstrong Thesis Chap. 2: Fault Tolerant Architectures

According to Armstrong’s thoughts, the architecture for building fault-tolerant systems could be described as follow:

  • Completely modular. Each module must be independent of the other modules and should run in a different process. Of course processes must run in parallel.
  • Provide fault-isolation. Failure in one process should not adversely affect other processes (unless it has been intentionally designed).
  • Communication based on messages: Each process should have a unique identifier, and can communicate each other only using messages. There should be nothing shared among them. Also a communication protocol should exists and the messages passing should be asynchronous.

Armstrong also mentions the fail-stop processor. Such processor should halt on failure (if a failure occurs it is pointless to continue), communicate the cause of the failure to other processors and have both stable and volatile storage.

Publicado en CS 527,English,Software Engineering | Sin comentarios

Sitios de interés