• 沒有找到結果。

GRNN網路硬體之實現及在區域網路管理之應用

N/A
N/A
Protected

Academic year: 2021

Share "GRNN網路硬體之實現及在區域網路管理之應用"

Copied!
48
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:黃 文 吉 博士. GRNN 網路硬體之實現及在區域網路管理之 應用 Hardware Implementation of GRNN Network and Its Applications to the Management of Local Area Networks. 研究生:鍾育君 中華民國. 撰. 一百零五 年 八. 月.

(2) 中文摘要. 中文摘要 區域網路已於一般人的生活中扮演了重要的地位,如何管理有限的網 路資源,製造最大的使用效益,是一個困難的議題,根據不同的使用者習 慣,以及應用,會需要各種不同的網路環境設定,如何快速且即時的反應 是我們追求的目標。 由於使用者的回饋與反應,才是我們判定服務品質(Quality of Service) 的重要指標,根據以往累積的使用者回饋,本論文設定一品質標準,並結 合 GRNN(Generalized Regression Neural Networks)類神經網路學習法則,快 速且精準的計算使用者會感到滿意的網路環境設定,並從所有可能感到滿 意的設定中,找出消耗網路資源最少的設定,提供給使用者, 利用軟體實現網路環境設定之頻寬分配計算,建構於一般的網路橋接 器環境,將會耗費相當大量的反應時間,使用者的體驗感受將會大幅度下 降,所以本論文欲以 VLSI 晶片設計,設計出效能強大,且快速精準的分配 網路環境設定,計算法則也是不可或缺的一環,故結合 GRNN 類神經網路 學習法則,以硬體電路晶片實現處理單元,便可達成這一目的。. 關鍵字:VLSI 晶片設計、類神經網路、服務品質 QoS i.

(3) 誌謝. 誌謝 此論文完成之際,首先要感謝我的指導教授黃文吉教授,給我許多寶 貴的建議與指導,使的能順利完成論文。同時也感謝歐謙敏教授、陳靜芳 博士兩位口試委員在口試及論文上的指導與建議,使的本論文得以更加完 善。 接下來感謝實驗室的學長,除了在實驗上耐心的指導和幫助,在這段 時間當我遇到一些困難和低潮時能夠做為我的傾聽者並給予我鼓勵。也謝 謝我的同學們和學弟妹們協助我口試當天的事務。 最後,感謝我的爸媽,在這些年來的支持和關心,提供我衣食無缺的 生活,使的這一段求學生涯無後顧之憂,順利完成學業。僅將本論文獻給 關心我的家人及朋友,願和你們分享我的榮耀和喜悅。. ii.

(4) 目錄. 目錄 中文摘要 ............................................................................................................... i 誌謝 ...................................................................................................................... ii 目錄 ..................................................................................................................... iii 附圖目錄 ............................................................................................................. iv 附表目錄 .............................................................................................................. v 第一章 緒論 ....................................................................................................... 1 1.1 研究背景與動機 ...................................................................................... 1 1.2 研究目的與方法 ...................................................................................... 3 1.3 全文架構 .................................................................................................. 5 第二章 基礎理論與文獻探討 ........................................................................... 6 2.1 類神經網路介紹 ...................................................................................... 6 2.2 GRNN(General Regression Neural Network)介紹 ................................. 7 2.3 GRNN 演算法則 ..................................................................................... 8 第三章 系統架構 ............................................................................................. 13 3.1 GRNN 與 Local Area Network QoS .................................................... 13 3.2 QoS 服務流程........................................................................................ 17 3.3. 全搜尋演算法介紹 ................................................................................ 18. 3.4. 整體電路架構 ........................................................................................ 21. 3.5 Stage 1 計算平方距離電路 ................................................................... 22 3.6. Stage 2 計算權重值電路 ....................................................................... 24. 3.7 Stage 3 權重累加電路 ........................................................................... 25 3.8 Stage 4 計算評估值電路 ....................................................................... 26 第四章 實驗數據與效能分析 ......................................................................... 27 4.1 驗證平台與環境設定 ............................................................................ 27 4.2 網路頻寬分配分析................................................................................ 29 4.3 硬體電路資源分析 ................................................................................ 32 4.4 硬體電路效能分析 ................................................................................ 35 第五章 結論 ..................................................................................................... 40 參考文獻 ............................................................................................................ 41 iii.

(5) 附圖目錄. 附圖目錄 圖 1-1. 家庭網路環境示意圖 ............................................................................ 2. 圖 1-2. 網路頻寬分配管理搜尋示意圖............................................................ 4. 圖 2-1. 類神經網路架構圖 ................................................................................ 6. 圖 2-2. GRNN 的輸入和輸出 ........................................................................... 8. 圖 2-3. GRNN 一般情況架構圖 ......................................................................10. 圖 2-4. GRN-Based Qos management 架構圖 ................................................. 11. 圖 3-1. 區域網路架構 .......................................................................................13. 圖 3-2. QoS 傳輸介面示意圖...........................................................................15. 圖 3-3. QoS 流程圖...........................................................................................17. 圖 3-4. 全搜尋(Full-search)虛擬碼範例 ..........................................................19. 圖 3-5. 整理電路架構圖 ...................................................................................21. 圖 3-6. Stage 1 計算平方距離電路改良前 ......................................................22. 圖 3-7. Stage 1 計算平方距離電路改良後 ......................................................23. 圖 3-8. Stage 2 計算權重值電路 ......................................................................24. 圖 3-9. Stage 3 權重累加電路 ..........................................................................25. 圖 3-10 Stage 4 計算評估值電路 .....................................................................26 圖 4-1. 各 Stage 運算時序圖分析 ....................................................................37. iv.

(6) 附表目錄. 附表目錄 表 3-1. 使用者期望感受為”滿意 ”之情況 .................................................16. 表 3-2. 使用者期望感受為”普通 ”之情況.................................................16. 表 4-1. 各項開發環境 .......................................................................................28. 表 4-2. 網路環境設定 .......................................................................................30. 表 4-3. 訓練資料(Training Data) ......................................................................30. 表 4-4. GRNN 全搜尋計算結果 ......................................................................31. 表 4-5. 運算單元使用量 ...................................................................................33. 表 4-6. 各 Stage 實際合成資源消耗 ................................................................33. 表 4-7. 各 Stage 資源消耗分析 ........................................................................34. 表 4-8. 各管線化浮點數運算單元之延遲參數設定.......................................35. 表 4-9. 各 Stage 之輸出延遲 ............................................................................36. 表 4-10 各 Stage 時間消耗分析 ........................................................................38 表 4-11 Matlab 軟體與硬體電路執行時間 ......................................................39. v.

(7) 第一章 緒論. 第一章 緒論 1.1 研究背景與動機 首先介紹 QoS[1],QoS 就是 Quality of Service 的簡寫,舉例來說,像這 張家庭網路架構圖,我們可以看到一般家庭常見的設備,這些設備可以透 過圖 1-1 中四種媒介來做傳輸,Wi-Fi、PLC [11] [12]、Ethernet、MoCA [13], 像是智慧型手機、平板電腦、桌上型電腦、筆記型電腦,可以透過 Wi-Fi 來做傳輸介面,而這些設備通常都有不同的頻寬需求,例如智慧型手機只 是傳訊息時,這類型的應用所需要的頻寬可能不是很大,如果像電腦要下 載影片的應用上,則需要較大的頻寬,此時就要根據使用者不同的應用所 需之頻寬,分配不同頻寬給各個裝置。需要分配的原因是,家庭網路[2]中 對外的網路(與 Internet 聯網)是由 ISP 供應之有限的頻寬,故為了使頻寬能 被有效的利用,必須分配適當的頻寬給予不同的裝置,使得頻寬的利用率 提升,同時具備優良的 QoS,令使用者得到良好的服務體驗。 頻寬的分配最新的方式就是透過軟體計算,把軟體架設於網路橋接器上 執行,用來計算頻寬的分配,並將結果送至 QoS 的管理系統再設定,這樣 必須要透過網路橋接器上的 CPU 來處理,但是 CPU 不可能只為這個軟體 服務,還有別的東西要處理,這樣使用者不會得到即時的頻寬分配反應。 所以本論文希望能將這個計算硬體化,變成客製化的電路,由於硬體電路 專為應用設計,並且具備快速計算的特性,不會占用 CPU 的計算資源,所 1.

(8) 第一章 緒論. 以可以更即時的反應網路頻寬分配給 QoS 作設定,故本論文希望將網路頻 寬分配計算的方法,以硬體電路實現,得到更好的效能。. 圖 1-1 家庭網路環境示意圖. 2.

(9) 第一章 緒論. 1.2 研究目的與方法 本論文所提之應用於網路頻寬分配的方法會經由 QoS 管理[3],讓網路 環境之管理可以讓使用者滿意,過一段時間的使用之後向使用者徵詢意見 回饋,讓他們對這次的服務品質作一個評分,並預先定義令使用者滿意評 分之範圍。得到使用者回饋之後,再次以這個資訊作一次網路頻寬分配的 計算。我們接下來全搜尋整個網路之可能頻寬分配,將這些頻寬分配可能 得到的使用者回饋都記錄下來,最後從全部的使用者回饋中可能為滿意的 部分,找出滿意的部分中頻寬分配總合最小者,來作為下一次的頻寬分配 管理。 以滿意的部分中,頻寬分配總合最小者作為下一次頻寬分配管理,原 因是要讓使用者對於網路服務感到滿意,但是又要節省給出去的網路頻寬, 故選擇既是會令使用者滿意,又是網路頻寬資源消耗最小的設定。以具有 兩個 Link 的通訊系統為例,如圖 1-2 所示為一種可能的使用者回饋品質之 預測,X 軸代表 Link 1 的頻寬管理,Y 軸代表 Link 2 的頻寬管理,接著是 淡藍色的部分是預測使用者會感到滿意的管理。深藍色的部分是普通,綠 色則是不滿意,方型的標記就是從滿意的部分所找出的最小頻寬分配結 果。. 3.

(10) 第一章 緒論. 圖 1-2 網路頻寬分配管理搜尋示意圖 本論文網路頻寬分配的方法是以廣義迴歸類神經網路(General Regression Neural Network, GRNN)[3]這類的類神經網路學習法則來進行計 算,此後簡稱為 GRNN,GRNN 可以經由過往的使用者回饋(圖 n-n 的三角 形標記),與目前想分配的頻寬來作計算,可以得出所搜尋範圍中的網路頻 寬分配之評估值,評估使用者的反應可能是落在前面所定義的滿意範圍之 內。根據這個特性,將所有可能設定的頻寬做全搜尋(Full Search),也就是 計算出所有可能令使用者感到滿意的頻寬分配,之後從可能令使用者感到 滿意的頻寬分配範圍中找出最小的頻寬分配,GRNN 法則會於之後的章節 有更詳細的介紹。 4.

(11) 第一章 緒論. 1.3 全文架構 本論文分為五個章節,以下為各章節內容說明: 【第一章】緒論 說明本論文的研究背景、動機以及目的,幫助讀者理解研究的過程。 【第二章】基礎理論與 FPGA 系統設計探討 介 紹 本 論 文 中 所 採 用 之 演 算 法 (GRNN, General Regression Neural Network)。 【第三章】系統架構 介紹第二章末所提出的的 FPGA 系統架構之細節,並提供各電路元件 設計細節。 【第四章】實驗數據與效能分析 介紹本論文所採用的 VLSI 晶片驗證平台規格,包含了開發軟體系統環 境的說明、相關實驗結果分析。 【第五章】結論 論文總結。. 5.

(12) 第二章 基礎理論與文獻探討. 第二章 基礎理論與文獻探討 2.1 類神經網路介紹 類神經網路的架構(圖 2-1)包含多個節點或神經元的多層次架構。神經 元是類神經網路的基本處理單元,也是組成隱藏層的主要元素。由隱藏層 中的每個處理單元,連結輸入資料與輸出資料,而同一個處理單元可對應 多個輸入與輸出資料,同一層隱藏層間的處理單元不互相連結。類神經網 路的架構(圖 2-1),包含輸入層,隱藏層,輸出層。 每一層含有多個處理單元,相連層的處理單元之間會有連結。輸入層 的處理單元負責接收輸入數據。隱藏層的處理單元負責計算,隱藏層介於 輸入層與輸出層之間,隱藏層的層數會依類神經網路不同而有所不同。輸 出層的運算單元負責輸出評估結果,可能具有多個評估項目,亦有可能僅 評估一個項目,影響到輸出的數量。. 圖 2-1 類神經網路架構圖 6.

(13) 第二章 基礎理論與文獻探討. 2.2 GRNN(General Regression Neural Network)介紹 一般來說,類神經網路(Neural Network)是機器學習的一種機制,機器 學習有兩類,監督式學習(Supervised Learning)和非監督式(Unsupervised Learning)學習型的類神經網路。 非監督式學習型類神經網路不需要預先給予範例、訓練資料(Training Data)作為參考,會直接根據要判斷的特徵目標,統整並且分類評估出適合 的結果,需要一段時間來統計整合,才會得到準確的結果,不適合即時的 計算判斷應用。 監督式學習型類神經網路則需要先給予 Training Data,使得整個網路先 有一個參考的目標,並不需要經過一段不穩定的訓練時期,由外部已知的 經驗直接給予判斷的準則,只要參考之 Training Data 是合理、準確的,輸 入後計算即可獲得準確的結果,這樣就可以用於即時計算判斷應用上。 本論文所提出之設計架構中,使用了廣義迴歸類神經網路(General Regression Neural Network, GRNN),GRNN 是監督式學習型類神經網路, 因為異質家庭網路中要配合 QoS 須能即時反應出正確的分配結果,所以必 須先給予一些 Training Data 來作為參考,直接能得出合理的估計結果,而 不是使用者需要先使用一段時間才會令系統穩定,當然在使用的過程中, 也會因為回饋的資訊令 GRNN 的判斷更加的準確。. 7.

(14) 第二章 基礎理論與文獻探討. 2.3 GRNN 演算法則 當 GRNN [5]應用於 QoS 管理時,x 代表頻寬,𝑥𝑗 是第𝑗個 Link 的頻寬, (𝐱1 , 𝐲1 )…….(𝐱 𝑝 , 𝐲𝑝 )會使用來做為訓練資料,𝑦 ∗ 代表評估值(使用者可能會回 饋的滿意度,這個滿意度是根據之前的 Training Data 和輸入的 Input 對照最 接近的分數). 圖 2-2 GRNN 的輸入和輸出. 8.

(15) 第二章 基礎理論與文獻探討. 公式(1) 說明如何在輸入一個待評估的網路頻寬分配,向量𝐱的情況下, 利用𝐱1 , … . . 𝐱 𝑝 以及𝐲1 , … . . 𝐲𝑝 來計算𝐲 ∗ : 𝑦𝑗∗ 和𝑦𝑖𝑗 為𝐲 ∗ 和 𝐲𝑖 之第𝑗個使用者回饋滿意度元素,其中𝑗 = 1,…, m。. 𝑦𝑗∗. =. ∑𝑝𝑖=1 𝑦𝑖𝑗 𝑊(𝐱, 𝐱 𝑖 ). (1). ∑𝑝𝑖=1 𝑊 (𝐱, 𝐱 𝑖 ). 𝜎是評估結果敏感度之參數,𝑊 (x, x𝑖 )則是 Weight 函數,被定義為. 𝑊(𝐱, 𝐱 𝑖 ) = exp. −𝐷(𝐱, 𝐱 𝑖 ) 𝜎2. (2). 𝑛. 𝐷(𝐱, 𝐱 𝑖 ) = ∑(𝑥𝑗 − 𝑥𝑖𝑗 ). 2. (3). 𝑗=1. 函式𝐷(𝐱, 𝐱 𝑖 )是計算出網路頻寬分配向量𝐱和𝐱 𝑖 距離的平方(Squared Distance),且𝑥𝑗 和𝑥𝑖𝑗 為網路頻寬分配向量𝐱和𝐱 𝑖 之第𝑗個元素。 由公式(1)得知 GRNN 之運作只需要輸入 Training Data 𝐱1 , … . . 𝐱 𝑝,以及 Training Data 之系統實際輸出分別為𝐲1 , … . . 𝐲𝑝 ,可以對於任意輸入𝐱來計算 出系統之輸出𝐲 ∗ 。. 上述公式以 GRNN 類神經網路架構圖呈現,可以再加以詳細說明如下: 9.

(16) 第二章 基礎理論與文獻探討. 圖 2-3 GRNN 一般情況架構圖 GRNN 架構主要分成三層,輸入層、隱藏層以及輸出層,隱藏層是 Pattern Layer 和 Summation Layer。 Pattern Layer 所含的資訊就是我們的既定印象和經驗。Input Layer 的內 容就是目前發生的事情,我們希望將 Input Layer 的內容與 Pattern Layer 所 含的資訊來分析差異,做為輸出的參考,過程以𝑊(𝐱, 𝐱 𝑖 )的公式來執行,其 中𝜎是敏感度,這部份可以計算出 Weight 值,這個值代表人對這些事件會 帶有一些主觀的感受。 最後再與所有發生過的狀況的結果對照,我們就可以判斷 Input 這件事 可能會有什麼結果。 10.

(17) 第二章 基礎理論與文獻探討. 上述的 GRNN 架構圖是最一般的情況,呈現出輸入和輸出每一筆對應 關係,如果把上述的架構圖改成特例的情況如下圖 2-4 所示,GRNN 的 Output 是判斷項目𝑦 ∗ ,由於本論文的應用只有評估使用者可能的反應,所 以這邊會將 Output Layer 的數量簡化為一個,如圖 2-4 的架構。. 圖 2-4 GRNN-Based Qos management 架構圖 輸入層和模式層都沒有改變,在總和層方面是分成兩部分,一個把模 式層的運算結果給分子另一個把運算結果給分母,在輸出層部分只有一個 系統之輸出。. 11.

(18) 第二章 基礎理論與文獻探討. GRNN 應用於 QoS 的方式為讓輸入𝐱代表一個可能的頻寬分配。若網路 含有𝑛個 Link,則𝐱為一個維度是𝑛的向量。GRNN 的 Pattern Layer 內的訓 練資料[𝐱 𝑖 , 𝐲𝑖 ],𝑖= 1,…,𝑝,代表過去共有𝑝筆的頻寬分配以及使用者的評分, 且𝐱 𝑖 及𝐲𝑖 分別為這𝑝筆中的第𝑖筆分配及評分。根據輸入𝐱以及訓練資料 [𝐱 𝑖 , 𝐲𝑖 ],𝑖= 1,…,𝑝,𝑦 ∗ 則為使用者評分的預測值。. 12.

(19) 第三章 系統架構. 第三章 系統架構 3.1 GRNN 與 Local Area Network QoS Local Area Network 區域網路[6]最常見的就是家庭內部的網路,或是公 司的內部網路,經常會透過無線 IP 分享器(Access Point)或是集線器(Hub) 甚至是交換器(Switch)來做為橋接器(Bridge)分享由 ISP 提供的對外網路, 如圖 3-1,根據不同的應用以及每個人的使用權限可能會有許多不同的頻寬 分配方式,同一個橋接器上可能會有許多的網路通道(Link n)來傳輸資料, 但是頻寬有限的狀況下,就需要根據不同使用者的需求或應用甚至是使用 的權限來分配這 n 個網路通道的頻寬。. 圖 3-1 區域網路架構 舉個簡單的例子,區域網路中在架設網路服務的時候,往往都會考慮 到各種類使用者之應用,區域網路除了一般以交換器以及集線器以 Ethernet 網路通訊介面架設以外,也可能會顧及每個使用者的便利性,可能會以 WiFi 做為其他橋接的網路通訊介面,方便使用者一邊移動一邊使用網路服務, 又或者是像電視連接在牆壁上,利用同軸纜線來做為網路通訊介面可以直 接傳輸溝通省去額外配置其他介面的需求,以此區域網路架構的狀況以及 使用者的裝置與應用加上各使用者的分配權限來分配頻寬,將可以更有效 13.

(20) 第三章 系統架構. 率的利用網路資源。 本論文的目標是令區域網路底下的使用者得到滿意的服務品質(Quality of Service)[7],並且兼顧消耗最低的網路資源。故根據使用者經驗的回饋做 為 GRNN 類神經網路的 Pattern Layer 輸入,以全搜尋的方式,計算出評估 值來尋找所有可設定的網路頻寬中可能會令使用者感到滿意,但是耗用資 源最少的網路頻寬分配設定。 如同圖 3-2 的示意,一般家庭區域網路中有許多的網路傳輸介面 (Communication Internet),有不同的頻寬分配,這樣設定可以控制網路使用 的資源並且分配給各種網路傳輸介面,而各種不同的應用裝置會透過不同 的網路傳輸介面來與橋接器進行溝通,所以如何管理這些介面的網路頻寬 分配來達到令使用者感受到的服務品質是滿意的,為本論文研究的目標, 基於 GRNN 類神經網路以及使用者目前使用狀況的回饋評分來計算評估值, 全搜尋過整個可能的網路頻寬分配,最後給予下一次服務的總頻寬分配。. 14.

(21) 第三章 系統架構. 圖 3-2 QoS 傳輸介面示意圖 基於 GRNN 類神經網路計算的 LAN QoS 網路頻寬分配,本論文將使 用者回饋的評分設定成如表 3-1 所示,而使用者期望我們的 LAN QoS 的網 路頻寬分配可以帶給他們滿意的感受,為了使下一次服務的總頻寬分配令 使用者感到滿意,所以目前設定之總頻寬所得到的回饋將會決定下一次服 務要設定的總頻寬,如果得到對目前服務的回饋為滿意,表示目前給予的 總頻寬充足有多餘,便可以減少一些給予的總頻寬,但如果是普通,或是 不滿意,代表目前的給予的總頻寬不足以滿足使用者,所以要增加給予的 總頻寬,普通則稍微增加,不滿意則需大幅增加。. 15.

(22) 第三章 系統架構. 對目前服務的. 滿意. 普通. 不滿意. 設定給予下一次. 總頻寬減少. 總頻寬增加. 總頻寬增加. 服務的總頻寬. (或相同). (或相同). (或相同). 回饋. 表 3-1 使用者期望感受為”滿意”之情況 而如果使用者期望我們的 LAN QoS 的網路頻寬分配只需要帶給他們 普通的感受,則下次設定給予下一次服務的總頻寬之情況會如同表 3-2 一 樣,為了使下一次服務的總頻寬分配令使用者感到普通,所以目前設定之 總頻寬所得到的回饋將會決定下一次服務要設定的總頻寬,如果得到對目 前服務的回饋為滿意,表示目前給予的總頻寬充足有多餘,便可以大量減 少給予的總頻寬,如果是普通也代表著足夠有多餘的情形,可以稍微減少 一些給予的總頻寬,若是不滿意,代表目前的給予的總頻寬不足以令使用 者覺得普通,所以要增加給予的總頻寬。 對目前服務的. 滿意. 普通. 不滿意. 設定給予下一次. 總頻寬減少. 總頻寬減少. 總頻寬增加. 服務的總頻寬. (或相同). (或相同). (或相同). 回饋. 表 3-2 使用者期望感受為”普通”之情況. 16.

(23) 第三章 系統架構. 3.2 QoS 服務流程 QoS 如何分配頻寬[10]給使用者是根據圖 3-3,一開始做初始化,初始 頻寬分配,初始 Profile 就是給予 GRNN 基本的 Training Data,初始化完成 之後,就等待使用者要求新服務,如果有新服務,他就會根據使用者所需 要的頻寬執行服務,接下來會獲得使用者的回饋分數,我們會使用這個新 的回饋更新 Profile 並且使用全搜尋找到新的頻寬分配,再去等待使用者下 一次要求新服務。. 圖 3-3 QoS 流程圖. 17.

(24) 第三章 系統架構. 3.3 全搜尋演算法介紹 網路頻寬分配中我們利用全搜尋演算法(Full-search Algorithm)來輔助, 這邊將會先解釋全搜尋演算法是如何搜尋所有可能的頻寬分配,並找到 QoS 中的最小頻寬分配𝐱 min 。 假設這邊有 3 個回饋等級(Response Level),而且對於任一個頻寬分配𝐱 𝑖 而言,相關的回饋𝑦𝑖 為 𝑁,. 如果回饋品質為滿意. 𝑦𝑖 = { 0,. 如果回饋品質為普通. −𝑁,. 如果回饋品質為不滿意. 我們接下來定義 Full Search 的搜尋範圍為ℬ,讓Δ為搜尋間距(Step Size) , 且B𝑛 為第𝑛個 Link 之最大頻寬,則ℬ為 ℬ = {𝐱 ∶ 𝑥𝑛 = 𝑐Δ, 0 ≤ 𝑥𝑛 ≤ B𝑛 }. (5). 全搜尋的目的則為將每個頻寬分配 𝐱 ∈ ℬ 利用 GRNN 找出評估值𝑦 ∗ 且定義 𝒫 = {𝐱: 𝑦 ∗ ≥. 𝑁 } 2. (6). 𝑁 𝒩 = {𝐱: 𝑦 ∗ ≤ − } 2. 𝒜 = {𝐱: −. (7). 𝑁 𝑁 ≤ 𝑦∗ ≤ } 2 2 𝑁. (8). 因此若𝐱之評估值𝑦 ∗ 滿足𝑦 ∗ ≤ − ,我們將𝐱分類為𝒩代表這個是服務品質 2. 18.

(25) 第三章 系統架構 𝑁. 𝑁. 2. 2. 為不滿意的預測區間;若滿足− ≤ 𝑦 ∗ ≤ ,則我們分類在集合𝒜代表這個 是服務品質為普通的預測區間,否則分類在集合𝒫代表這個是服務品質為滿 意的預測區間,如此則完成全搜尋。相關法則的完整敘述見圖 3-4。. 圖 3-4 全搜尋(Full-search)虛擬碼範例 19.

(26) 第三章 系統架構. 由於集合𝒫為我們所設定的搜尋目標,服務品質滿意的預測區間,集合𝒫 中有既可能令服務品質為滿意,且又消耗最少網路資源的最小頻寬分配 𝐱 min,故找出被分類在集合𝒫中的頻寬分配𝐱之總頻寬|𝐱| = 𝑥1 + 𝑥2 +. . . +𝑥𝑛 最小者,即是這次全搜尋演算法後,找到 QoS 中的的最小頻寬分配𝐱 min 。. 3.4 整體電路架構 (Architecture) 20.

(27) 第三章 系統架構. 因為本論文初期的實驗以 Matlab 軟體做全搜尋的 GRNN 類神經網路運 算,發現這個運算會對每種輸入𝐱,都進行一次 GRNN 評估值𝑦 ∗ 的計算, 如果我們的網路通道 Link 的最大頻寬上限越高,搜尋間距Δ越小的狀況下, 需要的計算量將會大幅度的提升,如此一來用軟體來做這個計算將會耗費 極大的時間,故將其做硬體化,利用客製化的硬體電路來計算,快速的計 算出各種網路頻寬分配的 GRNN 評估值𝑦 ∗ 。 接著在本節中介紹整體的電路架構,如圖 3-5,根據 GRNN 演算法,實 做出具備管線化(Pipeline)之運算電路。透過硬體電路快速執行全搜尋計算, 蒐集所有可能的頻寬分配之 GRNN 評估值𝑦 ∗ 結果,並找出集合𝒫中頻寬總 合最小的頻寬分配,即是我們硬體電路計算的結果。 故本論文將運算電路切分成四個 Stage,用來暫存各計算電路的輸入、 輸出以及中間值,Stage 1 為計算平方距離,計算後獲得𝐷(𝐱, 𝐱 𝑖 )的數值,接 著是 Stage 2 計算權重,計算後獲得𝑊(𝐱, 𝐱 𝑖 )的數值,然後 Stage 3 及 Stage 4 為評估值𝑦 ∗ 計算,Stage 3 會分別累加權重與權重乘以回饋分數,最後由 Stage 4 將兩個值相除,得到𝑦 ∗;輸入為𝐱,是這一輪要計算的網路頻寬分配, 還有一個輸入值是𝐱 𝑖,輸入我們的訓練資料,輸出是評估值(𝑦 ∗ )是為 GRNN 的結果,其他各別 Unit 的細節將會在後面介紹。. 圖 3-5 整體電路架構圖. 3.5 Stage 1 計算平方距離電路 21.

(28) 第三章 系統架構. 這節要介紹的是 Stage 1 平方距離計算的電路設計,本論文的網路環境 為兩個 Link,以圖 3-6 為基礎構想,由於平方距離計算電路是目前輸入𝐱與 Training Data 相減再平方,最後再加總,所以一套平方距離計算電路需要 一個浮點數加法器跟一個浮點數乘法器,而 Link 的數量是兩個,所以做兩 套平行的平方距離計算電路,最後以一個浮點數加法器將兩個 Link 計算的 結果相加,這樣的好處是,平行化的處理,增加計算的速度,但是缺點是 輸入的 pin 腳多 64 個,還有平方距離計算電路需要多一套。. 圖 3-6 Stage 1 計算平方距離電路改良前 根據上述的缺點,我們做了一些改進,改為圖 3-6 的設計,將平方距 離計算電路減少到一套,並且將浮點數加法器,改以浮點數累加器替代, 我們採用的累加器是管線化的累加器,具有可以連續輸入數值並累加的能 力,不需要等前一組相加完成後才輸入下一組,整體的效能會變得比較好, 22.

(29) 第三章 系統架構. 而且可以減少一組平方距離計算電路,還有一個優點是,改進後的電路可 以做多個 Link 應用的計算,具有更好的應用彈性。. 圖 3-7 Stage 1 計算平方距離電路改良後. 3.6 Stage 2 計算權重值電路 23.

(30) 第三章 系統架構. 這節要介紹的是 Stage 2 權重計算的電路設計,如圖 3-8,將上一個 Stage 1 得到的結果𝐷(𝐱, 𝐱 𝑖 ),與我們設定的敏感度𝜎 2 經過除法的計算電路相除之 後,再送給後面的指數函式(Exponential Function)計算電路運算,會得到權 重值𝑊(𝐱, 𝐱 𝑖 ),值得注意的是數值輸入電路前先將的𝜎數值平方,再輸入可 以節省一組浮點數乘法器。. 圖 3-8 Stage 2 計算權重值電路. 3.7 Stage 3 權重累加電路 24.

(31) 第三章 系統架構. 本節要介紹的是 Stage 3 評估值計算的電路設計,如圖 3-9,一樣是將 上一個 Stage 2 得到的結果𝑊(𝐱, 𝐱 𝑖 )暫時儲存在 SISO Buffer 內,之後會與 Training Data 所紀錄之使用者回饋分數 Score 相乘之後送到浮點數累加器加 總,另外還有一個浮點數累加器會加總𝑊(𝐱, 𝐱 𝑖 )的數值,這樣是 Stage 3 所 進行的計算。. 圖 3-9 Stage 3 權重累加電路. 3.8 Stage 4 計算評估值電路 25.

(32) 第三章 系統架構. 最後一節是介紹 Stage 4,這部分是延續 Stage 3 的設計,如圖 3-10,將 Stage 3 的結果進行浮點數相除,得到𝑦 ∗ 評估值的結果,到這邊是輸出完成 整個 GRNN 計算電路的運算,得到一組輸入x的評估值結果。. 圖 3-10 Stage 4 計算評估值電路. 26.

(33) 第四章 實驗數據與效能分析. 第四章 實驗數據與效能分析 4.1 驗證平台與環境設定 本論文使用之各類驗證平台與環境設定如表 4-1 所示,我們的驗證平台 為 Altera 公司[8] 所開發的 Quartus II Ver.15.1 EDA Tool 軟體,以及這套 EDA Tool 軟體附帶之電路模擬軟體 Modelsim,將撰寫好的 Verilog 硬體描述語 言透過這兩個軟體,可以編譯語法、各種錯誤偵測、時序分析,然後進行 合成與繞線布局,最後還可以透過 Modelsim 電路模擬軟體來模擬訊號驅動 電路的運行,來做 RTL Level 以及 Gate Level 訊號模擬。 還有運用 Matlab 作為輔助的驗證工具[9],先以 Matlab 語法撰寫全搜 尋 GRNN 軟體程式計算出最佳的網路頻寬分配,之後與電路模擬之計算結 果進行比對,以及中間各種訊號數字表示法(浮點數與 IEEE754 浮點數表示 法)的轉換,還有電路運算之全搜尋結果的最小值搜尋,之後確定結果完全 吻合,完成驗證的步驟,最後確認整個電路計算的正確性。. 27.

(34) 第四章 實驗數據與效能分析. 軟體開發環境 CPU. Intel [email protected]. Memory. DDR3 32GB. Operating System. Windows 7 企業版 SP1 硬體電路開發工具. Synthesis Tool. Quartus II 64bit Version 15.1. Simulation Tool. Modelsim Altera 10.4b. Software Build Tool. Matlab R2014a. Verification Tool. Matlab R2014a 表 4-1 各項開發環境. 28.

(35) 第四章 實驗數據與效能分析. 4.2 網路頻寬分配分析 網路頻寬分配是本論文最重要的部分,GRNN 在 Pattern Layer 會有 training data,在做頻寬分配的時候回顧 GRNN 在 Pattern Layer 裡面會有多 筆 training data,這些 training data 是過去傳送的記錄以及相關的使用者回 饋來獲得。全搜尋各種頻寬分配,各 Link 的頻寬有上限與下限,根據這上 限和下限,定義搜尋間距為Δ=0.25 Mbps,根據上限和下限把所有可能頻 寬分配之 GRNN 評估值全部找出來。 以下是表 4-2、4-3、4-4 為網路環境的設定資訊,最大網路通道(Link) 的數量為 2,分別的通道最大頻寬為 Link 1 之最大頻寬B1 =70 Mbps,Link 2 之最大頻寬B2 =50 Mbps,並且有 14 組(𝑝 = 14)Training Data 頻寬組合以及 其回饋滿意度 GRNN 評估值(Score),N=10 代表滿意、N=0 代表普通、N=-10 代表不滿意。因此,若 GRNN 某一輸入𝐱之評估值𝑦 ∗ =-7,則由於 N=-10 我 們依照公式(6)(7)(8)可知該頻寬分配𝐱屬於𝒩。. 29.

(36) 第四章 實驗數據與效能分析. 最後是結果全搜尋計算結果為最小網路頻寬分配組合(Link 1 = 24.25 / Link 2 = 48.5),計算出的 GRNN 評估值為 5.000655,GRNN 評估值最接近 滿意的回饋。 網路通道. 最大通道頻寬. Link 1. 70 Mbps. Link 2. 50 Mbps. 搜尋間距Δ. 0.25 Mbps. 回饋滿意度 GRNN 評估值(Score)標準 滿意. 10. 普通. 0. 不滿意. -10 表 4-2 網路環境設定. Link 1. 1st. 2nd. 3rd. 4th. 5th. 6th. 7th. 3. 3. 8. 0. 13. 2. 23. 5. 11. 6. 34. 3. 17. 2. -10. -10. -10. -10. -10. -10. -10. (Mbps) Link 2 (Mbps) Score. 表 4-3 訓練資料 (Training Data) 30.

(37) 第四章 實驗數據與效能分析. Link 1. 8th. 9th. 10th. 11st. 12nd. 13rd. 14th. 37. 1. 21. 30. 24. 43. 31. 1. 40. 30. 24. 64. 46. 51. -10. -10. 0. 0. 10. 10. 10. (Mbps) Link 2 (Mbps) Score. 表 4-3(續) 訓練資料 (Training Data) 網路通道. 最小頻寬分配. Link 1. 24.25 Mbps. Link 2. 48.5 Mbps. 評估值 GRNN 結果 = 5.000655 表 4-4 GRNN 全搜尋計算結果. 31.

(38) 第四章 實驗數據與效能分析. 4.3 硬體電路資源分析 本論文的硬體電路設計,如同第三章的電路設計圖所示,在本章節做 一些硬體電路資源消耗的分析。根據架構,我們的硬體電路分為四個 Stage, Stage 1 與 Stage 2、Stage 3 與 Stage 4 中間沒有 Buffer 做為暫存緩衝的暫存 器單元,透過 Input Valid 與 Output Valid 訊號線來確定各 Stage 的輸入與輸 出是我們希望得到的正確數值。 在電路當中,我們利用 Altera 公司所提供的 IP Core 矽智財核心作為浮 點數運算單元,有浮點數管線化加法器 ALTFP_ADD_SUB、浮點數管線化 乘法器 ALTFP_MULT、浮點數管線化除法器 ALTFP_DIV、浮點數管線化 累加器 ALTERA_FP_ACC_CUSTOM v15.1、浮點數管線化指數函數 ALTFP_EXP,這五個計算用的 IP Core,並且在下面表 4-5 當中,列出四個 Stage 使用之運算單元。. 32.

(39) 第四章 實驗數據與效能分析. Stage 1. Stage 2. Stage 3. Stage 4. ALTFP_ADD_SUB. 1個. 0個. 0個. 0個. ALTFP_MULT. 1個. 0個. 1個. 0個. ALTFP_DIV. 0個. 1個. 0個. 1個. ALTFP_EXP. 0個. 1個. 0個. 0個. ALTERA_FP_ACC_CUSTOM. 1個. 0個. 2個. 0個. v15.1 表 4-5 運算單元使用量 資源消耗分為 ALUTs 相當於邏輯元素、邏輯閘,Registers 暫存器用來 暫存各組合電路之間的數值,Memory bits 記憶體儲存資料,還有 DSP Block 做為訊號處理演算法用途的計算單元,使用 Quartus II EDA Tool 軟體做合 成繞線布局後,會產生一份資源消耗報告,整理出如下表 4-6 的資源消耗 記錄。 Stage 1. Stage 2. Stage 3. Stage 4. ALUTs. 1143. 752. 1484. 260. Registers. 1191. 807. 2375. 360. Memory bits. 210. 4943. 0. 5259. DSP Blocks. 5. 52. 5. 21. 表 4-6 各 Stage 實際合成資源消耗 33.

(40) 第四章 實驗數據與效能分析. 電路資源的消耗方面,再以最大數量級 Big O 做一次分析,如同表 4-7, 這方面會受到訓練資料 Training Data 所影響,我們假設 Training Data 有𝑝筆, 這將會影響到 Stage 2 輸入 Stage 3 之間的 Buffer 所需之大小,Training Data 數量越多則所需之 Buffer 要越大,一筆 Training Data 將需要一個 32-bit 的 暫存器來暫存所需之運算資料,其餘的運算電路所消耗之資源都與其數量 相符。 另外,由於 Stage 3 輸出給 Stage 4 中有延遲輸出之 Shift Register 來做 為緩衝,是為了讓除數輸入 Stage 4 的時間點與被除數相同,所以在這邊增 加與被除數計算中的浮點數乘法器相同延遲之 Shift Register 級數(14 個)。 Stage 1. Stage 2. Stage 3. Stage 4. 浮點數加法器. O(1). 0. 0. 0. 浮點數乘法器. O(1). 0. O(1). 0. 浮點數除法器. 0. O(1). 0. O(1). 浮點數指數函式. 0. O(1). 0. 0. 浮點數累加器. O(1). 0. O(1). 0. 32-bit 暫存器. 0. 0. O(𝑝). O(1). 表 4-7 各 Stage 資源消耗分析. 4.4 硬體電路效能分析 34.

(41) 第四章 實驗數據與效能分析. 本論文實做之硬體電路,於 Gate Level 模擬中可以正常運行在 100MHz 之下,而輸入之 Training Data 為我們測試好的 14 筆 Training Data,也就是 表 4-3 所提及的資料。而運行在 100MHz 代表一個 Clock Cycle 為 10ns,這 樣我們可以透過電路的模擬軟體 Modelsim 得知電路的計算時間。 另外,由於我們所使用的浮點數運算單元是管線化的,故輸出會有延 遲,所以根據 IP Core 設定之參數還可以分析各種管線化浮點數運算單元之 輸出延遲如表 4-8。 (Clock Rate = 100 MHz). Delay (Clock Cycle). Time (ns). ALTFP_ADD_SUB. 14. 140. ALTFP_MULT. 11. 110. ALTFP_DIV. 14. 140. ALTFP_EXP. 17. 170. ALTERA_FP_ACC_CUSTOM 5. 50. v15.1 表 4-8 各管線化浮點數運算單元之延遲參數設定. 緊接著我們再整理出每一個 Stage 個別的輸出延遲,也就是 Input Valid 輸入後,到 Output Valid 輸出的時間差,如表 4-9 所示,可以更詳細的了解 35.

(42) 第四章 實驗數據與效能分析. 到每一個 Stage 硬體電路的運作時間。 (Clock Rate = 100 MHz). Delay (Clock Cycle). Time (ns). Stage 1. 31. 310. Stage 2. 28. 280. Stage 3. 16. 160. Stage 4. 14. 140. 表 4-9 各 Stage 之輸出延遲 最後根據我們所設計的電路架構,我們可以推算出硬體電路整個計算 的過程之時序圖分析,如圖 4-1,可以看到 Stage 1 與 Stage 2 之間因為沒有 Buffer 暫存,而 Stage 3 與 Stage 4 中間也沒有,但是 Stage 2 與 Stage 3 之間 有暫存 Training Data 之 SISO Buffer,先儲存住所有 Stage 2 的計算結果輸 出權重值𝑊(𝐱, 𝐱 𝑖 ),等所有結果都計算出來之後,再往後面的 Stage 3 以及 Stage 4 傳遞,繼續進行運算,直到 Stage 4 才得到正確的評估值𝑦 ∗. 36.

(43) 第四章 實驗數據與效能分析. 圖 4-1 各 Stage 運算時序圖分析 在硬體電路的效能分析上也做一下最大數量級 Big O 的時間方面分析, 這方面一樣會受到訓練資料 Training Data 的數量𝑝所影響,另外還有通道數 Link n 個,也會影響到時間的數量級,雖然本論文目前設計的 Link 數為 2 個,但是這方面是可以擴充的,所以我們將這部份的分析也列入考慮的範 圍裡面,整理出如表 4-10 的效能分析。. Stage 1. Stage 2. Stage 3. Stage 4. 浮點數加法器. O(n*𝑝). 0. 0. 0. 浮點數乘法器. O(n*𝑝). 0. O(𝑝). 0. 浮點數除法器. 0. O(𝑝). 0. O(1). 浮點數指數函式. 0. O(𝑝). 0. 0. 浮點數累加器. O(n*𝑝). 0. O(𝑝). 0. 37.

(44) 第四章 實驗數據與效能分析. 32-bit 暫存器. 0. 0. O(𝑝). 0. Stage 整體. O(n*𝑝). O(𝑝). O(𝑝). O(1). 表 4-10 各 Stage 時間消耗分析 根據 Modelsim 軟體的 Gate Level 模擬結果,可以預估出本論文所設計 的硬體電路,在一筆輸入資料𝐱輸入之後到計算出評估值𝑦 ∗ 所需要的時間為 130 個 Clock Cycle,並且由於我們所設計的硬體電路運行在 100 MHz 之下, 所以一個 Clock Cycle 為 10 ns,故一次評估值𝑦 ∗ 的計算時間為 1300 ns。 最後如同表 4-2 的設定,Link 1 的最大頻寬為 70,Link 2 的最大頻寬 為 50,而全搜尋的搜尋間距Δ= 0.25,故我們可以推算出要計算的輸入資 料𝐱有( 70 * 4 + 1 ) * ( 50 * 4 + 1 ) = 56481 筆,也就是 56481 筆評估值𝑦 ∗ 的 計算時間 56481 *1300 ns = 73425300 ns = 73.4253 ms,與我們以 Matlab 語 法實做之全搜尋運算相比較,如同表 4-11 所列,可發現硬體電路的效能確 實遠優於軟體的運算時間,體現了硬體電路在效能上的價值。 硬體電路 輸入資料筆數. 56481. 一次評估值𝑦 ∗ 的計算時間. 1300 ns. 全搜尋的計算時間. 73.4253 ms Matlab 軟體. 全搜尋的計算時間. 3.2 second 38.

(45) 第四章 實驗數據與效能分析. 軟硬體效能差距. 約 44 倍. 表 4-11 Matlab 軟體與硬體電路執行時間. 39.

(46) 第五章 結論. 第五章 結論 本論文成功的以 Altera Quartus II EDA Tool 以及 Modelsim Altera Simulation Tool 製作硬體電路並且合成繞線布局,最後以 Gate Level 模擬 配合 Matlab 語法軟體的計算結果驗證硬體電路計算的正確性,且擁有相當 程度的運算速度,相較於軟體運算快上許多倍。與原本的初衷相符,如果 以軟體架設在橋接器上進行運算並設定,將會影響橋接器原本應負責的功 能,但是客製化這個運算電路則可以幫忙分散這部份的負擔,且快速又即 時,才能達成令使用者對服務品質滿意的目標。 並且本論文在運算電路架構上,也考量了許多問題,例如彈性,與硬 體電路資源的消耗,以及效能上的考量,大幅度的減少緩衝區的運用,也 就是減少硬體電路的暫存器的需求,還有大量利用管線化的技巧,讓各 Stage 的運算能夠重疊的進行,在 Stage 1 也保留了通道數可以再增加的彈 性,且不增加硬體電路資源。 此外,本論文所製作之硬體電路,也與軟體的運算速度做一些比較, 發現硬體電路的計算效能比軟體快了近 44 倍,也就是說硬體電路計算出結 果比軟體早了許多,成功實現了快速且即時的計算結果反應,應能滿足使 用者的需求。. 40.

(47) 參考文獻. 參考文獻 [1] Chen, S. An overview of quality of service routing for next-generation high-speed networks: problems and solutions, IEEE Network, 1998. [2] Kortebi, A.; Le Dain, P.; Dure, F. Home network assistant: Towards better diagnostics and increased customer satisfaction, IEEE Global Information Infrastructure Symposium, 2013. [3] Mahajan, M.; Parashar, M., Managing QoS for multimedia applications in the differentiated services environment, Journal of Network and Systems Management, 2003. [4] Specht, D.F. A general regression neural network, IEEE Trans. Neural Networks, 1991. [5] Haykin, S. Neural Networks and Learning Machines, 3rd Ed., Pearson International, 2009. [6] DAVID D. CLARK, MEMBER, IEEE, KENNETH T. POGRAN, MEMBER, IEEE, AND DAVID p. WED, An Introduction to Local Area Networks, PROCEEDINGS OF THE IEEE, VOL. 66, NO. 11, NOVEMBER 1978 [7] Wang, Z. ; Crowcroft, J. Quality-of-service routing for supporting. 41.

(48) 參考文獻. multimedia applications, IEEE Journal on Selected Areas in Communications, 1996. [8] Altera Inc. https://www.altera.com/ [9] Matlab, Mathwork Inc. http://www.mathworks.com/products/matlab/ [10] Chandra, P.; Fisher, A.L.; Kosak, C.; Steenkiste, P. Network support for pplication-oriented QoS, IEEE International Workshop on Quality of Service, 1998. [11] IEEE 1901 Standard for Broadband over Powerline Networks: Medium Access Control and PHY Layer specifications, IEEE Standards Association, 2010. (http://standards.ieee.org/findstds/standard/1901-2010.html) [12] Galli, S.; Scaglione, A.; Wang Z. Powerline Communications and Smart Grid, IEEE International Conference on Smart Grid Communications, 2010. [13] MoCA: MAC/PHY specification version 1.1, Multimedia over Coax Alliance (MoCA), 2011.. 42.

(49)

參考文獻

Outline

相關文件

1、 網路管理與通信技術整合實務、機電控制、網拍多媒體行銷及物流從業人員

z 交流電路的分析基本上可分為時域分析及頻域分析兩

第四章 連續時間週期訊號之頻域分析-傅立葉級數 第五章 連續時間訊號之頻域分析-傅立葉轉換.. 第六章

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

(二) 履約標的或履約標的內涉及於平面、廣播、網路及電視等媒體辦理政策 宣導部分,應切實依預算法第 62 條之

熟悉 MS-OFFICE

計算機網路 微積分上 微積分下

熟悉 MS-OFFICE