Algoritmo :: vectorclocks.

Generazione di un ordinamento parziale di eventi in un sistema distribuito.
Scarica ora

Algoritmo :: vectorclocks. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Takeru INOUE
  • Sito web dell'editore:
  • http://search.cpan.org/~takeru/

Algoritmo :: vectorclocks. Tag


Algoritmo :: vectorclocks. Descrizione

Generare un parziale ordinamento di eventi in un sistema distribuito. Algoritmo :: VectorClocks è un modulo perl per la generazione di un ordinamento parziale di eventi in un sistema distribuito .synopsis Utilizzare l'algoritmo :: VectorClocks; ### in Server A ### Algoritmo :: VectorClocks-> ID ('A'); My $ VC_A = Algoritmo :: VectorClocks-> Nuovo; $ vc_a-> incremento; Come $ VC_A ++ My $ Serialized_a = $ VC_A-> Serialize; # come "$ vc_a" # Invia un messaggio con $ serializzato_a al server B ### in server B ### Algoritmo :: VectorClocks-> ID ('B'); My $ VC_B = Algoritmo :: VectorClocks-> Nuovo; # Ricevi il messaggio con $ serializzate_a dal server A $ VC_B-> Merge ($ serializzated_a); # Come $ vc_b + = $ serializzato_a $ vc_b-> incremento; My $ Serialized_B = $ VC_B-> Serialize; ### in client ### # recupera $ seriabilized_a e $ seriabilized_b my @res = ordine_vent_vector_clocks ({a => $ serializzato_a, b => $ serialized_a, b => $ serialized_b}); $ res ; # 'B' è l'ultima $ res ; # 'A'Vector Clocks è un algoritmo per generare un ordinamento parziale di eventi in un sistema distribuito. Proprio come in Timestamps Lamport, i messaggi di interfocess contengono lo stato dell'orologio logico del processo di invio. L'orologio vettoriale di un sistema di processi di file n è una serie di orologi logici N, uno per processo, una copia locale è conservata in ogni processo con le seguenti regole per gli aggiornamenti dell'orologio: * Inizialmente tutti gli orologi sono zero * ogni volta un'esperienza di processo Un evento interno, incrementa il proprio orologio logico nel Vector di uno * Ogni volta che un processo si prepara a inviare un messaggio, incrementa il proprio orologio logico nel vettore da uno e quindi invia il suo intero vettore insieme al messaggio inviato * Ogni volta che un processo riceve un messaggio, incrementa il proprio orologio logico nel vettore da uno e aggiorna ciascun elemento nel suo vettoriale prendendo il massimo del valore nel proprio orologio vettoriale e il valore nel vettore nel messaggio ricevuto (per ogni elemento). Requisiti: · Perl.


Algoritmo :: vectorclocks. Software correlato