用于針對數(shù)據(jù)中心的帶外的基于功率的任務(wù)調(diào)度的技術(shù)的制作方法
【專利說明】用于針對數(shù)據(jù)中心的帶外的基于功率的任務(wù)調(diào)度的技術(shù)
【背景技術(shù)】
[0001] 對于數(shù)據(jù)中心來說,功率消耗和熱效率是整體利用率和效率的主要貢獻者。在典 型的數(shù)據(jù)中心中,沿著功率和計算這兩個主軸來執(zhí)行對計算工作的調(diào)度。典型地,在機箱/ 外殼/機架層面上執(zhí)行基于功率的管理。典型地,事先(例如,在數(shù)據(jù)中心的增建期間)作出 功率考慮。典型地,使用硬件和/或固件特征(例如,頻率縮放、睡眠狀態(tài)等)在每個主機層面 上間接地管理功率。相比之下,典型地,有時使用集中的批處理/網(wǎng)格/云調(diào)度器實體在系統(tǒng) 或數(shù)據(jù)中心層面上執(zhí)行處理器、存儲器、存儲設(shè)備、I/O或其它計算資源調(diào)度??梢岳缡褂?操作系統(tǒng)度量動態(tài)地執(zhí)行計算資源調(diào)度。特定第三方產(chǎn)品可以提供針對數(shù)據(jù)中心的操作系 統(tǒng)級的使用度量的集中監(jiān)測。
【附圖說明】
[0002] 在附圖中,以示例的方式而非限制的方式對本文所描述的概念進行了說明。為了 說明的簡潔和清楚,附圖中示出的元件不必按比例繪制。在認為適當?shù)牡胤?,附圖標記在圖 之間重復(fù)以指示相對應(yīng)的或類似的元件。
[0003] 圖1是基于功率的任務(wù)調(diào)度系統(tǒng)的至少一個實施例的簡化框圖;
[0004] 圖2是可由圖1的計算節(jié)點建立的環(huán)境的至少一個實施例的簡化框圖;
[0005] 圖3是可由圖1和圖2的計算節(jié)點執(zhí)行的用于基于功率的任務(wù)調(diào)度的方法的至少一 個實施例的簡化流程圖;
[0006] 圖4是可由圖1和圖2的計算節(jié)點執(zhí)行的用于卸載任務(wù)的方法的至少一個實施例的 簡化流程圖;以及
[0007] 圖5是可由圖1和圖2的計算節(jié)點執(zhí)行的用于接受被卸載的任務(wù)的方法的至少一個 實施例的簡化流程圖。
【具體實施方式】
[0008] 盡管本公開內(nèi)容的概念容許各種修改和替代形式,但其特定實施例已經(jīng)通過示例 的方式在附圖中示出并且將在本文中詳細描述。然而,應(yīng)當理解的是,并不是想要將本公開 內(nèi)容的概念限定為所公開的特定形式,而恰好相反,旨在覆蓋與本公開內(nèi)容和所附權(quán)利要 求一致的所有修改、等價物、以及替代方案。
[0009]在說明書中對"一個實施例"、"實施例"、"示例性實施例"等的提及表示所描述的 實施例可以包括特定特征、結(jié)構(gòu)或特性,但是每個實施例可以包括或可以不必包括該特定 特征、結(jié)構(gòu)或特性。此外,這樣的短語不一定指的是同一實施例。此外,當結(jié)合實施例來描述 特定特征、結(jié)構(gòu)或特性時,無論是否明確描述,均認為結(jié)合其它實施例來實現(xiàn)這種特征、結(jié) 構(gòu)或特性處于本領(lǐng)域的技術(shù)人員的知識范圍之內(nèi)。此外,應(yīng)當意識到,包括在以"A、B和C中 的至少一個"形式的列表中的項目可以指的是(A); (B); (C); (A和B); (A和C); (B和C);或(A、 B和C)。類似的,以"A、B或C中的至少一個"形式列出的項目可以指的是(A); (B); (C); (A和 B); (A和C); (B和C)或(A、B和C)。
[0010] 在某些情況下,可以在硬件、固件、軟件或其任何組合中實施所公開的實施例。所 公開的實施例還可以被實施為由一個或多個暫時性或非暫時性機器可讀(例如,計算機可 讀)存儲介質(zhì)承載或存儲在其上的指令,所述指令可由一個或多個處理器讀取和執(zhí)行。機器 可讀存儲介質(zhì)可以實施為任何存儲設(shè)備、機制、或用于以由機器可讀的形式存儲或傳輸信 息的其它物理結(jié)構(gòu)(例如,易失性或非易失性存儲器、媒體光盤或其它媒體設(shè)備)。
[0011] 在附圖中,一些結(jié)構(gòu)或方法特征可以按照特定布置和/或次序示出。然而,應(yīng)當意 識到,這樣的特定布置和/或次序可以不是必需的。更確切的說,在一些實施例中,可以按照 與示例性附圖中所示的不同方式和/或次序來布置這些特征。此外,在特定附圖中包含結(jié)構(gòu) 或方法特征并不意味著暗示所有的實施例中都需要該特征,并且,在一些實施例中可以不 包括該特征或可以與其它特征組合。
[0012] 現(xiàn)在參考圖1,在示例性實施例中,用于基于功率的任務(wù)調(diào)度的系統(tǒng)100包括經(jīng)由 網(wǎng)絡(luò)104通信的兩個或更多個計算節(jié)點102。在使用中,如下文更詳細討論的那樣,每個計算 節(jié)點102可以執(zhí)行一個或多個任務(wù),諸如,應(yīng)用、腳本、作業(yè)或其它工作負荷。每個計算節(jié)點 102的固件環(huán)境監(jiān)測相對應(yīng)的計算節(jié)點102的功率消耗,并且,如果功率消耗超出最佳水平, 則可以廣播請求以將任務(wù)經(jīng)由網(wǎng)絡(luò)104卸載到系統(tǒng)100中的其它遠程計算節(jié)點102。卸載任 務(wù)請求可以包括(例如)針對被卸載的任務(wù)的功率需求,以及一個或多個計算需求(諸如,處 理器需求、存儲器需求、存儲設(shè)備需求、和/或I/O需求)。遠程計算節(jié)點102的固件環(huán)境可以 捕獲該卸載任務(wù)請求,并且基于該請求的需求和相對應(yīng)的遠程計算節(jié)點102的可用功率及 計算資源來確定是否接受該被卸載的任務(wù)。因此,可以基于實時功率消耗數(shù)據(jù)和計算利用 率度量,使用計算節(jié)點102的固件能力將任務(wù)分布在系統(tǒng)100的計算節(jié)點102之中。基于數(shù)據(jù) 中心上的功率消耗和計算利用率二者,系統(tǒng)100可以通過調(diào)度任務(wù)來提高功率效率和/或數(shù) 據(jù)中心的利用率。此外,系統(tǒng)100可以使用計算節(jié)點102的本地硬件和固件資源執(zhí)行任務(wù)調(diào) 度,而不需要專門的操作系統(tǒng)工具或第三方工具。因此,任務(wù)調(diào)度可以不局限于由任何特定 供應(yīng)商生產(chǎn)的計算節(jié)點102。另外地或可替代地,盡管示出為在多個計算節(jié)點102之中執(zhí)行 去中心化的調(diào)度,但是在一些實施例中,系統(tǒng)100可以包括集中的管理器以在該計算節(jié)點 102中類似地調(diào)度任務(wù)。
[0013] 每個計算節(jié)點102可以被實施為能夠執(zhí)行本文所描述的功能的任何類型的運算或 計算設(shè)備,包括但不限于:計算機、多處理器系統(tǒng)、服務(wù)器、機架式服務(wù)器、刀片服務(wù)器、膝上 型計算機、筆記本計算機、網(wǎng)絡(luò)設(shè)備、web設(shè)備、分布式計算系統(tǒng)、基于處理器的系統(tǒng)、和/或 消費電子設(shè)備。如圖1所示,每個計算節(jié)點102示例性地包括處理器120、輸入/輸出子系統(tǒng) 122、存儲器124、數(shù)據(jù)存儲設(shè)備126、以及通信電路128。當然,在其它實施例中,計算節(jié)點102 可以包括其它或額外的部件,諸如服務(wù)器設(shè)備中通常能夠找到的那些(例如,各種輸入/輸 出設(shè)備)。此外,在一些實施例中,可以將所示出的部件中的一個或多個合并在另一個部件 中或以其它方式形成另一個部件的一部分。例如,在一些實施例中,可以將存儲器124或其 部分并入一個或多個處理器120中。
[0014]處理器120可以被實施為能夠執(zhí)行本文所描述的功能的任何類型的處理器。例如, 處理器120可以被實施為單核或多核處理器、數(shù)字信號處理器、微控制器、或其它處理器或 處理/控制電路。類似地,存儲器124可以被實施為能夠執(zhí)行本文所描述的功能的任何類型 的易失性或非易失性存儲器或數(shù)據(jù)存儲設(shè)備。在操作中,存儲器124可以存儲在計算節(jié)點 102的操作期間使用的各種數(shù)據(jù)和軟件,諸如操作系統(tǒng)、應(yīng)用、程序、庫、以及驅(qū)動。存儲器 124可以經(jīng)由I/O子系統(tǒng)122通信地耦合到處理器120,該I/O子系統(tǒng)122可以被實施為便于與 處理器120、存儲器124以及計算節(jié)點102的其它部件的輸入/輸出操作的電路和/或部件。例 如,I/O子系統(tǒng)122可以被實施為或以其它方式包括存儲器控制器中心、輸入/輸出控制中 心、固件設(shè)備、通信鏈路(即,對等鏈路、總線鏈路、電線、電纜、光導(dǎo)、印刷電路板跡線等)和/ 或便于輸入/輸出操作的其它部件和子系統(tǒng)。在一些實施例中,I/O子系統(tǒng)122可以形成片上 系統(tǒng)(SoC)的一部分,并且與處理器120、存儲器124、以及計算節(jié)點102的其它部件一起合并 在單個集成電路芯片上。
[0015] 數(shù)據(jù)存儲設(shè)備126可以被實施為用于短期或長期存儲數(shù)據(jù)的任何類型的設(shè)備或多 個設(shè)備,例如,存儲器設(shè)備和電路、存儲器卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器、或其它數(shù)據(jù)存儲設(shè) 備。數(shù)據(jù)存儲設(shè)備126可以存儲用于在計算節(jié)點102上執(zhí)行一個或多個任務(wù)的操作系統(tǒng)或應(yīng) 用數(shù)據(jù)。此外,在一些實施例中,數(shù)據(jù)存儲設(shè)備126可以包括固件卷或包括或建立固件環(huán)境 (諸如,UEFI固件分區(qū))的其它存儲位置。
[0016] 計算節(jié)點102的通信電路128可以被實施為能夠使能在通信節(jié)點102和/或網(wǎng)絡(luò)104 上的其它遠程設(shè)備之間通信的任何通信電路、設(shè)備、或其集合。通信電路128可以被配置為 使用任何一種或多種通信技術(shù)(例如,有線或無線通信)和相關(guān)協(xié)議(例如,In fm i Band?、 以太網(wǎng)、Bluetooth?、Wi-Fi_?、WiMAX等)以產(chǎn)生這樣的通信。通信電路128可以包括可以 同時使用以在網(wǎng)絡(luò)104上傳輸數(shù)據(jù)的一個或多個網(wǎng)絡(luò)適配器和/或網(wǎng)絡(luò)端口。
[0017] 在一些實施例中,計算節(jié)點102可以包括管理引擎130。管理引擎130可以被實施為 提供計算節(jié)點102的遠程配置、控制和/或管理的設(shè)備。管理引擎130可以包括帶外(out of band)處理器,該帶外處理器可以被實施為處理器、微控制器、或與計算節(jié)點102的主處理器 120分離且不同的其它控制電路。如此,管理引擎130能夠獨立地操作計算節(jié)點102的其余部 分的狀態(tài)。也就是說,管理引擎130能夠進行操作,而不管處理器120的操作狀態(tài),包括當計 算節(jié)點102斷電時、當計算節(jié)點102執(zhí)行預(yù)啟動固件環(huán)境時、當計算節(jié)點102的操作系統(tǒng)活動 時、以及當操作系統(tǒng)死機或以其它方式不活動時。管理引擎130可以建立與由處理器120建 立的軟件環(huán)境分離且不同的固件環(huán)境。管理引擎130還能夠使用獨立于計算節(jié)點102的狀態(tài) 的通信電路128進行通信,也被稱作"帶外"通信。在一些實施例中,除了經(jīng)由通信電路128連 接之外,或代替經(jīng)由通信電路128連接,管理引擎130可以包括針對這樣的帶外通信的專用 網(wǎng)絡(luò)適配器。在一些實施例中,可以將管理引擎130并入或以其它方式形成1/0子系統(tǒng)122的 一部分。
[0018] 如下文中更詳細討論的那樣,計算節(jié)點102可以被配置為經(jīng)由網(wǎng)絡(luò)104彼此發(fā)送和 接收數(shù)據(jù)和/或與系統(tǒng)1〇〇的其它設(shè)備