試談軟體定義的本質、特徵、路徑和內涵

2021-01-20 中國輕工業網

    本文嘗試談談軟體定義的本質、特性、路徑和內涵。
    其中本質部分主要內容摘抄自梅宏院士相關報告及論文。
    1軟體定義的技術本質
    隨著「軟體定義網絡」的流行,近年來出現了各種各樣不同的「軟體定義」概念。從計算機系統用戶的視角,作業系統是軟體定義的「計算機」,本質上「軟體定義」的原理與作業系統的原理是一樣的。
「軟體定義」的本質是通過虛擬化及其應用編程接口(API)「暴露」硬體的可操控成分,以實現硬體的按需管理。具體來說,就是將計算、存儲、網絡等IT基礎資源,抽象為系統軟體對虛擬資源進行管理和調用,在此基礎上,用戶可編寫應用程式,訪問資源所提供的服務,進而改變資源的行為,滿足應用對資源的多樣需求。
    「軟體定義」的核心是硬體資源虛擬化和管理功能可編程。所謂硬體資源虛擬化,是將硬體資源抽象為虛擬資源,然後由系統軟體對虛擬資源進行管理和調度。常見的如作業系統中虛擬內存對物理內存的虛擬、偽終端對終端的虛擬、Socket對網絡接口的虛擬、邏輯卷對物理存儲設備的虛擬等。硬體資源虛擬化帶來了如下好處:支持物理資源的共享,提高了資源利用率;屏蔽了不同硬體的複雜細節,簡化了對資源的管理和調度;通過系統調用接口對上層應用提供統一的服務,方便進行程序設計;應用軟體和物理資源在邏輯上分離,各自可分別進行獨立的演化和擴展並保持整個系統的穩定。
    管理功能可編程,則是應用對通用計算系統的核心需求。主要表現在訪問資源所提供的服務以及改變資源的配置和行為兩個方面。在硬體資源虛擬化的基礎上,用戶可編寫應用程式,通過系統調用接口,訪問資源所提供的服務,更重要的是能夠靈活管理和調度資源,改變資源的行為,以滿足應用對資源的多樣需求。所有的硬體資源在功能上都應該是可以編程的,如此軟體系統才可以對其實施管控,一方面最大程度發揮出硬體的性能,另一方面滿足不同應用程式對硬體的不同需求。從程序設計的角度,管理功能可編程意味著計算系統的行為可以通過軟體進行定義,成為所謂的「軟體定義的系統」。
    回顧計算機的發展,早期的計算機就是硬體計算機,計算機作業系統的出現使得我們的計算系統能夠被各個行業當成通用的設備來使用。每個用戶看到的計算機是一臺軟體計算機,是一臺作業系統定義過的計算機。作業系統是向下管理硬體資源,控制程序運行,向上改善人機界面,為應用程式提供支持的系統軟體層。人們通過API可以調用很多東西。而作業系統的目標本質上就是要追求更為高效的,把硬體資源所提供的計算能力發揮出來,通過軟體技術實現靈活高效、可信統一的虛擬資源的管理,這一直是作業系統發展的重要驅動力。在某種意義上也正是因為以作業系統為代表的系統軟體平臺的不斷發展,帶來了應用軟體市場的快速繁榮。
    從作業系統的出現、發展和功能基本定型的過程中,可以看到作業系統實際上就是對計算系統進行「軟體定義」的產物。相對於最早的硬體計算機,作業系統可視為一種「軟體定義」的「虛擬計算機」,屏蔽了底層硬體細節,由軟體對硬體資源進行管理,用戶不再直接對硬體進行編程,而是通過應用編程接口(API)改變硬體行為,實現更優的靈活性、通用性和高效性。
    「軟體定義」是把原來整個高度耦合的一體化硬體,通過標準化、虛擬化,解耦成不同的部件,然後把這些基礎的硬體建立一個虛擬化的軟體層,通過對虛擬化的軟體層提供應用編程接口,暴露硬體的可操控部分,實現原來硬體才提供的功能。再通過管控軟體,自動地進行硬體系統的部署、優化和管理,提供開放、靈活、智能的管控服務。
    軟體定義降低了硬體管理的複雜度,硬體層只需要高效地做好執行功能,控制邏輯由軟體完成。從底層抽象出一個「虛擬硬體」,這種「虛擬硬體」可以隨著需求的變化而被軟體重新定義,而不用真的修改硬體的組織架構。
包括存儲資源、計算資源、網絡資源在內的各種資源被抽象成虛擬資源,用系統軟體對它進行管理和調度,然後再向上提供一層API,管理任務的可編程。在虛擬化基礎之上,用戶就可以編寫他自己的應用程式,訪問所有的資源提供的服務,進而改變資源的組合和行為,滿足對資源的多樣性的需求。
    2軟體定義的特性
    我們正在進入一個軟體定義的時代,其基本的特徵表現為萬物皆可互聯,一切均可編程。向下將「人機物」融合環境的網絡資源、存儲資源、數據資源、計算資源、傳感資源等海量異構資源連接起來實現萬物互聯,向上通過編程提供社會計算、移動計算、雲計算、工業網際網路、物聯網等眾多應用模式。在這個基礎上支撐大數據、人工智慧應用、共享經濟、智能製造等新應用、新模式和新業態。
    具體來說,軟體與硬體解耦形成模塊化、執行與控制分離形成伸縮性、邏輯上集中管理增強靈活性、可編程形成可重構開放能力,這四點是核心特性。簡而言之,就是更多地由軟體來驅動並控制硬體資源。通過軟體定義,實現需求可定義、硬體可重組、軟體可重配、功能可重構。
    「軟體定義」具有可重構性,即系統功能隨著需求改變的能力,也可稱為可編程性。外在需求的變化往往在速度、種類、方式上都有比較大的幅度,需要系統能根據需要及時做出較大的改變。這對單純的硬體來說,各方面的難度都太大。
    「軟體定義」具有靈活性。指可在系統不改變結構的條件下,對可重構性的適應能力。由於邏輯上的集中管理,可以從全局進細顆粒度地掌控。此外,系統能夠被精確配置成各種不同的虛擬設備,可以支持不斷湧現的新技術和新功能。在嵌入新技術和支持新功能時,如果系統的靈活性不夠,系統結構就必然要推倒重來。沒有靈活性,系統可重構的優越性就會隨之喪失,也就不能稱作是軟體定義。
    「軟體定義」具有模塊化。模塊化就是將定義系統的各個任務分解為相互獨立的軟體和硬體模塊,這些模塊通過接口以邏輯的方式連接起來形成所需要的系統功能。物理資源池通過專業的配置,實現靈活的調整、動態的分配與可編程化的配置,使其具有了模塊化的特徵。模塊化系統可以通過增加或替換模塊動態改變功能,而不會與系統中其它模塊產生衝突。模塊間定義良好的接口有助於增強模塊化系統的設計。
    「軟體定義」還具有伸縮性。伸縮性一般指在軟體或硬體中增加或減少模塊,以增強或降低系統性能的自適應能力。在同一個邏輯單元內增加資源來提高處理能力。或者增加更多邏輯單元的資源,並令它們像是一個單元一樣工作。
    伸縮性和可重構性的相互促進作用能夠防止系統退化。由於人們一直追求更高更好的設備性能,未來的標準或新算法不斷地需要嵌入到系統中,系統需要更強的處理能力和更多的資源來完成功能,軟體定義應當能夠適應這種變化。增強系統適應性需要伸縮性作保證,伸縮性需要可重構性支持。伸縮性保證嵌入新功能的能力而具體的實現由可重構性保證。具有先進可重構性的系統要求伸縮性良好,伸縮性良好的系統需要完善的可重構性。
    3軟體定義的路徑
    「軟體定義」的核心途徑是硬體功能虛擬化、管理功能可編程。具體來說有能力開放化、控制與執行分離和硬體資源池化三條。
    能力的開放化。通過集中的控制實現資源的統一管理、整合以及虛擬化後,採用規範化的接口為上層應用提供按需分配的資源及服務。此外,為上層控制提供開放可編程接口。通過這種方式,控制應用只需要關注自身邏輯,而不需要關注底層更多的實現細節,進而實現能力開放,快捷提供應用服務。系統不再僅僅是一種設備、一種設施,更是一種服務,應用範圍得到了進一步的拓展。系統的智能化全部由軟體實現,設備的種類及功能由軟體配置而定,這樣的方式打破了對業務的封閉。
    控制與執行分離。在控制面實現管理與控制等功能;而執行設備僅負責策略的執行。執行面由受控執行的設備組成,執行方式以及業務邏輯由運行在分離出去的控制面上的控制應用所控制。通過這種方式可使得系統的執行面和控制面獨立發展,執行面向通用化、簡單化發展,成本可逐步降低;控制面可向集中化、統一化發展,具有更強的性能和容量。通過控制與執行的分離,使得設備的硬體通用化、簡單化,設備的硬體成本可大幅降低,可促進系統應用。
    硬體資源池化。將各種物理資源,如伺服器、網絡、及存儲等,予以抽象、轉換後呈現出來,打破物理設備結構間的不可切割的障礙,這些虛擬的資源不受現有資源的架構方式、地域或物理設備所限制,並被當成是一種邏輯上的資源,而非物理資源加以控制和管理。將這些資源統一管理進行池化,實現將這些池化的虛擬化資源進行按需分配和重新組合。
    簡而言之,將原來的需求變化必須通過硬體資源平臺變化來實現,轉變為通過一個深度軟體定義的平臺可以靈活地定義管理各種資源,從硬體資源為核心走向軟體平臺為核心。
    在這個過程中,底層的硬體資源從定製化向虛擬化轉變,系統軟體定製化向系統軟體平臺化轉變,應用軟體定製化向應用軟體生態化轉變。


圖1


    從這個視角看,工業網際網路向下對各種硬體資源、工業資源虛擬化,實現統一標識、接入、控制和管理;中間提供集計算、存儲、開發等多種能力的一體化軟體平臺;向上提供開發接口,支持定製化的工業軟體解構重構以及微服務形成面向一個個實際應用場景的工業APP,建立應用軟體生態。通過軟硬體解耦的方式實現硬體資源虛擬化和應用服務軟體化,是典型的軟體定義。
    4軟體定義的內涵
    「軟體定義」的內涵從狹義、廣義兩個層面來看。
    狹義:以人為本,隨需而定
    「軟體定義」的內涵狹義上是以人為本,隨需而定。將人作為生產服務的「主體」,人的意志通過軟體定義來表達和實現,一切服務都得從人的需求切入,根據人的需求來定義產品與服務。軟體為人創造更高價值的產品與服務,人對更高價值的理解會隨時間而變化,軟體需要及時應對這種變化。
    我們關注信息技術改變各領域、重塑全球產業格局的同時,更應看到這種轉變很重要的一個本質是「需求」,這是轉變的根源。而今天,大數據、雲計算技術等信息技術的蓬勃發展能讓我們更快的理解「需求」,且將「需求」了解地更加透徹,更加精準。
    現場的市場早已不是廠家生產什麼、消費者使用什麼。不管是數位化、網絡化還是智能化,重要的是能夠理解消費者、理解行業、理解產業,而理解的基礎是通過軟體對大量數據進行收集、挖掘、分析、計算,找出共性及數據相關性,進而通過軟體定義各種功能,滿足消費者及各方面的需求。數據驅動的「軟體定義」將產業帶入到消費者定義市場的階段。
    廣義:虛擬化、數位化一切
    「軟體定義」的內涵某種角度可以看成是虛擬化可虛擬化的一切,數位化可數位化的一切。「軟體定義」解決硬體的有限和人的需求無限之間的矛盾。軟體將一切信息數位化,信息數位化使得一切可以虛擬化。可知的未來,人類所有意識和生產活動都可能會一一映射到虛擬環境、都可能以數位化的形式存在。比如現在虛擬化的機器人微軟小冰,以及將來可能出現的數字人格。
    「軟體定義」通過虛擬化,創造了一個虛擬的信息空間。這個虛擬的信息空間與實際物理空間相比,更不受時間、空間的約束,產生更大的能量。人類在物理空間的活動能在這裡體現,此外,人類將以數位化的形式在虛擬空間生產、生活。
    在資訊時代,要發揮事物的更大作用,首先要對其進行虛擬化和數位化,用軟體去定義它。軟體定義世界,是現實世界(物理世界)的虛擬化和數位化。有了虛擬化和數位化,事物可以跨越時空限制,從而呈現出無限可能,迸發出的能量也遠超以往。在數字世界,計算能力呈指數級增長,於是AlphaGo戰勝李世石、柯潔也就成為高概率事件。
    軟體定義,數據驅動。通過建模,我們可以用軟體將事物虛擬化、數位化,從而進行各種加工和運算,以發揮其更大的效能。建模的方法決定了模型的高下,從而決定了軟體定義的效能,而建模的方法取決於人們的認知思維水平。通過合理的建模和規範的軟體開發過程,我們可以提高軟體定義的質量,擴大軟體定義的邊界。基於數據的分析與利用則使軟體定義更有了準確的表達。

主要參考資料:
梅宏,軟體定義的時代
梅宏, 郭耀. 面向網構軟體的作業系統:發展及現狀[J]. 科技導報,2016,34(14):33-41
Mei Hong, Huang Gang, Cao Donggang, et al. Perspectives on"Software-defined"from software researchers[J]. Communications of CCCF, 2015, 11(1): 68-71
趙軍鎖, 軟體定義衛星
軟體定義世界,數據引領未來——智能製造縱橫談

相關焦點

  • 梅宏院士:軟體定義的未來,萬物皆可互聯,一切均可編程
    軟體定義的技術本質是把原先一體化的硬體設施打破,將基礎硬體虛擬化並提供標準化的基本功能,然後通過管控軟體,控制其基本功能,提供更開放、靈活、智能的管控服務。他認為 軟體技術是新一輪製造業革命的核心競爭力之一。智能製造業需要實現「硬體」、知識和工藝流程的軟體化,進而實現軟體的平臺化,本質上即「軟體定義」。
  • 梅宏院士:軟體定義的未來——萬物皆可互聯,一切均可編程 | CNCC...
    結合當下的人工智慧熱潮,梅宏教授認為我們正在進入一個軟體定義的時代。軟體定義的技術本質是把原先一體化的硬體設施打破,將基礎硬體虛擬化並提供標準化的基本功能,然後通過管控軟體,控制其基本功能,提供更開放、靈活、智能的管控服務。他認為軟體技術是新一輪製造業革命的核心競爭力之一。智能製造業需要實現「硬體」、知識和工藝流程的軟體化,進而實現軟體的平臺化,本質上即「軟體定義」。
  • 軟體定義存儲未來,首屆軟體定義存儲峰會(SDSS)將在深圳舉辦!
    軟體定義存儲是什麼,為什麼這麼大錢(前)景?軟體定義存儲 (SDS) 直到現在也依然沒有明確的定義,但有較為明顯的特徵:它強調發揮軟體的能力,它對硬體不放心,不指望這硬體一直正常運行,因為它用的是平民x86伺服器,而不是又專又貴的高富帥設備。
  • 軟體定義存儲(SDS)的定義及其分類
    軟體定義,究其本質,就是將原來高度耦合的一體化硬體,通過標準化、抽象化(虛擬化),解耦成不同的部件。圍繞這些部件,建立起虛擬化軟體層,以API(應用編程接口)的方式,實現原來硬體才提供的功能。再由管理控制軟體,自動地進行硬體資源的部署、優化和管理,提供高度的靈活性,為應用提供服務。簡而言之,就是更多地由軟體來驅動並控制硬體資源。
  • 質疑軟體定義一切
    1軟體定義亂像叢生  最開始是軟體定義網絡,  再後是軟體定義數據中心,  再再後來是軟體定義基礎構架,  現在時興起軟體定義一切,  可是遺憾的是軟體卻定義不了自己。軟體定義存儲惹來一片爭議  但是EMC卻和VMware的理解不同,EMC認為SDS是跨越所有廠商的陣列,跨越所有的商品伺服器,為達到軟體定義數據中心的需求而提供的完整的解決方案
  • 軟體定義光網絡故障恢復與資源分配
    軟體定義光網絡故障恢復與資源分配 SDN和EONs的結合會是未來光控制平面的有力解決方案之一,本文將從軟體定義光網絡中的故障恢復和資源分配兩個方面做簡短的介紹。
  • 助你成為模型的設計高手:目標-抽取本質-概念-內涵-定義-模型!
    任何一個模型,都是要對複雜的一類事物進行簡化,從複雜的一類事物之中抽取出本質屬性,用這個本質屬性來指代這類事物,這樣子才能從複雜走向簡單。抓住事物的本質特徵,捨棄掉次要的非本質特徵,才能達到簡單。從一類事物之中抽取出關鍵的本質特徵,捨棄掉次要的特徵,以達到對一類事物的共同抽象。
  • 杉巖:軟體定義存儲(SDS),存儲新時代
    與此同時,對於大的存儲廠商來說,傳統上在硬體和軟體之間的緊密聯繫讓他們可以優化存儲服務和性能,現在這些廠商必須謹慎地接受軟體定義存儲的概念或冒著現有產品線被侵蝕的風險。 何為軟體定義存儲? 簡單說來,軟體定義存儲就是,在任何存儲上運行的應用都能夠在用戶定義的策略的驅動下自動工作。軟體定義存儲將存儲服務從存儲系統中抽象出來,且可同時向機械硬碟及固態硬碟提供存儲服務。
  • 軟體定義PLC——工業網際網路時代控制系統的技術變革
    而現有的工業網際網路平臺還無法做到直達PLC的互操作,因此只有採用軟體定義的PLC才能夠與工業網際網路平臺直接相通,比如實現PLC輕鬆連接至網際網路,將APP和分析結果嵌入機器和雲,實現智能化和自我感知,無需更換PLC硬體即可改變和升級PLC,通過API和生態系統擴大工業網際網路平臺應用。
  • 毛澤東的創新思維方法及本質特徵
    毛澤東創新思維方法的本質特徵  毛澤東創新思維的方法與途徑之間密切關聯,有著共同的本質屬性與特徵,即科學性、實踐性和群眾性。  科學性。毛澤東一貫重視對哲學問題的研究,特別是認識論、方法論的研究,並在這方面豐富和發展了馬克思主義。
  • IBM Spectrum Storage軟體定義存儲未來
    軟體定義存儲攻破數據孤島  據最新ESG 研究表明, 90%以上存儲專業人士預計超融合或雲時代下軟體定義存儲將在未來5年中為存儲領域帶來本質上的變革;其中,超過60%致力於部署軟體定義存儲應用。  那麼,軟體定義存儲為何受此推崇?到底具有多麼強大的能力使其擁有如此之魅力?
  • 軟體定義光網絡(SDON)標準進展及技術新熱點
    軟體定義光網絡(SDON)將軟體定義網絡(SDN)和傳送網絡相互結合,是傳送網管控領域的研究熱點,目前已在分組傳送網絡(PTN)和光傳送網(OTN)中有了諸多應用,並在網絡管控架構、信息模型、南北向接口等方面,形成了一系列的標準。
  • 如何看待社會主義本質特徵
    這13個問題是:1,如何看待馬克思主義的真理性,2,如何看待社會主義本質特徵,3,如何看待中國特色社會主義理論體系的科學性,4,如何看待加強和改善中國共產黨的領導,5,如何看待自由、民主、平等的科學內涵和實踐,6,如何看待西方所謂「普世價值」,7,如何準確把握「四個全面」戰略布局,8,如何深刻領會新的發展理念,9,如何科學認識經濟發展新常態,
  • 人類的本質是倉鼠什麼梗什麼意思 梗內涵出處含義介紹
    最近人類的本質這個梗真的非常火,從最開始的複讀機一直發展,近日又有網友表示人類的本質是倉鼠,下面就和小編一起來看看這個梗究竟是怎麼來的吧。  人的本質是倉鼠是什麼梗  人類的本質是倉鼠是最近又有網友提出來的,很多網友也紛紛認同這一說法,這個梗的原話是「人的本質是倉鼠,只要去超市囤積食物就能開心。」
  • 關於新時代主題及其本質特徵的思考
    編者按:  一個時代有一個時代的主題,一個時代有一個時代的特徵、目標和使命。新時代的主題是什麼?什麼樣的主題詞最能夠深刻揭示和精準概括其本質特徵?  復興!時代主題和使命任務的不同,是一個時代區別於其他時代的重要標誌,而更根本的是時代主題所內含的本質的不同。今天,中國特色社會主義進入新時代,世界正逢「百年未有之大變局」,形成新的歷史交匯。站在新的歷史方位上,身處這一新的偉大時代,親身經歷和感受黨和國家事業發生的歷史性變革,如何準確揭示新時代的主題及其本質特徵,值得我們深入思考。
  • 「四個全面」戰略布局:內涵、意義與實現路徑
    與會專家學者結合十八屆五中全會的最新精神,對「四個全面」戰略布局:內涵、意義與實現路徑展開了深入而熱烈的討論。 一、「四個全面」戰略思想的科學內涵 與會學者基於不同的學科背景和觀察視角,圍繞「四個全面」戰略思想的科學內涵展開了熱烈討論。
  • 人民當家作主是社會主義民主政治的本質特徵
    人民當家作主是社會主義民主政治的本質特徵 2017年11月28日 11:14 來源:福建日報 作者:張文彪 字號 內容摘要: 關鍵詞:人民;社會主義民主政治;人民當家作主;中國特色社會主義;本質特徵
  • 軟體定義無線電在軍事方面的應用
    軟體定義無線電在軍事方面的應用 佚名 發表於 2017-11-21 18:42:02 無論是對於戰場上的士兵,還是命令控制中心的決策者,安全實時準確的信息對於任何軍事行動、促進策略和戰術決策都是至關重要的。
  • 陳小波:英特爾助力企業軟體定義存儲導航
    當今科技爆炸時代,軟體定義存儲,超融合等術語浪潮一波接一波,大家開始跟著這些所謂的行業熱門趨勢「隨波逐流」,往往將自身實際情況拋諸腦後,響應趨勢號召,唯恐落於人後。這逐漸使得選擇軟體定義存儲,超融合成了一個不得不正視的問題。12月9日,以「新存儲,新常態,新應用」為主題的中國存儲峰會於北京悠唐皇冠假日酒店召開。
  • 充分認識中國制度的本質特徵和優越性
    這些優勢是中國特色社會主義本質特徵和優越性的集中體現,換言之,中國特色社會主義本質特徵和優越性是我國國家制度和治理體系顯著優勢的根本依據。只有充分認識中國特色社會主義的本質特徵和優越性,才能從本源上堅定對中國特色社會主義的制度自信。因此,《決定》要求:「全黨全社會充分認識中國特色社會主義制度的本質特徵和優越性,堅定製度自信。」