演算法之本質(zhì)資料傳輸率量化方法
【專利摘要】本發(fā)明系揭露一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟:偵測一資料是否曾被使用;當偵知該資料并非被重復使用時,提供一包含n個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L(i,j)的拉普拉斯矩陣L,其中各該頂點代表一作業(yè)或該資料,各該邊代表一資料傳輸,且vi為第i個頂點;以及使用該L以估算該本質(zhì)資料傳輸率的一最大數(shù)量。
【專利說明】演算法之本質(zhì)資料傳輸率量化方法
【技術領域】
[0001]本發(fā)明涉及一演算法的本質(zhì)資料傳輸率量化方法,尤指一種提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L(i,j)的拉普拉斯矩陣L以估算該本質(zhì)資料傳輸率的一最大數(shù)量的方法。
【背景技術】
[0002]可基于演算法復雜度的萃取與分析以同步地探索演算法與架構兩者的演算法暨架構共同探索(AAC)設計方法論成為在新興的電子系統(tǒng)層級設計(ESL)紀元中的一設計范例。演算法的本質(zhì)資料傳輸率是有利于探索用于在現(xiàn)代與未來的訊號與信息處理應用上所采用的更復雜的演算法的一般平臺的頻寬的重要的復雜度度量之一。因此,演算法所需的本質(zhì)資料傳輸率的量化成為同時最適化演算法與架構兩者所必須的且是基要的。
[0003]Ravasi等曾提議要藉由軟件指令獲得演算法的計算復雜度以及基于客制化虛擬內(nèi)存架構來計算資料傳輸與儲存的需求(M.Ravasi and M.MattavelIi,“High-abstraction level complexity analysis and memory architecture simulationsof multimedia algorithms, ” IEEE Trans, on Circuits and Systems for VideoTechnology, pp.673 - 684, Vol.15,N0.5,May 2005.)。此一技術可有效地獲得與平臺無關的計算復雜度。然而,資料傳輸與儲存的需求是較依賴于客制化虛擬內(nèi)存架構的,且因此對于演算法本身并不是本質(zhì)化的。
[0004]現(xiàn)存技術(例如,M.Horowitz, A.Joch, F.Kossentini and A.Hallapuro,“H.264/AVC baseline profile decoder complexity analysis, ” IEEE Trans, onCircuits and Systems for Video Technology, pp.704 - 716, Vol.13, N0.7, July2003)藉由在不同的目標平臺上描繪出演算法的復雜度以測量之。在Horowitz等中,演算法資料傳輸?shù)臄?shù)量是從負載及儲存作業(yè)的角度來測量的。此一習知技術(HOTOWitz等)的主要缺點為:所測量的在資料傳輸上的演算法復雜度,較倚賴于目標處理器導向的平臺而非演算法本身。因此,所測量的對于演算法的復雜度再次地并非是本質(zhì)化的且會因目標平臺而偏移。
[0005]因為資料傳輸率顯著地被代表演算法的資料流的資料顆粒所影響,為了表征演算法的復雜度,針對復數(shù)個資料顆粒的資料傳輸率的測量是基本的且是必要的。然而,前述兩個習知技術并未支持復數(shù)顆粒的資料傳輸分析。此亦為該兩個習知技術的主要缺點。
[0006]職是之故,發(fā)明人鑒于習知技術的缺失,乃思及改良發(fā)明的意念,終能發(fā)明出本案的「演算法的本質(zhì)資料傳輸率量化方法」。
【發(fā)明內(nèi)容】
[0007]本案的主要目的在于提供一種基于代數(shù)理論的系統(tǒng)化的方法以量化演算法的針對不同資料顆粒的本質(zhì)資料傳輸率,俾利于移植演算法于新興的平臺。本發(fā)明所萃取的資料傳輸率對于演算法是本質(zhì)性的,且用于硬件或軟件都是未偏移的;因此,其系與平臺無關的,且可用于協(xié)助一般應用的演算法暨架構共同探索。
[0008]本案的又一主要目的在于提供一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟:偵測一資料是否曾被使用;當偵知該資料并非被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L(i,j)的拉普拉斯矩陣L,其中各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點;提供一具η個元素的向量X,并使XtLX=S (x1-xj)2,且(vi, vj) e E(G)以計算因?qū)⒃摝莻€頂點劃分為包含至少2個相鄰頂點的次圖(sub-graph)而在該m個邊中被切過的邊的一總數(shù)中的一最大值,其中該η個元素是與該G的η個頂點相關的η個變數(shù),且(vi, vj) e E (G)代表所有vi與vj相鄰的作業(yè)組對;以及使用該最大值以估算該本質(zhì)資料傳輸率的一最大數(shù)量。
本案的下一主要目的在于提供一種度量一本質(zhì)資料傳輸量的方法,包含下列步驟:偵測一資料是否曾被使用;當偵知該資料被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素M(i,j)的關聯(lián)相依矩陣M,其中i是第i個頂點,j是第j個邊,各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點;提供一具η個元素的向量X,并計算Mx的值以獲得因?qū)⒃摝莻€頂點劃分為包含至少2個相鄰頂點的次圖而使該m個邊分別是一被切過的輸入邊,或一被切過的輸出邊,或一未被切過的邊的一代表數(shù)字,其中該η個元素是與G的η個頂點相關的η個變數(shù);使用該M以估算在考慮一最大資料重復使用情況下的該本質(zhì)資料傳輸率的一最小數(shù)量;以及估算因該資料被重復使用所需一額外區(qū)域儲存區(qū)的大小。
[0009]本案的再一主要目的在于提供一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟:偵測一資料是否曾被使用;當偵知該資料并非被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L (i,j)的拉普拉斯矩陣L,其中各該頂點代表一作業(yè)或該資料,各該邊代表一資料傳輸,且vi為第i個頂點;以及使用該L以估算該本質(zhì)資料
傳輸率的一最大數(shù)量。
[0010]本案的另一主要目的在于提供一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟:偵測一資料是否曾被使用;當偵知該資料被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素M(i,j)的相依矩陣M,其中i是第i個頂點,j是第j個邊,各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點;使用該M以估算在考慮一最大資料重復使用情況下的該本質(zhì)資料傳輸量的一最小數(shù)量;以及估算因該資料被重復使用所需一額外區(qū)域儲存區(qū)的大小。
[0011]為了讓本發(fā)明的上述目的、特征、和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下:
【專利附圖】
【附圖說明】
[0012]圖1系顯示一依據(jù)本發(fā)明構想的較佳實施例的資料傳輸圖;
圖2系顯示一移動估測的搜尋窗口的示意圖;
圖3系顯示一水平搜尋窗口資料再使用機制的示意圖;
圖4系顯示一資料再使用機制利用搜尋窗口的僅在水平方向重迭的兩個相鄰的區(qū)塊的不意圖;
圖5系顯示一單一大區(qū)塊的搜尋窗口的示意圖;以及 圖6系顯示一用于水平及垂直搜尋窗口再使用機制的資料傳輸率對區(qū)域儲存區(qū)大小的曲線。
【具體實施方式】
[0013]復雜度的度量僅依賴于演算法資料流的特性,且對于硬/軟件的執(zhí)行細節(jié)是透明的。本發(fā)明所提出的本質(zhì)復雜度的測量是與平臺無關的;因此,在將復雜的演算法對應至一般的結構或新興的平臺方面,其扮演了一個關鍵性地角色。
[0014]演算法可以用自然語言、數(shù)學式、流程圖、偽碼、高階程序語言等代表。在訊號處理應用中,數(shù)學式是代表一演算法的最抽象、明確及簡潔的方法之一。對應的訊號流圖形與資料流模式可基于數(shù)學的代表而后獲得。資料流模式可描繪計算機與通訊間的內(nèi)在關系。結果是,資料流模式所產(chǎn)生的圖形藉由以頂點代表作業(yè)及以具方向性的邊代表資料的來源與目的地,亦即資料的流動,清晰地顯露在每一個作業(yè)間的資料相依性。
[0015]與傳統(tǒng)高階程序模式相比,資料流模式繼承自數(shù)學的代表,可包含本質(zhì)復雜度信息以及透露對執(zhí)行細節(jié)是透明的結構特征。在傳統(tǒng)設計方法論中,演算法的發(fā)展與架構是在兩個獨立的階段分開執(zhí)行地。相反的,資料流模式可以無縫地橋接在兩個獨立的設計階段間的縫隙,使能同時最適化演算法與架構兩者,以用于演算法暨架構共同探索。
[0016]在演算法暨架構共同探索中,資料顆粒是一重要的參數(shù)。較粗與較細的資料顆粒各自對應于較高及較低水平的抽象性。此外,作業(yè)的顆粒是與資料的顆粒一致的。因此,作業(yè)可以依憑應用的場景,而處在邏輯作業(yè)、算數(shù)作業(yè)、濾波器、工作或資料包處理的水平。為滿足用于實時視覺運算應用的總處理能力的需求,演算法的工作負荷必須按照區(qū)間來執(zhí)行,使時間的精確度依賴于資料的顆粒。因為資料的顆粒為一相關于時間信息的復雜度的度量,資料的顆粒顯著地影響演算法的資料傳輸率。
[0017]資料流執(zhí)行順序亦影響演算法的資料傳輸率。這是因為具不同執(zhí)行順序的資料流造成不同程度的資料再使用,其為影響演算法的資料傳輸率的關鍵因素。若一演算法的資料流為已知,與平臺無關的資料傳輸率的復雜度分析即可據(jù)以執(zhí)行。本發(fā)明基于在一細的資料顆粒時,資料傳輸圖中邊被切過的觀念來量化資料傳輸量,且因此量化了資料傳輸率,在視覺運算應用中其為畫素。在較粗顆粒時的資料傳輸率可以藉由將細的顆粒封入較粗者中,而是易于獲得的。此一策略可被應用于系統(tǒng)化地分析復數(shù)個資料顆粒的資料流,而無需重新建立資料流模式。在將實時應用的總處理能力的需求列入考慮后,對應的平均資料可以各自在細顆粒與粗顆粒時被計算。在瞬間資料率中牽涉內(nèi)存的時間延遲與通訊負擔,尖峰頻寬可以被估算以進一步?jīng)Q定資料總線的寬度與時鐘比率。
[0018]一、無資料再使用時的極大資料傳輸率
為執(zhí)行一個演算法的功能,輸入資料被運算器閱讀與消耗以產(chǎn)生輸出資料。如果資料再使用未被考慮,一些資料會被傳輸數(shù)次。資料傳輸?shù)淖畲髷?shù)量是一個本質(zhì)復雜度的度量,其測量沒有資料再使用時的資料傳輸數(shù)量的上界。
[0019]基于演算法的資料流圖形,輸入與輸出資料傳輸?shù)淖畲髷?shù)量可以被模式化為一邊切割問題。使G為一資料流圖形(或為一資料傳輸圖),由η個表示作業(yè)或資料的頂點與m個代表資料傳輸?shù)倪吽M成?;谫Y料顆粒的定義,藉由分割表示輸入資料的頂點成為次圖以及重置該等頂點為另一個次圖,輸入資料傳輸?shù)淖畲髷?shù)量是易于計算的。此一分割的邊切割的大小透露了輸入資料傳輸?shù)淖畲髷?shù)量。以相似的方式,藉由分割表示輸出資料的頂點成為次圖,輸出資料傳輸?shù)淖畲髷?shù)量是可以被量化的。
[0020]在本發(fā)明中,邊切割的量化大小是藉由譜圖理論中的拉普拉斯矩陣L來執(zhí)行的,其能以一精簡的形式代表G的連接度,表示為
【權利要求】
1.一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟: 偵測一資料是否曾被使用; 當偵知該資料并非被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L(i,j)的拉普拉斯矩陣L,其中各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點; 提供一具η個元素的向量X,并使XtLX=S (x1-xj)2,且(vi, vj) e E(G)以計算因?qū)⒃摝莻€頂點劃分為包含至少2個相鄰頂點的次圖而在該m個邊中被切過的邊的一總數(shù)中的一最大值,其中該η個元素是與該G的η個頂點相關的η個變數(shù),且(vi,vj) e E(G)代表所有vi與vj相鄰的作業(yè)組對;以及 使用該最大值以估算該本質(zhì)資料傳輸率的一最大數(shù)量。
2.如權利要求1所述的方法,其中當i=j時,L(i,j)=vi的自由度,而當vi與第j個頂點 vj 相鄰接時,L(i, j) =-1,否則 L(i, j)=0。
3.如權利要求2所述的方法,其中vi的自由度代表連接到第i個頂點vi的邊的一總數(shù),在L中第i個對角線元素顯示連接到第i個作業(yè)的作業(yè)或資料的一數(shù)目,且不在對角在線的一 L的元素代表兩作業(yè)是否相連接。
4.如權利要求1所述的方法,其中當該X的各該元素均各具有一I或-1的值,則代表該G被劃分為兩個該次圖,此時當兩個相鄰的端點被賦予同樣的值時,代表這兩點屬于同一該次圖,而當兩個相鄰的端點被賦予不同的值時,則代表這兩點分屬于兩個不同的該次圖。
5.如權利要求4所述的方法,其中χ1χ=4*被切過的邊的該總數(shù)。
6.一種度量一本質(zhì)資料傳輸量的方法,包含下列步驟: 偵測一資料是否曾被使用; 當偵知該資料被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素M(i,j)的關聯(lián)相依矩陣M,其中i是第i個頂點,j是第j個邊,各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點; 提供一具η個元素的向量X,并計算Mx的值以獲得因?qū)⒃摝莻€頂點劃分為包含至少2個相鄰頂點的次圖而使該m個邊分別是一被切過的輸入邊,或一被切過的輸出邊,或一未被切過的邊的一代表數(shù)字,其中該η個元素是與G的η個頂點相關的η個變數(shù);以及 使用該關聯(lián)相依矩陣M以估算由于一資料重復使用,在一細資料顆粒時所需一額外區(qū)域儲存區(qū)的大小。
7.如權利要求6所述的方法,其中當vi是第i邊的尾端時,M(i,j)=l,而當vj是第j邊的起首時,M(i, j) =-1,否則M(i, j)=0。
8.如權利要求7所述的方法,其中Mx=y,y為一向量,當y的一元素具有一值2時,代表其為該被切過的輸入邊,當I的該元素具有一值O時,代表其為該未被切過的邊,且當y的該元素具有一值-2時,則代表其為該被切過的輸出邊。
9.一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟: 偵測一資料是否曾被使用; 當偵知該資料并非被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素L (i,j)的拉普拉斯矩陣L,其中各該頂點代表一作業(yè)或該資料,各該邊代表一資料傳輸,且vi為第i個頂點;以及使用該拉普拉斯矩陣L以估算該本質(zhì)資料傳輸率的一最大數(shù)量。
10.一種度量一本質(zhì)資料傳輸率的方法,包含下列步驟: 偵測一資料是否曾被使用; 當偵知該資料被重復使用時,提供一包含η個頂點與m個邊的資料傳輸圖G,及一具ixj個元素M(i,j)的關聯(lián)相依矩陣M,其中i是第i個頂點,j是第j個邊,各該頂點代表一作業(yè)或一資料,各該邊代表一資料傳輸,且vi為第i個頂點; 使用該關聯(lián)相依矩陣M以估算在考慮一最大資料重復使用情況下的該本質(zhì)資料傳輸量的一最小數(shù)量;以及 估算因該資料被重復使用所需一額外區(qū)域儲存區(qū)的大小。
【文檔編號】G06F13/28GK103502961SQ201180065417
【公開日】2014年1月8日 申請日期:2011年7月20日 優(yōu)先權日:2011年7月20日
【發(fā)明者】李國君, 林和源 申請人:李國君