Adam Pisoni: Skynet - A Ruby Map/Reduce Framework

Pisoni illustrates Skynet, a Ruby framework to develop applications with regards to the Map/Reduce model.

Map/Reduce is a programming model aimed at the developing of distributed applications that automatically manage the greater parts of the problems of distributing computing; map/reduce enables you to call into existence parallel applications.

Skynet is a framework for the distributed computing on Ruby (like MapReduce) with some differences: Map/Reduce uses brace types of processes, masters and workers. Skynet only has workers (the role of of the master is that to assign activities divided into tasks.

But out of masters how can we divide the work into tasks? Each worker becomes a principal for a particular job, and takes on the responsibility to divide the work into tasks and assign them.

Each worker observes the others in a way to understand if a task fails. When a task is taken up, it is automatically “copied” in the future, suppose that the performer finishes the task it also cancels the future copied task otherwise it is left for someone else to pick it up.

How does Skynet follow your code?

  mapreduce (users) transact |u| codice end  

To use Skynet you destitution to use the following command:

  skynet_start  

(note: you need to restart skynet each time you modify the code)

Skynet & Rails

Skynet can be used in conjunction with Rails for the following tasks:

  • send forth an e-mail
  • to achieve a migration

Annalisa