吉姆·霍爾特的智慧手機並不那麼智慧。 它有一個他用來查詢餐廳的地圖應用程式,但當他完成搜尋後,該應用程式繼續消耗大量電力和記憶體,以至於他甚至無法做像傳送簡訊這樣的簡單事情,弗里斯凱爾半導體公司的工程師霍爾特抱怨道。
霍爾特的手機突顯了當今計算系統的一個普遍問題:系統的一部分不知道另一部分在做什麼。 每個程式都儘可能多地佔用資源,而作業系統太笨拙,無法意識到使用者當前關心的應用程式正在被擠出。 這個問題不僅困擾著智慧手機,也困擾著個人電腦和超級計算機,而且隨著越來越多的機器依賴多核處理器,情況會變得更糟。 除非計算機的各個元件學會相互溝通它們的可用性和需求,否則計算的未來可能無法達到其輝煌的過去。
霍爾特和他在麻省理工學院領導的研究聯盟“昂斯特朗專案”中的合作者已經提出了一個答案:“自我感知”計算機。 在傳統計算機中,硬體、軟體和作業系統(硬體和軟體之間的中間人)無法輕易地知道其他元件在做什麼,即使它們都在同一臺機器內部執行。 例如,作業系統不知道影片播放器應用程式是否執行困難,即使觀看影片的人肯定會注意到畫面卡頓。
支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。 透過購買訂閱,您正在幫助確保有關塑造我們當今世界的發現和想法的具有影響力的故事的未來。
去年,麻省理工學院團隊釋出了 Application Heartbeats,這是一款研究軟體,用於監控所有不同應用程式的執行狀況。 它可以判斷,例如,影片軟體以每秒 15 幀的速率執行,而不是最佳的 30 幀。
這個想法最終是使作業系統能夠檢測到應用程式何時執行速度慢到無法接受,並考慮潛在的解決方案。 如果計算機有充足的電池電量,那麼作業系統可能會將更多的計算能力導向該應用程式。 如果沒有,也許作業系統會告訴應用程式使用質量較低但效率更高的一組指令。 作業系統將從經驗中學習,因此第二次解決問題可能會更快。 而且,自我感知計算機將能夠處理複雜的目標,例如“執行這三個程式,但優先考慮第一個程式”和“儘可能節省能源,只要它不干擾我正在觀看的電影”。
下一步是設計一個後續作業系統,它可以調整分配給任何一個程式的資源。 如果影片執行緩慢,作業系統將為其分配更多電力。 然而,如果它以每秒 40 幀的速度執行,計算機可能會將電力轉移到其他地方,因為對於人眼來說,電影以每秒 40 幀的速度觀看並不比每秒 30 幀更好。 “我們能夠比今天的標準做法節省 40% 的電力,”麻省理工學院計算機科學博士生亨利·霍夫曼說,他正在開發該軟體。
專案首席科學家安南特·阿加瓦爾說,自我感知系統不僅使計算機更智慧,而且對於管理未來越來越複雜的計算機可能至關重要。 在過去的十年中,計算機工程師在計算機中添加了越來越多的基本計算單元,稱為核心。 今天的計算機有兩到四個核心,但未來的機器將使用從幾十個到數千個核心的任何數量。 這將使得在核心之間分配計算任務的任務(程式設計師現在明確地執行此操作)幾乎不可能。 自我感知系統將減輕程式設計師的負擔,自動調整程式的核心使用率。
能夠處理如此多的核心可能會帶來一個全新的計算速度水平,為機器朝著更快的速度發展的趨勢鋪平道路。 加州大學洛杉磯分校電氣工程教授約翰·維拉塞諾爾說:“當我們擁有非常大量的核心時,我們必須擁有某種程度的自我感知系統。”他沒有參與昂斯特朗專案。“我認為你會在未來幾年看到這方面的一些要素。”