Algoritmo de Chandy-Lamport

El algoritmo de Chandy-Lamport es un algoritmo de instantáneas para sistemas asíncronos desarrollado por Leslie Lamport y K. Mani Chandy.

El algoritmo de Chandy-Lamport se utiliza en sistemas distribuidos con el objetivo de obtener una instantánea (conjunto de estados de proceso y canal de comunicación) global y consistente para registrarlo como un estado global consistente. El estado global se construye a partir de la iniciativa de un proceso cualquiera del sistema distribuido (iniciador). El mismo Leslie Lamport recoge en su página web cómo surgió la idea, citando textualmente en su página web personal: "El algoritmo de instantáneas distribuidas que se describe aquí surgió cuando visité a Chandy, que entonces estaba en la Universidad de Texas en Austin. Me planteó el problema durante la cena, pero ambos tuvimos demasiado vino para pensarlo en ese momento. A la mañana siguiente, en la ducha, se me ocurrió la solución. Cuando llegué a la oficina de Chandy, él me estaba esperando con la misma solución."

Consideraciones Previas

Tiempos lógicos y Relojes vectoriales

Ante la imposibilidad de sincronizar perfectamente los relojes en un sistema distribuido, no se puede usar en ellos el tiempo físico para obtener el orden de cualquier suceso que ocurra. Para evitar este problema, Lamport sugiere la utilización de tiempos lógicos para conseguir sincronización. El objetivo es asociar a todos los sucesos una marca de tiempo independiente del reloj físico y poder ordenarlos mediante relaciones “ocurre antes que”. Con tiempos lógicos, si a sucede antes que b, el reloj es menor, pero si el reloj de a es menor que el de b, no implica que a haya ocurrido antes que b. Los relojes vectoriales sí consiguen hacer ciertas ambas suposiciones. Un reloj vectorial para un sistema de N procesos es un vector de N enteros. Cada proceso mantiene su propio reloj vectorial Vi, donde coloca sus propias marcas de tiempo de sus sucesos locales. Para compartirlos, existen 4 reglas básicas para actualizar los relojes:

  • RV1: Inicialmente Vi[j]=0 para j=1, 2, …, N.
  • RV2: Antes de que ocurra un evento en Pi: Vi[i]=Vi[i]+1.
  • RV3: Pi incluye el timestamp t=Vi en cada mensaje que envía.
  • RV4: Cuando Pi tiene un evento de recepción con timestamp t, Vi[j]=max(Vi[j], t[j]) para j=1,2,…,N.

Estado global y cortes consistentes

Un estado global consistente es aquel que corresponde con un corte consistente. Podemos caracterizar la ejecución de un sistema distribuido como una serie de transacciones entre los estados globales del sistema: s0-s1-s2-s3…

Corte consistente: si el evento de recepción de un mensaje está “dentro” del corte, entonces el evento de envío de dicho mensaje también debe estar. Un corte c es consistente si, para cada suceso que contiene, también contiene todos los sucesos que “sucedieron antes que”.

Corte consistente para relojes lógicos vectoriales: Un corte c es consistente si, para cada proceso P, su reloj lógico en ese momento es mayor o igual que los valores que tienen almacenados el resto de procesos del reloj de P.

Precondiciones

El algoritmo supone que:

  • No fallan ni los canales ni los procesos: la comunicación es fiable por lo que todos los mensajes se reciben intactos y una única vez.
  • Los canales son unidireccionales con entrega de tipo FIFO.
  • El grafo de los procesos y canales está fuertemente conectado, hay canal de comunicación directa entre todos los estados.
  • Cualquier proceso puede tomar una instantánea global en cualquier instante.
  • Mientras tiene lugar una instantánea los procesos pueden continuar su ejecución y comunicación.

El algoritmo

El algoritmo utiliza mensajes especiales, llamados ‘mark’, que son distintos a todo el resto de mensajes en el sistema durante su ejecución normal. Estos ´mark´ tienen doble funcionalidad: como aviso para que el receptor guarde su propio estado si no lo ha hecho aún, y como un medio para decidir qué mensajes incluir en el estado del canal.

Pseudocódigo basado en la diferenciación de dos reglas principales: 1) Regla de recepción del mark para el proceso Pi por el canal C:

  Si (Pi no ha registrado su estado todavía)
     Registra su estado de proceso ahora;
     Registra el estado del canal C como vacío;
     Activa el registro de mensajes que lleguen por otros canales 
     entrantes;
  Sino
     Pi registra el estado de c como el conjunto de mensajes que ha 
     recibido 
     sobre c desde que guardó su estado (mensajes posteriores a la 
     instantánea).
  FinSi

2) Regla de envío del mark para el proceso Pi:

  Después de registrar su propio estado, para canal de salida de C, Pi 
  envía un mensaje de instantánea por el canal c

El algoritmo de instantánea selecciona un corte de la historia de la ejecución. El corte, y por tanto, el estado global buscado, es consistente. Para ejemplificar esta afirmación: Sean si y sj sucesos que ocurren en pi y pj respectivamente, tal que si->sj. Afirmamos que si sj está en el corte entonces si también lo está. Esto es, si sj sucedió antes de que pj registrara su estado, entonces si debe haber sucedido antes de que pi registrara el suyo.

Ejemplo

Ejemplo grafico Chandy-Lamport

En un sistema distribuido en el que hay tres procesos, etiquetados como A, B, C, y se quiere registrar las interacciones de mensajes entre ellos. Cada proceso tiene su propio vector de tiempo local con tres componentes.

La siguiente imagen muestra un diagrama de los tres procesos y las comunicaciones entre ellos:

  1. En el evento 1, A realiza una operación local y su vector de tiempo local se actualiza a (1, 0, 0).
  2. En el evento 2, B realiza una operación local y su vector de tiempo local se actualiza a (0, 1, 0).
  3. En el evento 3, C realiza una operación local y su vector de tiempo local se actualiza a (0, 0, 1).
  4. En el evento 4, A envía un mensaje al proceso B. El vector de A se incluye en el mensaje y se actualiza a (2, 0, 0) debido a la operación de envío. B recibe el mensaje, compara su vector (0, 1, 0) con el vector recibido (2, 0, 0) y actualiza su vector a (2, 1, 0).
  5. En el evento 5, el proceso B envía un mensaje al proceso C. El vector de B se incluye en el mensaje y se actualiza a (2, 2, 0) debido a la operación de envío. El proceso C recibe el mensaje, compara su vector de tiempo local (0, 0, 1) con el vector recibido (2, 2, 0) y actualiza su vector a (2, 2, 1).


Tras todas estas operaciones, el resultado final de los vectores de tiempo local de los procesos es:

  • A: (2, 0, 0) B: (2, 2, 0) C: (2, 2, 1)

Referencias

  • Chandy, K. M., & Lamport, L. (1985). Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems (TOCS), 3(1), 63-75.[1] Archivado el 11 de mayo de 2018 en Wayback Machine.
  • Tel, G. (2000). Introduction to Distributed Algorithms (2ª ed.). New York: Cambridge University Press.
  • Coulouris, G. (2001). Sistemas distribuidos: Conceptos y diseños. (P. de la F. Redondo & C. L. Bello, Trads.) (Edición: 3). Madrid: ADDISON WESLEY.
  • Rodrigo Santamaría. Apuntes Sistemas Distribuidos Universidad de Salamanca. | Tema 4 - Tiempos y Estados


Read other articles:

Wikimedia Commons is geweorc underlegd fram þǣre Wicimedian Staðelunge (Wikimedia Foundation). Þis gewrit is stycce. Þu most Wikipædie mid ætiecunge hire helpan.

 

British musician Andrew GiddingsBackground informationBirth nameAndrew GiddingsBorn (1963-07-10) 10 July 1963 (age 60)Pembury, Kent, EnglandGenresProgressive rock, folk rock, hard rock, electronicOccupation(s)Musician, songwriter, producerInstrument(s)keyboardsYears active1980 – presentLabelsChrysalis, EMIMusical artist Andrew Giddings (born 10 July 1963) is an English musician.[1] He primarily plays keyboard instruments and is best known as a former member of British rock grou...

 

Albion Ciudad Iglesia de Albion AlbionUbicación en el Calhoun en Míchigan Ubicación de Míchigan en EE. UU.Coordenadas 42°14′48″N 84°45′12″O / 42.2467, -84.7533Entidad Ciudad • País  Estados Unidos • Estado  Míchigan • Condado CalhounSuperficie   • Total 11.69 km² • Tierra 11.42 km² • Agua (2.28%) 0.27 km²Altitud   • Media 290 m s. n. m.Población (2010)   • Total 8616&...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أكتوبر 2015) قانون تجنيس صوفيا 1705برلمان إنجلتراالاسم الكاملقانون منح الجنسية لصاحبة الأمتياز أميرة صوفيا والناخبة ودوقة هانوفر ومسألة جسدهاتواريختم إلغاءه01 يناير 1949...

 

«End Game» Episodio de The X-FilesTítulo traducido «El juego final» (Hispanoamérica)«Fin de juego» (España)Episodio n.º Temporada 2Episodio 17Dirigido por Rob BowmanEscrito por Frank SpotnitzGuion por Frank SpotnitzCód. de producción 2X17[1]​Duración 45 minutosEmisión 17 de febrero de 1995Estrella(s) invitada(s) Steven Williams como X Peter Donat como William Mulder Brian Thompson como el Cazarrecompensas extraterrestre Megan Leitch como Falsa Samantha Mulde...

 

A7Informasi rutePanjang:963 km (598 mi)Persimpangan besarUjung Utara:Perbatsan Denmark   E 45 Denmark (1) Perlintasan perbatasan Ellund Layanan Ellund (2) Flensburg / Harrislee B 199 Tempat istirahat Handewitter Forst/Altholzkrug 100 m Kreuz Flensburg (rencana) A 205 (3) Flensburg B 200 Treenetalbrücke 200 m (4) Tarp Tempat istirahat Jalmer Moor/Jalm Tempat istirahat Arenholz (5) Schleswig / Schuby B 201 Tempat istirahat Husby (6) Schleswig / Jagel Tempat istirahat Moor/L...

Ч

الحرف السيريلي Ч خط كبير Ч صغير Ч حساب قيمة 90 كتابة كيريلية Ч هو حرف من حروف الأبجدية السيريلية.[1] يقابل هذا الحرف بالعربية الحرف چ أو تش مثل كلمة تشمل.في الروسية هنالك بضعة كلمات قد يظهر فيها الحرف بصورة ش. عند استخدام النظام الروماني لهذا الحرف يظهر بالشكل <Ch> ب...

 

Опис файлу Опис постер серіалу Джерело https://www.imdb.com/title/tt0845088/mediaviewer/rm4183286784 Час створення 2006 Автор зображення Авторські права належать дистриб'ютору, видавцю фільму або художнику цього постера. Ліцензія див. нижче Обґрунтування добропорядного використання для статті...

 

Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Radja album – berita · surat kabar · buku · cendekiawan · JSTOR Untuk grup musik Indonesia bernama sama, lihat Radja. RadjaAlbum studio karya /rifDirilis1 Oktober 1997GenreHard rock, rock alternatifD...

Title designating the supreme leader of an Islamic community This article is about the Islamic title. For the leader of the Taliban, see Supreme Leader of Afghanistan. For the Indonesian footballer named from this title, see Amirul Mukminin. Amir al-Mu'minin (Arabic: أَمِيْر ٱلْمُؤْمِنِيْن, romanized: amīr al-muʾminīn) is a Muslim title designating the supreme leader of an Islamic community. It is usually translated as Commander of the Faithful, though sometimes a...

 

Part of the Korean War Battle of KyongjuPart of the Battle of Pusan PerimeterMen of K Company, US 21st Infantry under mortar attack on Hill 99, September 2.DateAugust 27 – September 12, 1950LocationKyongju, South Korea35°51′N 129°13′E / 35.850°N 129.217°E / 35.850; 129.217Result United Nations victoryBelligerents  United Nations  United States  South Korea  North KoreaCommanders and leaders John B. Coulter John H. Church Kim Hong-il Kim Pa...

 

この項目では、ウイルス感染症について説明しています。原因となるウイルスについては「SARSコロナウイルス2」をご覧ください。 この記事は検証可能性のために医学に関する信頼できる情報源を必要としている、あるいは過度に一次資料に基づいています。可能なら内容を見直し適切な出典を追加してください。信頼性が乏しい記述は、疑問が呈されたり、除去され...

2012 British mystery drama television series Ripper StreetGenre Drama Mystery Created byRichard WarlowStarring Matthew Macfadyen Jerome Flynn Adam Rothenberg MyAnna Buring Theme music composerDominik ScherrerComposerDominik ScherrerCountry of origin United Kingdom United States Original languageEnglishNo. of series5No. of episodes37 (list of episodes)ProductionExecutive producers Greg Brenman Will Gould Simon Vaughan Andrew Lowe Ed Guiney Polly Hill Producers Stephen Smallwood Katie McAleese ...

 

Salib Tau atau Salib Santo Antonius Salib Tau adalah sebuah salib berbentuk T yang terdiri dari tiga ujung.[1] Salib tersebut dinamai demikian karena berbentuk mirip dengan huruf Yunani tau,[2] yang memiliki tampilan yang sama dengan huruf T dalam bahasa Latin dan bahasa Inggris. Nama lain untuk objek yang sama adalah Salib Santo Antonius[3],[4] sebuah nama yang diberikan karena keterkaitannya dengan Santo Antonius dari Mesir. Referensi ^ Merriam-Webster: tau c...

 

Fukaura Station深浦駅Fukaura Station in June 2020LokasiFukaura, Fukaura-machi, Nishitsugaru-gun, Aomori-ken 038-2324JapanKoordinat40°39′00.86″N 139°55′45.74″E / 40.6502389°N 139.9293722°E / 40.6502389; 139.9293722Koordinat: 40°39′00.86″N 139°55′45.74″E / 40.6502389°N 139.9293722°E / 40.6502389; 139.9293722Pengelola JR EastJalur■ Gonō LineLetak dari pangkal66.9 km from Higashi-NoshiroJumlah peron1 island platformJuml...

List of films in which Vadivelu has appeared Vadivelu in Eli's Talking Eli App Launch Press Meet Vadivelu is an Indian actor, comedian and playback singer. Since the 1990s, he has acted mainly as a comedian in Tamil cinema and is renowned for his slapstick comedies. Vadivelu has won the Tamil Nadu State Film Award for Best Comedian five times for his works in Kaalam Maari Pochu (1996), Vetri Kodi Kattu (2000), Thavasi (2001), Imsai Arasan 23m Pulikesi (2006) and Kathavarayan (2008). He has al...

 

2012 single by Amy MacdonaldPrideSingle by Amy Macdonaldfrom the album Life in a Beautiful Light Released13 August 2012Recorded2011GenreIndie pop, folkLength3:22LabelMercury RecordsSongwriter(s)Amy MacdonaldProducer(s)Pete WilkinsonAmy Macdonald singles chronology Slow It Down (2012) Pride (2012) 4th of July (2012) Music videosPride on YouTube Pride is a single release by Scottish recording artist Amy Macdonald; it was released as the second single from her third studio album, Life in a Beaut...

 

Non-profit initiative in NZ (2006–2014) 2008 NZ Book Month logoNZ Book Month was a non-profit initiative started in 2006, with the goal of increasing readership of New Zealand books. It was a nationwide annual event held in September from 2006 to 2008, in October 2009, March from 2010 to 2013, and August 2014. Activities included speeches by local and international authors, literary and poetry readings, exhibitions, book launches, festivals, children's storytelling, blogging, quizzes, and t...

For information about the alula feather, see Alula. AlulaCategoriesOrnithologyFrequencyQuarterlyPublisherAlulaFirst issue1995Final issue2008CountryFinlandBased inTurkuWebsitehttp://www.alula.fi/ISSN1455-9439 Alula was an ornithological magazine published in Turku, Finland.[1] The magazine was published on a quarterly basis.[1] Initially it was published in both Finnish and English, but the final volumes were published in English only. It was aimed primarily at birders with an ...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Mimommata pernauti Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Coleoptera Famili: Cerambycidae Genus: Mimommata Spesies: Mimommata pernauti Mimommata pernauti adalah spesies kumbang tanduk panjang yang tergolong famili...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!