中国科学技术大学计算机系 国家高性能计算中心(合肥)

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

乌鲁木齐市高级中学 杨帆 2.2 用样本估计总体 2.2.1 用样本的频率分布估计总体分布 第一课时.
1 教師敘薪 Q & A 教師敘薪 Q & A 新竹縣立新湖國中 陳淑芬 新竹縣立自強國中 楊美娟
103 學年度縣內介聘申請說明會 南郭國小 教務主任張妙芬.  重要作業日程 : 1 、 5/1( 四 ) 前超額學校 ( 含移撥超額 ) 備文函報縣府教 育處輔導介聘教師名單 2 、 5/7( 三 ) 超額教師積分審查( 9 : : 00 、 13 : : 00 )。 3.
2007 年 6 月 楚雄师范学院计科系 离 散 数 学 第三章 逻辑代数 ( 上 ) 命题演算.
人文行動考察 羅東聖母醫院 老人醫療大樓 吳采凌 黃玨宸 劉映姍 陳嫚萱.
焦點 1 陸域生態系. 臺灣的陸域生態系 臺灣四面環海 黑潮通過  高溫, 雨量充沛 熱帶, 亞熱帶氣候.
多喝白開水, 健康水噹噹 中原食品營養師 張瑋真 前 言 小明今年九歲, 就讀中原國小, 他每天早上都會去 學校附近的早餐店, 買早餐來吃, 他通常都會吃 三明治或蛋餅, 而且都會搭配一杯奶茶或是紅茶, 才會滿足的去學校上學。 中午放學回家後, 也會在路上的便利商店, 買一罐 運動飲料或是綠茶解渴。
十一章 发酵过程的实 验室研究、中试和放大. 本章重点 一、工业发酵过程研究的阶段及各阶段的 研究内容 二、实验室研究的目的及主要内容 三、了解最优化实验设计的方法 四、发酵规模缩小与放大的准则及方法.
景美樣品房工程變更 / 追加請款 / 說明 102/08/09 樣品房停工 102/10/10 樣品房完工 102/09/26 向工務部提出 追加工程估價單 102/10/25 經工務部審核 轉送採發部門 102/09/03 工地會議 確認後續施工方式 102/11/ /11/ /12/09.
統計之迷思問題 保險 4B 張君翌. 迷思問題及教學者之對策 常見迷思概念教學者之對策 解題的過程重於答案 例 : 全班有 50 位同學,英文不及格的有 15 人,數學不及格的有 19 人,英文與 數學都及格的有 21 人。請問英文與數 學都不及格的有幾人? 老師常使用畫圖來解決這樣的問題,英文和.
社團法人台南市癲癇之友協會 講師:王乃央老師
2010高考科学备考策略 夯实基础 抓纲织网 掌握技巧 提高能力 辽宁省实验中学 徐广宇 2010年9月13日.
物理治療師之僱傭關係 九十二年四月十二日.
二、開港前的經濟發展 (一)土地開墾和農業發展 1.漢人移民的遷徙與拓墾 (1)遷徙 A.居住區 a.泉州人最多:沿海
設計新銳能量輔導 實習期中感想 實習生:賴美廷 部落格:TO13004.
第三節 亞洲的反殖民化運動 本節學習重點 1.了解中華民國成立後的發展 2.明白日本殖民臺灣與朝鮮的異同 3.學習印度在二十世紀初期的表現
日本的〈地獄劇〉 與 中國的〈目連戲〉.
授課教師:羅雅柔 博士 學員:吳沛臻/邱美如/張維庭/黃茹巧
營利事業所得稅查核準則 相關概念介紹 南區國稅局 新營分局 林俊標 各位學員大家好:
民主政治的運作
教育與學習科技學系 103學年度課程說明 103年9月2日.
國有不動產撥、借用法令與實務 財政部國有財產局 接收保管組撥用科 蔡芳宜.
情緒與壓力管理 手部舒壓運動 第六組.
105年度「產業園區廠商競爭力推升計畫」 產業園區專案輔導計畫申請說明(草案)
校园信息管理系统 河北科技大学网络中心 2000/4/10.
明代開國謀臣 劉伯溫 組員:吳政儒 林天財 王鈴秀 陳冠呈 施典均 李孟儒.
中國宦官 鄭永富 鄭雅之 莊尉慈.
如何培養你的道德風度? 什麼是公德心? 何謂自覺運動? 好心被雷劈?
約用工讀生/學生助理說明會 人事室報告
簡報大綱 壹、親師溝通 貳、學生不當行為的處理 參、學生輔導 肆、個案研討分析.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
指導教授:古錦松 分享同學: 蔡斗溍、陳姿云 陳俊仰、陳國睿(助教)
學 號:997I0010、997I0024 組 員:洪韋鈴、王婷婷 日 期: 指導老師:王立杰 老師
貨物稅稅務法令介紹 竹東稽徵所.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
全球暖化 想知道全球暖化的嚴重性嗎? 那就繼續看下去吧!! 組員:陳儀君60524 蘇鈺祺60526 于玉琳60528 林宥嫻60521.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
九年一貫課程綱要微調 健康與體育領域召集人 「課綱微調轉化」研習
公私立大學特色介紹 (以第二類組為主) 報告人:吳婉綺.
五-4 台灣的生活禮俗 組員:603 15號 黃醴萬 6號 吳家熙 5號 楊証傑 11號 李偉新.
危險情人的特徵 危險情人的特徵.
機關團體所得稅申報實務 中區國稅局苗栗縣分局第一課林天琴.
公司法(六) 股份有限公司 1.
电介质材料的介电常数及损耗的温度特性.
水土保持法中「連續處罰」及「限期改正」制度之法律研究
國有公用財產管理及被占用處理暨活化運用法規與實務(含座談) 104年度教育部暨部屬機關學校總務人員研習會-不動產管理班
行行重行行,與君生別離。 相去萬餘里,各在天一涯。 行行重行行:走了一程又一程 生別離:在有生之年分離 語出楚辭:「悲莫悲兮生別離,
解题报告 刘非.
提升國民小學教師健康教育專業能力三年計畫
中国科学技术大学计算机系 国家高性能计算中心(合肥)
第二部分 分布式算法 汪炀 第二次课 中国科学技术大学计算机系 国家高性能计算中心(合肥)
第二部分 免疫系统与免疫活性分子 第二章 免疫系统 第三章 免疫球蛋白 第二 部分 第五章 细胞因子 第四章 补体系统.
臺南市104年度第二期 社區生活營校園輔導活動說明會
暴力、草莽、土野、情色、權慾 —華西街的成人童話
馬公高中100學年101大學博覽會 專題演講 演講主題 如何選填適合自己的大學科系
刑事訴訟法 不受理.
性騷擾防治宣導.
創業環境分析與 風險評估 赫斯提亞負責人:謝馥仲先生 主講 演講時間 : 2008/05/01.
葉脈標本的創意製作.
微信商城系统操作说明 色卡会智能门店.
98年度兒童課後照顧學程 修課名單確認暨課程說明會 2009/09/15(二) 08:40~09:20.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
中国科学技术大学计算机系 国家高性能计算中心(合肥)
第二部分 分布式算法 汪炀 第二次课 中国科学技术大学计算机系 国家高性能计算中心(合肥)
第一章 十九世紀的民族主義.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
手机淘宝“变形”产品—微淘 操作流程指南 (内测版).
解题报告 七(5)班 严崟杰 03:20.
Presentation transcript:

中国科学技术大学计算机系 国家高性能计算中心(合肥) 第二部分 分布式算法 第五次课 中国科学技术大学计算机系 国家高性能计算中心(合肥)

第三章 环上选举算法

本章提纲 Leader选举问题 匿名环 异步环 同步环

在一组处理器中选出一个特殊结点作为leader 用途 问题 在一组处理器中选出一个特殊结点作为leader 用途 简化处理器之间的协作; 有助于达到容错和节省资源。 例如,有了一个leader,就易于实现广播算法 代表了一类破对称问题。 例如,当死锁是由于处理器相互环形等待形成时,可使用选举算法,找到一个leader并使之从环上删去,即可打破死锁。

§3.1 leader选举问题 Leader选举问题: 问题从具有同一状态的进程配置开始,最终达到一种配置状态。每个处理器最终确定自己是否是一个leader,但只有一个处理器确定自己是leader,而其他处理器确定自己是non-leader。 算法的作用: 如果要执行一个分布式算法,且没有一个优先的优选人做为算法的初始进程,就要进行进程选举。(例如指定根的DFS树的生成问题)

§3.1 leader选举问题 选举算法的定义: 一个算法解决了leader选举问题需满足(根据形式化模型): (1)每个处理器具有相同的局部算法; (2)算法是分布式的,处理器的任意非空子集都能开 始一次计算; (3)每次计算中,算法达到终止配置。在每一可达的 终止配置中,只有一个处理器处于领导人状态,其 余均处于失败状态。 一个算法解决了leader选举问题需满足(根据形式化模型): 终止状态被划分为两类:选中和未选中状态。一旦一个处理器进入选中(或未选中)状态,则该处理器上的转换函数将只会将其变为相同的状态; 在每个容许执行里,只有一个处理器进入选中状态,其余处理器进入非选中(non-selected)状态。 本章只讨论系统的拓扑结构是环的情况。 (此项有时可以弱化)

§3.1 leader选举问题 环的形式化模型 对每个i,0≤i ≤n-1, Pi到Pi+1的边标号为1,称为左(顺时针) 这里的标号加减均是mod n的 环网络之所以吸引了 如此多的研究,是因 为它们的行为易于描 述;且从环网络推导 出的下界,可应用于 具有任意拓扑结构的 网络算法设计

§3.2 匿名环(anonymous) 匿名算法:若环中处理器没有唯一的标识符,则环选举算法是匿名的。更形式化的描述:每个处理器在系统中具有相同的状态机,在这种算法里,msg接收者只能根据信道标号来区别。 (一致性的)uniform算法:若算法不知道处理器数目,则算法称之为uniform,因为该算法对每个n值看上去是相同的。 non-uniform算法:算法已知处理器数目n 形式化描述:在一个匿名、一致性的算法中,所有处理器只有一个状态机;在一个匿名、非一致性的算法中,对每个n值(处理器数目)都有单个状态机,但对不同规模有不同状态机,也就是说n可以在代码中显式表达。

§3.2 匿名环(anonymous) 对于环系统,不存在匿名的选举算法。 为简单起见,我们只证明 非均匀(非一致性)算法:非均匀算法(n已知)的不可能性=>均匀(n未知)算法的不可能性。Ex3.1 证明同步环系统中不存在匿名的、一致性的领导者选举算法。 同步算法:同步算法的不可能性=>异步算法的不可能性。(同步是异步的一种特例) Ex3.2 证明异步环系统中不存在匿名的领导者选举算法。

§3.2 匿名环 一个处理器的初始状态包括在outbuf里的任何msg。这些消息在第一轮里被传递到某处理器的左和右邻居。 不可能性: 同步算法的不可能性 在同步系统中,一个算法以轮的形式进行。每轮里所有待发送msg被传递,随后每个处理器进行一步计算。 一个处理器的初始状态包括在outbuf里的任何msg。这些消息在第一轮里被传递到某处理器的左和右邻居。 不可能性: ①在一个匿名环中,处理器间始终保持对称,若无某种初始的非对称(如,标识符唯一),则不可能打破对称。在匿名环算法里,所有处理器开始于相同状态。 ②因为他们执行同样的程序(即他们的状态机相同),在每轮里各处理器均发送同样的msg,所以在每一轮里各处理器均接收同样的msg,改变状态亦相同。 因此,若选中一个处理器,则其他所有处理器亦被选中。因此,不可能有一个算法在环中选中单个处理器为leader。

§3.2 匿名环 假设R是大小为n>1的环(非均匀),A是其上的一个匿名算法,它选中某处理器为leader。因为环是同步的且只有一种初始配置,故在R上A只有唯一的合法执行。 Lemma3.1 在环R上算法A的容许执行里,对于每一轮k,所有处理器的状态在第k轮结束时是相同的。 Pf. 对k用归纳法 K=0(第一轮之前),因为处理器在开始时都处在相同的初始状态,故结论是显然的。 设引理对k-1轮成立。因为在该轮里各处理器处在相同状态,他们都发送相同的消息mr到右边,同样的消息ml到左边,所以在第k轮里,每处理器均接收右边的ml ,左边的mr 。因此,所有处理器在第k轮里接收同样的消息,又因为它们均执行同样的程序,故第k轮它们均处于同样的状态。

§3.2 匿名环 上述引理蕴含着:若在某轮结束时,一个处理器宣布自己是leader(进入选中状态),则其它处理器亦同样如此,这和A是一个leader选举算法的假定矛盾!因此证明: Th3.2 对于同步环上的leader选举,不存在非均匀的匿名算法。 + + 同步环→异步环 非一致性→一致性算法 ↓↓ 对于环系统,不存在匿名的选举算法

§3.3 异步环 本节将讨论异步环上leader选举问题的msg复杂性上下界。 由Th3.2知,对环而言没有匿名的leader选举算法存在。因此以下均假定处理器均有唯一标识符。 当一个状态机(局部程序)和处理器Pi联系在一起时,其状态成分变量idi被初始化为Pi的标识符的值,故各处理器的状态是有区别的。 环系统:通过指派一个处理器列表按顺时针(从最小标识符起)指定环。注意是通过id排列,不是通过Pi的下标i来排列(0≤i≤n-1),假定idi是Pi的标识符。(因为下标i通常是不可获得的)

§3.3 异步环 下界 在非匿名算法中,均匀(一致性)和非均匀(非一致性)的概念稍有不同 均匀算法:每个标识符id,均有一个唯一的状态机,但与环大小n无关。而在匿名算法中,均匀则指所有处理器只有同一个状态。(不管环的规模如何,只要处理器分配了对应其标识符的唯一状态机,算法就是正确的。) 非均匀算法:每个n和每个id均对应一个状态机,而在匿名非均匀算法中,每个n值对应一个状态机。(对每一个n和给定规模n的任意一个环,当算法中每个处理器具有对应其标识符的环规模的状态机时,算法是正确的。) 下面将讨论msg复杂性:O(n2)→O (nlogn) →Ω(nlogn) §3.3.1 一个O(n2)算法 Le Lann、Chang和Roberts给出,LCR算法 基本思想 每个处理器Pi发送一个msg(自己的标识符)到左邻居,然后等其右邻居的msg 当它接收一个msg时,检验收到的idj,若idj>idi,则Pi转发idj给左邻,否则没收idj(不转发)。 下界

§3.3.1 一个O(n2)算法 若某处理器收到一个含有自己标识符的msg,则它宣布自己是leader,并发送一个终止msg给左邻,然后终止。 当一处理器收到一个终止msg时,向左邻转发此消息,然后作为non-leader终止。 因为算法不依赖于n,故它是均匀的。 i—表示id 单向

§3.3.1 一个O(n2)算法 Code for Pi init var: asleep←true, id ←I Begin While (receiving no message) do (1) if asleep do (1.1) asleep←false (1.2) send <id> to left-negihbor end if End while While (receiving <i> from right-neighbor) do (1) if id<<i> then send <i> to left-neighbor (2) if id=<i> then (2.1) send <Leader,i> to left-neighbor (2.2) terminates as Leader While (receiving <Leader,j> from right-neighbor) do (1) send <Leader,j> to left-neighbor (2) terminates as non-Leader end

§3.3.1 一个O(n2)算法 分析 正确性 在任何容许执行里,只有最大标识符idmax不被没收,故只有具有idmax的处理器接受自己的标识符并宣布是leader,其他处理器不会被选中,故算法正确。 msg复杂性 在任何容许执行里,算法绝不会发送多于 O(n2)个msgs,更进一步,该算法有一个容许执行发送O(n2)个msgs: 17 17

§3.3.1 一个O(n2)算法 考虑处理器标识符为0,1,…,n-1构成的环,其次序如右图: 在这种配置里,id=i的处理器的msg恰好被发送i+1次,即发送到i-1,i-2,…,1,0,直到n-1时没收。因此,msg总数为: 18 18

仍然是绕环发送id,但使用更聪明的方法。保证最大id在环上周游且返回。 §3.3.2 一个O(nlgn)算法 仍然是绕环发送id,但使用更聪明的方法。保证最大id在环上周游且返回。 k邻居 一个处理器Pi的k邻居是一个处理器集合:该集合中的任一处理器与Pi在环上的距离至多是k,一个处理器的k-邻居集合中恰好有2k+1个处理器。 k=3,共有7个结点 19 19

§3.3.2 一个O(nlgn)算法 基本思想 算法按阶段执行,在第l阶段一个处理器试图成为其2l-邻接的临时leader。只有那些在l-th阶段成为临时领袖的处理器才能继续进行到(l+1)th阶段。因此,l越大,剩下的处理器越少。直至最后一个阶段,整个环上只有一个处理器被选为leader。 具体实现 phase0: 每个结点发送1个probe消息(其中包括自己的id)给两个1-邻居,若接收此msg的邻居的id大于消息中的id,则没收此msg;否则接收者发回一个reply msg。若一个结点从它的两个邻居收到回答msg reply,则该结点成为phase0里它的1-邻居的临时leader,此结点可继续进行phase1。 20 20

§3.3.2 一个O(nlgn)算法 phase l:在l-1阶段中成为临时leader的处理器Pi发送带有自己id的probe消息至它的2l邻居。若此msg中的id小于左右两个方向上的2*2l个处理器中任一处理器的id,则此msg被没收。若probe消息到达最后一个邻居而未被没收,则最后一个处理器发送reply消息给Pi,若Pi从两个方向均接收到reply消息,则它称为该阶段中2l邻居的临时leader,继续进入下一阶段。 终止:接收到自己的probe消息的结点终止算法而成为leader,并发送一个终止msg到环上。 21 21

§3.3.2 一个O(nlgn)算法 控制probe msg的转发和应答 probe消息中有三个域:<prob, id, l, hop> id-标识符 l-阶段数 hop-跳步计数器:初值为0,结点转发probe消息时加1. 若一结点收到的probe消息时,hop值为2l,则它是2l邻居中最后一个处理器。若此时msg未被没收也不能向前转发,而应该是向后发回reply消息。 22 22

§3.3.2 一个O(nlgn)算法 var asleep init true; upon receiving no msg: 算法:Alg3.1 异步leader选举 var asleep init true; upon receiving no msg: if asleep then{ asleep:=false;//每个结点唤醒后不再进入此代码 send<probe, id, 0, 0> to left and right; } upon receiving <probe, j, l, d> from left (resp, right): if(j=id) then //收到自己id终止,省略发终止msg terminate as the leader; if(j>id) and (d<2l) then //向前转发probe msg send <probe, j, l, d+1> to right (resp, left) 23 23

§3.3.2 一个O(nlgn)算法 if(j>id) and (d≥2l)then//到达最后一个邻居仍未没收 send <reply, j, l > to left(resp, right) // 回答 //若j<id, 则没收probe消息 upon receiving <reply ,j , l> from left (resp, right): if j≠id then send<reply, j, l> to right (resp, left); //转发reply else //j=id时,Pi已收到一个方向的回答msg if already received <reply, j, l> from right (resp, left) then//也收到另一方向发回的reply send <probe, id, l+1, 0> to left and right; //Pi是phase l的临时leader,继续下一阶段 24 24

§3.3.2 一个O(nlgn)算法 分析 正确性:因为具有最大id的处理器的probe消息是不会被任何结点没收的,所以该处理器将作为leader终止算法;另一方面,没有其他probe消息能够周游整个环而不被吞没。因此,最大id的处理器是算法选中的唯一的leader。 msg复杂性(最坏情况下) 在phase l 里: 一个处理器启动的msg数目至多为:4*2l 有多少个处理器是启动者呢? - l =0,有n个启动着(最多) -l≥1,在l-1阶段结束时成为临时leader的节点均 是启动者 25 25

§3.3.2 一个O(nlgn)算法 Lemma 3.3 对每个k≥1,在phase k结束时,临时leader数至多为n/(2k+1). pf: 若一结点Pi在k阶段结束时是一临时leader,则在Pi的2k-邻居里每个结点的id均小于Pi的id。 在该阶段里,距离最近的两个临时leader Pi和Pj必满足: Pi的2k邻居的左边恰好Pj的2k-邻居的右边,即Pi和Pj之间有2k个处理器。 因此,在phase k里临时leader的最大数目必是以上述方式分布的,因为每2k+1个结点至多有一个临时leader,所以leader数至多是n/(2k+1). 26 26

§3.3.2 一个O(nlgn)算法 Th3.4. 存在一个异步的leader选举算法,其msg复杂性为O(nlgn). Pf: 由lemma3.3知,知道phase lg(n-1)时只剩下一个leader(最后的leader). msg总数: i) phase 0: msg数为4n. ii)终止msgs:n. Note: 双向通信. 该msg复杂性的常数因子不是最优的. 27 27

下次继续!