- 分布式多媒體計算機系統
- 劉玉貴 楊學良編著
- 5101字
- 2018-11-08 17:36:41
1.3 分布式多媒體計算機系統的研究內容
分布式系統的一般研究內容包括進程間的通信、進程的組織與遷移、命名與實體定位、同步與互斥、一致性和復制、容錯、安全等。多媒體計算機技術則研究音、視頻數據的獲取與數字化、壓縮編碼、多媒體的存儲與組織管理、多媒體通信等。這些關鍵技術成為支持分布式多媒體計算機系統的基礎,都是本書需要討論的內容。為了支持多媒體的分布式應用,分布式多媒體計算機系統還有一些特定的研究內容,如支持流媒體的進程間通信、支持分布式多媒體的進程組織模型、分層可擴展壓縮編碼技術、分布式多媒體的任務調度與流的調度、資源管理、QoS保證技術等。
1.面向流的進程間通信
分布式系統的核心問題是進程間的通信。已經提出并在實踐中使用了許多進程通信的方法,如消息傳遞、遠程過程調用(RPC)、遠程方法調用(RMI)等,將在第2章進行詳細討論。傳統的分布式系統討論的進程通信都是在某種程度上對獨立且完整的信息單元進行交換。比如,調用某個過程或方法的請求、對請求的響應,以及消息隊列系統中應用程序間的消息交換都屬于這種類型的通信。這種類型通信的典型特征是,它并不在乎通信究竟在哪個確切的時間發生。雖然系統可能會運行得過快或者過慢,但是同步對通信的正確性沒有影響。
面向流的進程間通信要研究的問題是,分布式系統應該提供怎樣的功能,來為時間敏感的信息交換提供支持。在這種情況下,進程間交換的信息不是獨立的單元,是有同步約束的數據單元序列,稱為數據流(Data Stream)。組成流的各個數據單元之間有時間同步限制,如一個視頻流由一個個的幀組成,幀之間的時間間隔不能大于40ms。進程間的通信機制必須透明地保證這種時間同步。進程間的通信過程也不能用簡單的請求—應答來描述,因為一次請求(如點播一個視頻節目)的應答可能需要大量的、長時間的數據發送。在應答數據的傳遞過程中,底層通信子系統可能發生了變化(如Internet帶寬變小了)。為了保證流的實時性,透明地調整傳輸策略是必要的,甚至需要被請求進程改變流數據的特征,如調整流的壓縮編碼策略等。
2.分布式多媒體的進程組織模型
分布式系統的進程組織模型研究進程間用什么方式協作完成一個計算任務。被廣泛接受的是客戶機/服務器模型。該模型把分布式系統的進程劃分為客戶機和服務器兩組,服務器進程實現某個特定的服務,客戶機則是向服務器請求服務的進程。用客戶機/服務器模型來理解和設計分布式系統,大大簡化了系統中復雜的進程協作關系。在分布式多媒體計算機系統中,簡單的客戶機/服務器模型有時會遇到困難。例如,在使用多媒體代理服務器和多個媒體副本的Internet視頻點播系統中,客戶的點播請求可能直接由代理服務器服務、某個收益最好的副本服務器服務,或者是由代理和媒體服務器共同服務(代理服務器僅緩存了流媒體的前綴數據時),也可能由多個服務器同時提供服務(如視頻與伴音存儲在不同的服務器上的情況)。有研究者在基本的客戶機/服務器模型上已經提出了一些新的進程組織模型,如基于Agent的客戶機/服務器協調模型。客戶機和服務器通過它們的代理(Agent)相互通信和協調。在服務器組代理SG模型中,SG Agent可以透明地分解服務請求、決定子服務由哪個服務器進程提供,簡化了客戶機/服務器通信。在分布式多媒體計算機系統中,特別是Internet上的點播類應用和移動多媒體應用,多媒體代理服務器是經常使用的一種技術,基于Agent的客戶機/服務器模型值得深入研究。另外,在分布式多媒體計算機系統中,服務器向客戶傳送的數據是一個周期性的、有時間約束的實時流,其特點是,流的傳輸要按一定的速率、突發強度進行,組成流的邏輯數據單元(如視頻的一幀)要在限定的時間前到達。網絡狀態是不斷變化的,壓縮的媒體流也常常是變碼率的,在流數據的傳輸過程中需要動態調整傳輸策略、資源分配機制來予以保證。這就是多媒體通信的QoS保證問題。因此,需要在基本的客戶機/服務器模型基礎上研究新的機制,解決上述問題,如能夠實現QoS監控、動態協商、縮放的Agent模型。
3.分層可擴展編碼技術及其應用
傳統的音頻、視頻編碼方法不適合包交換方式網絡的傳輸,其根本原因在于,其目標是將媒體壓縮成為適合一個或幾個固定碼率的碼流,如MPEG-1、H.261、G721,其目標是面向存儲的,或者是面向電路交換網絡的傳輸的。由于網絡的異構性和缺乏QoS保證,帶寬在很大的范圍內發生變化,因此面向網絡傳輸的多媒體編碼的目標是將媒體流壓縮成適合一個碼率范圍的碼流。
在分布式多媒體計算機系統中,為了實現視頻、音頻等流媒體在網絡上的實時傳輸,研究者提出了兩種不同的解決思路。第一種思路是以網絡為中心,要求網絡中的路由器/交換機為流媒體傳輸提供帶寬、延遲、抖動、丟失率的服務質量保證,在Internet上可以通過綜合服務模型和區分服務模型來實現。第二種思路只涉及端系統,不對網絡提出要求,通過端到端的協議實現流媒體傳輸的QoS保障功能。由于第二種思路不依賴于現有的技術和未來的網絡實現,因而是一種比較容易實現的方法。這種方法主要通過分層可擴展編碼技術來實現碼率的動態調整,以適應網絡的動態變化。
所謂可擴展性編碼,是指多媒體的壓縮數據被組織成多個層次結構,即由一個基本層和若干個增強層組成,基本層碼率比較低,可以獨立解碼,恢復的媒體質量比較低,但可以滿足某些基本的應用。基本層加上附加層后,可以提高媒體質量,從而滿足更高質量要求的應用需要。這樣,根據網絡狀態的變化,服務器可以調整流媒體的發送速率(只發送基本層或基本層加前幾個增強層),以質量降級服務來保證流媒體的延遲、抖動、丟失率等QoS要求。另外,在第一種解決思路中,如果有了可擴展編碼技術的支持,便可以更方便和有效地實現。例如,在多媒體組播服務中,組播路由器可以根據組播組成員的接入帶寬,轉發適當層次的媒體流數據,從而實現一個數據源、多個不同的接受條件的接收者。再如在綜合服務模型中,帶寬等資源的預留可以根據流媒體的分層區別對待,如基本層帶寬給予硬保證,增強層則可以僅給予“軟保證”:在資源緊張時丟棄增強層數據包。
關于分層可擴展性編碼的研究可以追溯到10年前,目前它已經被許多現行的國際壓縮標準(如H.263+和MPEG-4)所接納。分層可擴展性編碼主要有3種:時域可擴展、空域可擴展和質量可擴展。其中,精細可擴展性的編碼技術可以實現壓縮碼流在任何碼率截斷的特性,解碼質量隨碼率的增加而持續增加,是目前研究的熱點,國際標準化組織正在征集編碼方案。
在分布式多媒體計算機系統中,關于壓縮編碼的研究主要應該關注分層可擴展技術,以及如何應用該技術保證流媒體傳輸的QoS。
4.QoS保證
多媒體傳輸的QoS保證是分布式多媒體計算機系統研究的一個核心問題。由于多媒體的數據量大和具有實時性要求的特點,要求系統網絡對帶寬、延時、抖動、差錯率、分組丟失率等QoS參數提供保證。在開放性的網絡(如Internet)中,網絡的狀態是動態的,可用帶寬、延時、丟包率等在很大的范圍內隨時變化。對于如何保證QoS,已經開展了許多卓有成效的工作,但目前是一個仍需要深入研究的課題。目前的研究涉及下列內容。
(1)資源管理。有效地通過管理資源(如處理機調度、磁盤I/O策略、存儲(如多媒體代理及緩存技術)、帶寬分配、緩沖區管理等)保證QoS。
(2)多媒體通信。例如,發展高速、寬帶傳輸網絡,開發合適的網絡傳輸協議等。研究端到端的多媒體傳輸技術,如多媒體擁塞控制策略、差錯控制、速率整形等。
(3)QoS機制。例如,以什么樣的模型保證開放網絡上的QoS,IETF提出了綜合服務模型和區分服務模型;又如QoS參數的分層模型等。
(4)流媒體的調度技術和Internet上的流式傳輸的技術。
(5)分層可擴展編碼技術的應用。
5.資源管理
與分布式多媒體有關的資源管理問題有如下研究熱點。
(1)多媒體數據的存儲。由于多媒體的數據量大這個特點,基于服務器類型的分布式多媒體應用的性能瓶頸是存儲及其I/O速度。為了解決存儲數量與I/O速度的矛盾,一般使用分層的存儲體系,如由光盤庫—磁盤陣列構成的存儲結構或由服務器陣列—代理服務器組成的結構等。在分層存儲體系中,需要研究適合多媒體的一、二級存儲的資源替換策略與算法。
(2)磁盤I/O的調度問題。磁盤調度算法主要考慮的是,如何安排各個磁盤讀取請求的服務順序。傳統的文件服務器使用的先來先服務、最短尋道優先、掃描等算法,主要用于減少尋道時間和等待時間,獲得較高的吞吐量,或者提高各個數據流的服務公平性。然而,由于連續媒體的實時性要求,分布式多媒體計算機系統中的存儲服務器的磁盤調度算法應該在保證每個數據流傳輸的實時性基礎上,提高系統的吞吐率。于是,出現了EDF、SCAN-EDF和分組掃描策略等能保證具有I/O時間限制的磁盤調度算法。對于磁盤資源,可以使用緩存技術減少磁盤I/O次數,從而增加磁盤的有效帶寬。間隔緩存使用一個全局緩存來減少磁盤I/O。通過間隔緩存技術進行緩存管理是一種非常吸引人的、能夠明顯提高系統吞吐量的資源管理技術。
(3)如何有效地在存儲介質上存放多媒體數據,以增加磁盤的I/O速度或者減少I/O的次數。分塊和交錯算法是一種有效的存儲策略,它將每個節目都分配到很多磁盤上,從而平衡磁盤負載。RAID0、READ4實現了近似分塊策略,可以提高連續讀、寫速度。存儲服務器陣列技術是一種分布式的服務器組織結構,但多媒體數據在這些服務器中是以均勻分塊的方式分散在各個服務器上的,以獲得更高的資源存取速度。分組存儲技術則通過預先分析多媒體數據的結構與組織特性,將媒體流的生命周期提前到數據存儲的時刻,從而降低了后續過程的計算量,減少了磁盤的訪問頻率。
(4)多媒體代理服務器及緩存技術。代理服務器是一種特殊類型的Internet服務器。在傳統的Web應用中,代理服務器用于擴展用戶對Internet數據的訪問能力。然而,傳統代理服務器并不適于多媒體。多媒體應用有下列顯著的特點。
① 消耗更多的網絡帶寬。
② 具有QoS要求。
③ 用戶能夠控制流媒體的展示等。因此,多媒體代理服務器與傳統代理服務器也有顯著的區別。
除了繼承傳統代理服務器的重要作用之外,多媒體代理服務器具有下列特性。
① 可有效降低用戶的啟動延遲。
② 多媒體代理服務器距離用戶較近,因此網絡狀況較好,從而可以提高用戶接收媒體流的媒體質量。
③ 顯著降低流媒體對Internet的網絡消耗。多媒體代理服務器的另一個重要的應用場景是Internet和無線網絡的邊界。多媒體代理服務器可顯著提高無線用戶訪問Internet多媒體資源的能力。此外,針對無線環境的多媒體代理服務器還可以完成碼率調節、信道編碼等功能,進一步提高無線用戶的服務質量。
6.分布式多媒體的調度
分布式多媒體的調度可以從兩個層面進行研究:操作系統層的實時調度算法和應用層面的流媒體調度技術。一條分布式多媒體流一般由多個任務(進程或線程)在不同計算機上運行形成,有些任務共享一個處理機。系統中如果存在多條多媒體流,那么在一個計算機上就會處理多個任務。分布式多媒體流的調度就是研究多媒體流的任務在CPU上運行的次序,以保證流的延遲和抖動等QoS要求。已有的研究提出了一些多媒體進程調度算法,它們都是從實時系統的任務調度算法直接運用或演變來的。然而,多媒體應用雖然有實時性的要求,其實時性與過程控制系統中的實時性是不同的,即所謂的軟實時:它允許在少數情況下不滿足最后期限(Deadline)。另外,多媒體任務與時間有關的操作都是周期性的,周期性的任務調度比非周期性的容易。因此,針對多媒體的實時調度算法,必須考慮上述特點進行設計。針對多點分布式多媒體計算機系統的調度問題,需要對傳統的多媒體調度算法進行擴展。分布式多媒體計算機系統有許多處理器節點,用網絡連接在一起。每個節點有自己的調度器。傳統的調度器是獨立的。它們獨立地設計、獨立地建立和獨立地管理。每個節點有自己的緩沖區,網絡在交換器上也有自己的緩沖區。由于節點的調度相互獨立,因而這種系統稱為異步系統。異步系統較容易建立,因為每個節點和網絡能獨立設計,最后把它們放在一起即可。但是,異步系統的性能幾乎不可預測。進程在不同節點上的處理需要較長的時間。同步方法是,網絡和每個節點要相互協調。一個節點上的調度要考慮它的相鄰節點。進程在節點和網絡上的處理時間大大減小。
多媒體流的調度屬于應用層技術,它是隨著視頻點播(VoD)的發展而逐漸發展起來的。研究發現,VoD系統的服務能力不僅與視頻服務器硬件系統的利用效率有關,而且也與系統的資源調度、服務機制以及用戶交互密切相關。受硬件成本的限制,視頻服務器的I/O能力和網絡帶寬不能無限制地提高,為了提高系統效率,人們把目光轉向流媒體的調度技術。目前,典型的流媒體調度算法分為兩類:靜態調度算法和動態調度算法。補丁算法族是流調度技術的代表性研究成果。該類算法通過讓用戶利用本地緩存同時接收兩條或多條媒體流,實現了無延遲的服務,同時系統盡可能地用組播流合并用戶,使系統維持較高的效率。