天天看點

梅宏院士:軟體定義的未來——萬物皆可互聯,一切均可程式設計 | CNCC 2017

<b>本文講的是梅宏院士:軟體定義的未來——萬物皆可互聯,一切均可程式設計 | CNCC 2017,</b>

<b></b>

10月26日上午8:30,由中國計算機學會(CCF)主辦,福州市人民政府、福州大學承辦,福建師範大學、福建工程學院協辦的2017中國計算機大會(CNCC 2017)在福州海峽國際會展中心如期隆重召開。大會持續三天兩夜,包括14個特邀報告、2場主題論壇、80餘場前沿技術論壇及活動。雷鋒網作為CNCC 2017獨家戰略合作媒體,到現場進行了全程跟蹤報道,近期将會陸續放出特邀嘉賓的精彩報告,敬請關注!

大會第一環節是特邀報告,中科院院士,北京理工大學副校長梅宏教授作為大會開幕式後的第二位出場嘉賓帶來了題目為《軟體定義一切——機遇和挑戰》的現場報告。

梅宏,中國科學院院士,開發中國家科學院院士,中國計算機學會會士,IEEE Fellow。曾任北京大學資訊科學技術學院院長,上海交通大學副校長,現任北京理工大學副校長,北京大學高可信軟體技術教育部重點實驗室主任。主要從事軟體工程和系統軟體領域的研究,在構件化軟體中間件、開發方法學和工具環境等方面取得了系列成果。

梅宏教授的主題報告是《軟體定義一切:挑戰和機遇》。主要内容分為三部分,無處不在的軟體,軟體定義的時代,新時代的機遇和挑戰。

他從軟體從業者的視角,将計算機軟體發展曆程分為三個階段,并分别總結概括了各個階段的大體體征以及應用領域。第一個階段是1946—1975年,軟硬一體化階段;第二個階段是1975年以後,軟體的産品化、産業化階段;第三個階段是1995年以後,軟體的網絡化、服務化階段。

結合當下的人工智能熱潮,梅宏教授認為我們正在進入一個軟體定義的時代。軟體定義的技術本質是把原先一體化的硬體設施打破,将基礎硬體虛拟化并提供标準化的基本功能,然後通過管控軟體,控制其基本功能,提供更開放、靈活、智能的管控服務。

他認為軟體技術是新一輪制造業革命的核心競争力之一。智能制造業需要實作“硬體”、知識和工藝流程的軟體化,進而實作軟體的平台化,本質上即“軟體定義”。

報告中除了回顧了軟體技術的發展,梅宏教授還從作業系統的視角來了解軟體定義的本質和内涵:硬體資源虛拟化、管理功能可程式設計。最後,梅宏教授也展望了軟體定義的未來,他認為在人-機-物融合計算的場景下,萬物皆可互聯、一切均可程式設計、進而分析了軟體定義的帶來的機遇和挑戰。

軟體定義一切,人-機-物互聯就是軟體人的機遇。軟體定義的挑戰是什麼?梅宏教授認為是體系結構設計決策,系統安全,系統品質以及如何更輕量的虛拟化,還有怎樣打造高度自适應的軟體平台。具體内容請看雷鋒網整理編輯的梅宏院士會場實錄。

以下是梅宏教授的會場實錄,雷鋒網在不改動原意的前提下,做了調整和編輯。

感謝大會給的這個機會!近幾年中,我在不同的場合也做了很多不同的報告,但是這幾年都是被動地被拉去講大資料,後來想想,差點把自己的主業忘了。現在軟體很重要,我們每天的生活都離不開軟體,可能大多數人每天早上起床的第一件事兒就是打開某個APP。是以我今年給自己訂了一個小目标,但凡有機會做報告,我就隻講軟體,也是為本行業的人呼籲一下,是以我今天講的題目很大,軟體定義一切。

“軟體定義一切”并不是我說的,我要是這麼說可能把咱們今天在座的很多同行都給得罪了。我是想借這個題目講一講軟體的三個階段。第一個題目我想大家都認可,軟體已經無處不在,第二個題目是軟體定義的時代。我們正在進入一個新的時代,剛剛過去的十九大講是中華民族複興的時代,我是從資訊技術對人類社會的改造這個角度來談這個新時代,不同的人從不同的角度也給了這個時代不同的賦名。從基礎設施視角來看,這是一個網際網路+時代;從計算模式視角來看,這是一個雲計算時代;從資訊資源視角來看,這是一個大資料時代;從資訊應用視角來看,這是智能化時代。我想說在這些裡面有一項很重要的技術,那就是軟體。某種意義上來說,我們這個時代就是一個軟體定義的時代。

軟體産業呈持續增長态勢。從國内來看,國家工信部公布的2012年到2016年的五年資料中,軟體和資訊技術服務業始終保持高增長,在電子資訊行業的比重也在不斷上升。2008年金融危機開始以後,很多行業都在下滑,而資訊技術行業還在保持增長,而軟體行業的增長又是遠遠高于資訊技術其他的比重。從國際上來看,全球有19個國家軟體支出占國内生産總值的比重超過0.5%,其中美國已經超過1%。這個産業規模一直在保持增長。第二個軟體從業的人數,2014年全球ICT技術勞工約為2900萬人,其中專業軟體開發人員約1100萬人。國家工信部給出的近五年資料中,軟體從業人數也在逐年增長,2016年達到576萬人。但如果換一個視角,從開源社群來看,比如程式員經常去的一個軟體問答網站stack overflow,注冊3200萬人,其中超過2500萬人是多次通路。再比如CSDN,注冊使用者達2500萬,活躍使用者超過800萬。它們普遍都要比工信部公布的資料高,這說明和軟體相關的從業人數有很多。

回顧過去計算機軟體發展,我認為大概可以分為三個階段。第一個是1946到1975中期,是軟硬一體化階段。第二個是1975年以後,軟體産品化、産業化階段;第三個是1995年以後,軟體的網絡化、服務化階段。

我想講一講這三個階段的大體特征。在軟硬一體化階段,也就是計算機剛出現的時候,是沒有軟體的,都是以程式實作的,大體上展現方式的是機器語言,彙編語言。早期應用領域以破解密碼,軍事領域的計算為主。60年代初期,開始出現“軟體”一詞,融合程式和文檔為一體,作為獨立的形态從硬體分離出來,以IBM 360系列機為代表(盡管還是和硬體捆版一起銷售),也逐漸形成了計算機學科和程式員行業。它的展性形式是進階程式語言+文檔,應用領域主要是商業計算和其他科學計算領域。軟體産品化、産業化階段,以Microsoft和Oracle的出現,标志着軟體開始成為一個獨立産業。PC的廣泛應用和軟體産品化催生了人類曆史上資訊化的第一波浪潮,其主要特征即以單機應用為特征的數字化階段。緊接着就出現了辦公軟體,徹底改變了人類傳統的辦公行為,微軟office迄今依然是微軟标志性産品之一。九十年代中期開始 ,軟體進入網絡化,服務化階段。網際網路推動了軟體從單機向網絡計算環境的延伸,帶來了資訊化的第二波浪潮 ,其基本特征是以聯網應用為特征的網絡化階段。 

做軟體的人總是希望把網際網路作為平台,來研究軟體。軟體的形式也因網際網路發生變化,形态從傳統的拷貝行為變為軟體服務,等到後期移動網際網路的産生,促成APP的誕生,整個軟體模式都發生了變化。應用領域已經滲透到社會經濟生活中的方方面面。

我們中國學者自己定義一個詞:網構軟體。指的就是面向網際網路計算的軟體新範型。這些新範型是什麼,總結有幾個性質,實體的自主性,實體對環境的情景感覺,實體之間的自主協同,實體的線上演化,以及可信性需求。簡單來說,軟體呈現網絡化體系結構,基于網絡進行開發,通過網絡傳遞分發并提供服務,這就是軟體的服務化。軟體和硬體相比,同樣都作為功能性産品,但軟體這種工具和網際網路結合就能夠實作一種真正的服務化。緊接着移動網際網路的産生,又産生了一種新的模式,這就是APP。蘋果商店擁有300萬+個APP,累計下載下傳量超過1500億次。這個時候創造了一種新的模式,用戶端要和伺服器端合起來完成一件任務,他也是一種拷貝,不過是一種新的拷貝方式。網際網路深刻改變了人類社會和生活模式,而網際網路的核心價值是連接配接,軟體是實作網際網路核心價值的重要使能技術。硬體連接配接雖然很重要,但最終的靈活連接配接還要靠軟體。

最終我引用兩位名人的話,NetScape創始人Marc Andreessen說:Software eats the world! 軟體吞噬世界。另一位是C++語言發明人,Bjarne Stroustrup說:人類文明運作在軟體之上。

第二部分我講的是軟體定義的時代。網際網路及其延伸,正在導向我們走在一個新的模式,人-機-物的融合。資訊技術的網絡化、泛在化、智能化趨勢蘊含了人-機-物和諧發展的願景。目前,正在興起資訊化的第三波浪潮,即以資料的深度挖掘與融合應用為特征的智慧化階段。這個階段我命名為智能化階段,在這個新的環境下,人機物融合環境下的資訊基礎設施是海量的資源。第二來看他的應用,人機物融合環境下的新型應用:需求形态多樣。面對海量資源和應用需求形态多樣的這兩個特征,人機物融合需要新的平台環境,如何凝練應用共性,如何有效管理資源這是這個平台的基本要求。在這樣的平台之下,由于應用需求變化頻繁和應用場景動态多變,這個平台能否實作按需靈活定制?

什麼是軟體定義?

軟體定義的真正落地,還是在雲計算平台裡面的應用。2011年前後,OpenFlow被用于雲計算平台中進行網絡管理,并被廣泛接受。在15年的時候,Gartner戰略報告首次出現SDN(軟體定義),SDN重新“定義”了傳統的網絡架構甚至通信産業。

軟體定義網絡的技術原理是通過一組API對網絡裝置進行任意的程式設計進而實作新型的網絡協定、拓撲架構而不需改動網絡裝置本身。

計算機的作業系統是什麼,是管理硬體資源、控制程式運作、改善人機界面和為應用軟體提供支援的一種系統軟體,即向上提供公共服務,向下管理資源。如果從作業系統視角來看軟體定義,作業系統是軟體定義的“計算機”,從軟體研究者的視角,作業系統展現了“軟體定義”之集大成。

在我的了解看來,軟體定義的技術本質就是把過去的一體化硬體設施打破,基礎硬體及其虛拟化提供标準化的基本功能,然後通過管控軟體控制基本功能,提供更開放、靈活、智能的管控服務。

軟體定義的技術本質:硬體資源虛拟化,管理功能可程式設計。硬體資源抽象為虛拟資源,然後用系統軟體對虛拟資源管理和排程。就是在硬體資源虛拟化的基礎上,使用者可編寫應用程式,滿足通路資源的多樣性的需求。大家現在可以看到軟體定義出現了各種各樣的延伸,軟體定義的存儲,軟體定義的計算,軟體定義的環境,軟體定義的資料中心等等。但所有架構都跳不出作業系統的三層架構,就是說軟體平台的三層架構,這些SDX均符合“硬體資源虛拟化”與“管理任務可程式設計”的技術原理。

這就是我對軟體定義的了解。

我們可以看到的機遇就是軟體定義一切。定義一切,人-機-物互聯是我們追求的目标。我們是不是最終能做到萬物皆可互聯,一切均可程式設計呢?這就是軟體定義給未來世界達成的目标,也就是我們的機遇所在。我們看到軟體定義的本身進一步泛化和延伸,我們要軟體定義我們的實體世界,再進入我們的城市、我們的行業、我們的校園,從單一的資源管控到人、機、物融合環境下對各種資源全方位的互聯互通。這是我們今後努力的方向。

人工智能是當今的熱潮,但我個人的觀點還是認為處于資料驅動的算法智能階段,軟體平台如何提供“通用”的智能應用支撐,并允許按需深度定制?是否會出現面對AI的作業系統?我想這個也是可以通過平台的方式去實作。軟體技術在新一輪革命技術中毫無疑問是核心競争力之一,新一輪制造革命需要實作“硬體”、知識和工藝流程的軟體化,進而實作軟體的平台化,本質上即“軟體定義”。随着人、機、物的融合,軟體定義的挑戰可以分為這幾個方面:體系結構設計決策,系統品質,系統安全,更輕量的虛拟化,從原有系統到軟體定義系統平滑過渡,高度自适應智能軟體平台。

體系結構設計決策,包括比如如何确定受管元素的合理“粒度”和“層次”?如何界定軟、硬體的功能劃分并組裝、配置相應元素?等。

系統的品質,需要解決的問題有如何合理平衡管理靈活性和“虛拟化”後的性能損耗(與直接通路原系統相比)?如何降低“軟體實作”的複雜性和故障率,有效定位故障以保障可靠性?等等。

系統安全,對硬體資源管理可程式設計帶來開放性、靈活性的同時,也可能會帶來更多的安全隐患。對于工業控制等安全攸關領域來說,可能會帶來難以難以估量的損失。

更輕量的虛拟化。大量的新裝置産生,虛拟化實作了對硬體資源的軟化,是軟體定義的基礎技術,現有以虛拟機為機關的技術過于重載,難以滿足性能和實時性要求。

原有系統到軟體定義系統平滑過渡。如何将原有系統平滑過渡到軟體定義系統?通過對已有的資源進行大幅度的改造,我們需要安裝新的硬體,需要做新的軟體管理系統,以及面臨的人力,時間,經濟,風控等因素。這個平滑過渡也需要合理的方案,否則很難做成這樣的事情。

高度自适應軟體平台。從軟體人追求的目标來看,我們想追求一種更為高度自适應的智能軟體平台。現在平台方式是以硬體資源為中心的,如果基礎設施層發生變化,軟體平台就要發生改變,改完之後,上面的應用也可能發生改變。我們追求的理想方式是,軟體平台具有預測和管理未來硬體資源變化的能力。

謝謝大家!預祝大會圓滿成功!

<b>本文作者:楊文</b>

繼續閱讀