Chapter 2 Background
2.3 Individual Wavelength Switching and Photonic Slot
在我們所研究的環狀光纖網路中,每個 node 的架構依 cost 的考量可 採用 IWS[5] (Individual Wavelength Switching) node 以及 PSS (Photonic Slot Switching) node 兩者架構。
簡單來說,IWS 將每個 wavelength 視為單獨的個體來處理且每個 wavelength 均由固定長度的 packet 所組成且稱一個 packet 的時間長度為一 個 time-slot,故在每個 node 均需有 de-multiplexing 及 multiplexing 的動作,
且每個 wavelength 需個別去作 switch 且分別處理每個 wavelength 上所載 packet 的 header,如此一來因為需使用到 wavelength-sensitive 的元件來處 理故其在 cost 上的成本會較高; 不過由於 IWS 只要該 wavelength 所載的 packet 確實被接收後便可將該 wavelength 清空再使用,故可達到 Spatial Reuse 的目的進而使得頻寬的使用率較好。如
Figure 9
所示, node 1 使用Fig. 9: Spatial Reuse of IWS node
在我們這邊所考慮的 Photonic Slot Switching (PSS)是根據 Photonic Slot Routing (PSR)[5, 6, 7, 8, 9 and 10]的架構去作修改,因此我們先對 PSR 作一個簡介。PSR 是 time-slotted 但 data 以 Photonic Slot 的方式傳送,每 個 Photonic Slot 具有固定的長度且由所有可用的波長所組成; 且在 Photonic Slot 裡每個波長所載的 packet 之 destination node 均必須相同,故 我們可將每個 Photonic Slot 視為單一且不可分割的個體去處理,而在每個 intermediate node 僅 需 針 對 該 Photonic Slot 去 作 交 換 而 不 需 經 由 de-multiplexing 以及 multiplexing 的動作,且亦不需針對每個 packet 的 header 去作處理,故僅需利用 wavelength-insensitive 的元件即可達成,如 此一來在 cost 上的成本可以有效降低; 然而由於 PSR 在 destination 上的
constrain,會使得在頻寬上的使用率降低。如
Figure 10
所示,node 1 使用λ
1將 packet 傳送至 node 5,且因為此 packet 為該 Photonic Slot 所放入的第 一個 packet,故決定此 slot 之 destination node 為 node 5; 而當該 slot 抵達 node 3 時,node 3 欲使用λ
2將 packet 傳至 node 3,可是因為與該 slot 之 destination node 不同,故該 packet 無法載上該 slot 而造成頻寬的浪費; 當 該 slot 抵達 node 4 時,node 4 所產生之 packet 欲傳送之 node 5,故其可以 使用λ
2將 packet 載入,最後當該 slot 抵達 node 5 後再由 node 5 作 Slot Erasing 的動作。Fig. 10: Destination constrain of PSR
為了提高 PSR 的頻寬使用效率,因此我們在這篇論文所採用的 PSS 是
將 destination 的 constrain 拿掉,亦即當有 packet 需要傳送時,只要確定該 wavelength 仍可使用即可將 packet 載入且途中所經過的 intermediate node 只 需利用 slot copying 的功能將該 slot 複製下來再解開自己所需的波長,而當 確定該 slot 所有載入的 packet 均已被接受過後,再由最後一個 node 負責作 slot erasing 的動作。如
Figure 11
所示,node 1 將傳送至 node 4 的 packet 以λ
1載入,當該 slot 抵達 node 2 時,因為此時已沒有 destination 的 constrain,故 node 2 可以將其欲傳送至 node 5 的 packet 以
λ
2載入該 slot,而當 slot 抵 達 node 4 時,便可利用 slot copying 的功能將該 slot 複製下來且 node 4 亦可 解出欲傳給自己的 packet,最後當 slot 將 node 2 傳送的 packet 送抵 node 5 時,再由 node 5 將該 slot erase。Fig. 11: PSS (removal of destination constrain)
整體而言,因為 IWS 具有完全的 Spatial Reuse 功能,故它在頻寬的使 用率上較 PSS 來的好,但是在硬體上所需的 cost 也較高; 反之,在此我們 所提到的 PSS 即使有些波長所載的 packet 已被接收過了,但是因為我們將 整個 Photonic Slot 在整個傳輸的過程中視為一個不可分割的個體,故該波 長仍需等到整個 slot 被 erase 後多餘的頻寬才可釋放出來,故其在頻寬的使 用率上較低,不過卻可以節省在硬體上的成本; 因此欲採用何種架構將視效 能與成本之間的取捨,而在下一章我們將對此兩種架構分別提出一個合適 的 access protocol 以期能解決在網路 load 不平衡下所產生的 fairness 問題。
Chapter 3
Proposed Protocol
3.1 Network architecture and format of Photonic Slot
在我們這篇論文中我們所考慮的網路架構為都會型單一環狀光纖網
路,而此一網路上主要由 n 個 node 所構成,node 與 node 間透過骨幹光纖 網路連結形成一個環形的網路,且在此基於都會型網路成本的考量我們所 考慮的是單向網路,亦即 node 與 node 間僅可透過一個固定的方向傳遞封 包,而每個 node 底下可再透過光纖支援 k 個 sub-nodes,如
Figure 12
所示。Fig. 12: Network architecture
此網路架構下因採用 WDM (Wavelength-division multiplexing)的技術, 波長均配置有電的 buffer 以儲存底下 sub-node 所傳上來的 traffic,如該 data 欲使用
λ
1傳送,則會先儲存於λ
1所對應的 buffer 內再透過 transmitter 將該 data 以λ
1的波長傳送於骨幹網路上。而在[9]這篇 paper 裡有對一個 Photonic Slot 的 format 作簡介,如
Figure
13
所示。我們可稱 WDM channels 是由一個個 Photonic Slots 所構成的,每 個 wavelength 代表一個 channel 而 Photonic Slot 中每個 wavelength 可以載一 個 packet。且 Photonic Slot 中的 slot header 會額外用一個波長去承載,而該 header 會記載一些 information 如哪些波長仍可使用且若是在 PSS 系統中仍 可記載該 slot 的 destination; 另外在每個 packet 裡面又有屬於該 packet 的sub-header 用來記載屬於該 packet 的 information。最後為了避免 Photonic Slot 可能產生的 dilation 現象,於每個 slot 後面會加上一段 padding。
Fig. 13: Format of Photonic Slot
3.2 Proposed protocol for IWS
3.2-1 Basic concepts
在此我們提出這個 protocol 的目的是希望能解決當網路 load 不平衡 時,可能會造成某些 node 因為拿不到 access opportunities 所衍生的 fairness 問題。因此針對這個成因我們有了 insertion credit 的想法,亦即我們希望 當某個 node 因為其上游 node 不正常過量的 traffic 而導致該 node 產生 starvation 現象時,仍可以透過 insertion credit 這個機制獲得 access 的機會。
且因為此篇論文我們所欲應用的網路架構是 all-optical 的以達到高速 網路的目的,故不同於之前 ACCI protocol 使用 F-Buff 來暫存 incoming cell,我們將使用 optical delay line[12]的元件去達到 optical buffer 的目的,
且其特性也和電的 buffer 不同,故我們也須針對此特性發展出一個合適的 演算法。
而在 IWS 系統中,因為在每個 node 會經由 de-multiplexing 的動作將 每個波長分別解開處理後最後再 multiplexing 傳送出去。故在此我們所提 出的想法是於每個波長上的 packet 引入之前 ACCI protocol 所提出的 access cycle 概念,讓每個波長上均有 access cycles 來控制 node access 的行 為,即每個 access cycle 均有一次 access opportunity; 當 channel 為 idle 時 node 傳送 packet 可 random access,而若 channel 為 busy 時則其可以藉由 判斷目前 incoming packet 是否為 access cycle 之 head 來作 packet insertion
的動作並且將 incoming packet 暫存於 optical buffer 內。
值得注意的是與 ACCI protocol 不同的是此處我們運用 optical buffer 來扮演 forwarding buffer 的角色因此 packet 進入 optical buffer 內一段時間 後就一定必須離開,故我們一律以 incoming packet 而不以 optical buffer 內即將輸出的 packet 來判斷是否可作 packet insertion; 且此時新產生的 packet 因為需要考慮到 optical buffer 只是運用一些 delay 的技巧而無法達 到永久儲存的目的,亦即 optical buffer 亦可能有 packet 輸出而參與 outgoing packet 的競爭,故為了避免 packet 的 loss,一旦 optical buffer 內有 packet 需要傳送時我們一律讓該 packet 具有最高優先權傳送; 而新產生的 packet 連同 incoming packet 則放入 optical buffer 內。
最後關於在 overload control 的部分,因為在此我們討論的是單一方向 的環狀網路,故我們並無法如 ACCI protocol 般可以藉由往上游發送出 Empty Cell Request 來避免其 F-Buff 的 overflow; 所以我們在此的作法是若 當 optical buffer 內仍載有 packet 等待輸出且此時收到 incoming packet 為 empty 時,則為了降低 optical buffer 的負載,我們將不對該 empty packet 作 random access 的動作; 如此一來當一個 time-slot 時間經過後,optical buffer 將可以輸出一個 packet 進而降低其 buffer 滿載的程度。
而若當 incoming packet 為 cycle head 而需要執行 packet insertion 的動 作時,此時若 optical buffer 內亦無足夠的空間存放 incoming packet 以及
insertion packet,則我們就不執行該 packet insertion 的動作以避免 packet 的 loss,詳細的流程我們將於之後作說明。
3.2-2 Node architecture and removal mechanism
在此我們的想法是在每個 packet 所處波長的 sub-header 內加上一個 cycle head 的判斷機制,如
Figure 14
所示。Fig. 14: Packet format of IWS
其中 Busy (BSY) bit 代表此波長是否被使用,當 BSY=0 表示 packet 為 empty,反之若有 packet 載入該波長則 BSY 為 1; 而若 Cycle Head (CH) 為 1 時,表示該 packet 為該 access cycle 之 head,故當此 packet 經過某個 active node 時,則該 node 可以藉此將其 packet insert 上來,而此 insert 之 packet 取代 incoming packet 成為該 access cycle 之 head,亦即每個新產生 之 packet 其 CH 均為 1; 而此時被 insert 之 packet 需將其 CH 改為 0 表示 其位於此 access cycle 之內。
為了實現我們之前所提到的 access cycle 概念且應用於 all-optical 的環 境中,故在每個 IWS node 中我們必須加入 optical delay line 來扮演之前於 ACCI protocol 內 F-Buff 的角色,且利用 Packet Buffer (electronic)來儲存
sub-nodes 傳上來且欲以該波長傳送之 packet。(Figure 15)
Fig. 15: IWS node architecture
如圖所示,當一個波長上所載之 packet 抵達 node 時,可以藉由檢查其 header 來判斷該 packet 是否需存入 optical delay line 內; 值得注意的是,當 packet 一旦進入 optical delay line 後經過一定 delay 的時間後它會被輸出,
為了避免 packet 的 loss 我們必須讓該 packet 成為 outgoing packet,而此時 若是 incoming packet 恰為 cycle head,則我們需將 incoming packet 及由 Packet Buffer 新產生之 packet 放入 optical delay line 內。
至於在 packet removal 的機制方面,因為在此我們於每個 IWS node 均 會將所有的波長解開再針對個別波長去作處理,因此當該波長所載的 packet 已確實被接受下來後,則我們可以將該 packet 清空使接下來的 node 可以使
用該波長,詳細的步驟我們已於 2.3 節的
Figure 9
說明。3.2-3 Access procedure of proposed protocol for IWS
之前我們已提到此處我們所提出的 protocol 是將每個波長上所載的
packet 應用 ACCI protocol 裡關於 access cycle 的概念,且因應 optical delay line 的特性,故每個 node 其 access 的行為將完全由 incoming packet 所決定,
不同於之前 ACCI protocol 以 F-Buff 內儲存的第一個 cell 所決定,除非 F-Buff 內無儲存 cell 時才由 incoming cell 決定。
為了說明的方便,我們一樣將 access 的行為分為以下的 case 作討論,且 以下 case (i) – (iii)我們均先假設 Packet Buffer 內有 data 等待傳送:
(i)當 incoming packet 不為 empty 且為 cycle head 時並且假設 optical buffer 內仍有足夠的空間執行 packet 的 insertion,則此時 node 新產生的 packet 可 藉由 insertion 放入網路上,而將 incoming packet 放入 optical delay line 內暫 存; 但這邊值得注意的是,同時間 optical delay line 內亦有可能有 packet 輸 出,故為了避免 collision 的發生,我們必須讓該 packet 成為 outgoing packet。
而此時由 Packet Buffer 新產生的 packet 連同 incoming packet 均放入 optical delay line 內並將 incoming packet 之 CH bit 改為 0。
在此我們尚須注意此處此兩個 packet 放入 optical delay line 需以避免他 們從 optical delay line 輸出時發生 collision 為最大原則,故我們在此採用的