欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

加速器、用于加速器的內(nèi)存管理方法以及數(shù)據(jù)處理系統(tǒng)與流程

文檔序號:11707456閱讀:285來源:國知局
加速器、用于加速器的內(nèi)存管理方法以及數(shù)據(jù)處理系統(tǒng)與流程

本公開涉及加速器、用于加速器的內(nèi)存管理方法以及數(shù)據(jù)處理系統(tǒng)。



背景技術(shù):

近年來,互聯(lián)網(wǎng)的發(fā)展越來越迅速,人們在使用互聯(lián)網(wǎng)進行例如網(wǎng)購、收看節(jié)目、視頻聊天等活動時都會產(chǎn)生大量數(shù)據(jù)。因此,大數(shù)據(jù)處理技術(shù)在互聯(lián)網(wǎng)領(lǐng)域中是至關(guān)重要的。

目前,盡管已將諸如xeonphi、tilera的加速器廣泛地應(yīng)用于各類數(shù)據(jù)處理方案,然而,由于大數(shù)據(jù)處理應(yīng)用的工作集較大,無法直接運行在這類加速器上。此外,同一物理節(jié)點上的多個加速器的負載很容易出現(xiàn)不均衡現(xiàn)象,而傳統(tǒng)的進程遷移方法面向分布式計算環(huán)境,沒有考慮加速器內(nèi)存與主機內(nèi)存可直接映射訪問的特性,導致進程遷移所帶來的開銷巨大。



技術(shù)實現(xiàn)要素:

本公開的一個方面提供了一種加速器,可以包括:擴展內(nèi)存管理模塊,配置為管理加速器的擴展內(nèi)存;本地內(nèi)存,配置為存儲數(shù)據(jù);處理器,與本地內(nèi)存和擴展內(nèi)存管理模塊通信相連,其中所述處理器配置為:監(jiān)測本地內(nèi)存的使用狀態(tài);并且當所述使用狀態(tài)達到第一閾值時,控制擴展內(nèi)存管理模塊基于所述使用狀態(tài)向與加速器相連的外部設(shè)備申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述外部設(shè)備的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。

可選地,所述處理器還可以配置為:當所述使用狀態(tài)低于第二閾值時,控制擴展內(nèi)存管理模塊釋放擴展內(nèi)存以供所述外部設(shè)備使用。

可選地,所述處理器還可以配置為:按照塊大小配置將所述擴展內(nèi)存劃分為多個擴展內(nèi)存塊;記錄對擴展內(nèi)存塊的訪問次數(shù);并且響應(yīng)于確定對擴展內(nèi)存塊的訪問次數(shù)超過預定訪問次數(shù),通過中斷觸發(fā)擴展內(nèi)存管理模塊將所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存。

可選地,所述處理器還可以配置為:響應(yīng)于從外部設(shè)備接收到請求釋放擴展內(nèi)存的指令,控制擴展內(nèi)存管理模塊釋放相應(yīng)擴展內(nèi)存。

可選地,所述加速器還可以包括:遷移進程管理模塊,配置為:當需要從所述加速器遷移出進程時,暫停待遷移進程,并保存待遷移進程的頁表和所述使用狀態(tài)低于第二閾值其他信息;向目標加速器的遷移進程管理模塊發(fā)送所述物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系。

可選地,所述遷移進程管理模塊還可以配置為:從源加速器的遷移進程管理模塊接收物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;將所述物理內(nèi)存映射關(guān)系存儲在擴展內(nèi)存管理模塊中;根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程。

本公開的另一方面提供了一種加速器的內(nèi)存管理方法,可以包括:監(jiān)測本地內(nèi)存的使用狀態(tài);以及當所述使用狀態(tài)達到第一閾值時,基于所述使用狀態(tài),向與加速器相連的外部設(shè)備申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述外部設(shè)備的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。

可選地,所述內(nèi)存管理方法還可以包括:當所述使用狀態(tài)低于第二閾值時,釋放所述加速器的擴展內(nèi)存以供外部設(shè)備使用。

可選地,所述內(nèi)存管理方法還可以包括:按照塊大小配置將所述擴展內(nèi)存劃分為多個擴展內(nèi)存塊;記錄對擴展內(nèi)存塊的訪問次數(shù);并且響應(yīng)于確定對擴展內(nèi)存塊的訪問次數(shù)超過預定訪問次數(shù),將來自所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存。

可選地,所述內(nèi)存管理方法還可以包括:響應(yīng)于從外部設(shè)備接收到請求釋放擴展內(nèi)存的指令,釋放相應(yīng)擴展內(nèi)存。

可選地,所述內(nèi)存管理方法還可以包括:當需要從所述加速器遷移出進程時,暫停待遷移進程,并保存待遷移進程的頁表以及待遷移進程的其他信息;向目的加速器發(fā)送所述物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系。

可選地,所述內(nèi)存管理方法還可以包括:從源加速器接收物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;將所述物理內(nèi)存映射關(guān)系存儲在所述加速器中;根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程。

本公開的另一方面還提供了一種數(shù)據(jù)處理系統(tǒng),可以包括:第一設(shè)備;以及一個或更多個第二設(shè)備,配置為與所述第一設(shè)備通信相連,其中所述一個或更多個第二設(shè)備之一配置為:監(jiān)測本地內(nèi)存的使用狀態(tài);當所述使用狀態(tài)達到第一閾值時,基于所述使用狀態(tài),向第一設(shè)備申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述第一設(shè)備的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。

可選地,所述第二設(shè)備還可以配置為:當所述使用狀態(tài)低于第二閾值時,釋放擴展內(nèi)存以供所述第一設(shè)備使用。

可選地,所述第二設(shè)備還可以配置為:按照塊大小配置將所述擴展內(nèi)存劃分為多個擴展內(nèi)存塊;記錄對擴展內(nèi)存塊的訪問次數(shù);并且響應(yīng)于確定對擴展內(nèi)存塊的訪問次數(shù)超過預定訪問次數(shù),將所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存。

可選地,所述第二設(shè)備還可以配置為:響應(yīng)于從第一設(shè)備接收到請求釋放擴展內(nèi)存的指令,釋放相應(yīng)擴展內(nèi)存。

可選地,所述第二設(shè)備還可以配置為:當需要遷移出進程時,暫停待遷移進程,并保存待遷移進程的頁表以及待遷移進程的其他信息;向目標第二設(shè)備發(fā)送所述物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系。

可選地,所述第二設(shè)備還可以配置為:從源第二設(shè)備接收物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;將所述物理內(nèi)存映射關(guān)系存儲在所述第二設(shè)備中;根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程。

本公開的另一方面提供了一種非易失性存儲介質(zhì),存儲有計算機可執(zhí)行指令,所述指令在被執(zhí)行時用于實現(xiàn)如上所述的內(nèi)存管理方法。

本公開的另一方面提供了一種計算機程序,所述計算機程序包括計算機可執(zhí)行指令,所述指令在被執(zhí)行時用于實現(xiàn)如上所述的內(nèi)存管理方法。

附圖說明

為了更完整地理解本公開及其優(yōu)勢,現(xiàn)在將參考結(jié)合附圖的以下描述,其中:

圖1示意性示出了根據(jù)本公開的實施例的加速器的結(jié)構(gòu)框架;

圖2示意性地描述了根據(jù)本公開的實施例的用于加速器的內(nèi)存管理方法的流程圖;

圖3示出了根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)的架構(gòu)圖;以及

圖4描述了根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)的信號流。

具體實施方式

根據(jù)結(jié)合附圖對本公開示例性實施例的以下詳細描述,本公開的其它方面、優(yōu)勢和突出特征對于本領(lǐng)域技術(shù)人員將變得顯而易見。

在本公開中,術(shù)語“包括”和“含有”及其派生詞意為包括而非限制;術(shù)語“或”是包含性的,意為和/或。

在本說明書中,下述用于描述本公開原理的各種實施例只是說明,不應(yīng)該以任何方式解釋為限制公開的范圍。參照附圖的下述描述用于幫助全面理解由權(quán)利要求及其等同物限定的本公開的示例性實施例。下述描述包括多種具體細節(jié)來幫助理解,但這些細節(jié)應(yīng)認為僅僅是示例性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)認識到,在不背離本公開的范圍和精神的情況下,可以對本文中描述的實施例進行多種改變和修改。此外,為了清楚和簡潔起見,省略了公知功能和結(jié)構(gòu)的描述。此外,貫穿附圖,相同參考數(shù)字用于相似功能和操作。

為了在諸如xeonphi和tilera的加速器上運行大數(shù)據(jù)處理任務(wù),提出了一種基于swap原理在異構(gòu)加速器上運行大數(shù)據(jù)應(yīng)用的方法。加速器通過將存儲在其中的不常用數(shù)據(jù)備份到主機內(nèi)存中,來釋放自身內(nèi)存,以供大數(shù)據(jù)應(yīng)用。盡管通過使用該方法可以釋放加速器的自身內(nèi)存,然而對于加速器而言,無法直接使用主機內(nèi)存,并且無法實現(xiàn)負載均衡。

此外,為了在加速器之間實現(xiàn)負載均衡,當前往往采用預拷貝(pre-copy)算法和后拷貝(post-copy)算法。預拷貝算法是將與待遷移進程相關(guān)的所有信息傳送給目標加速器。因此,該方法由于數(shù)據(jù)傳送量較大而導致等待時間過長,且對目標加速器的本地內(nèi)存的空間要求較大。另一方面,后拷貝算法是將除了待遷移進程的內(nèi)存頁面之外的其他信息(例如,通信狀態(tài)信息、cup使用情況信息)等傳送給目標加速器。盡管這種方法減少了所傳送的數(shù)據(jù),使得目標加速器在接收到所述與待遷移進程相關(guān)的其他信息后可以立即啟動進程,但是在啟動之后的每次后續(xù)訪問中,都需要從源加速器拷貝內(nèi)存頁面,從而導致運行效率較為低下。

為此,本公開的實施例提供了一種加速器及其內(nèi)存管理方法,其中所述加速器能夠無縫地運行大數(shù)據(jù)處理應(yīng)用,并能夠以較低的遷移開銷執(zhí)行進程遷移,從而使資源利用率得到最大化。

圖1示意性示出了根據(jù)本公開的實施例的加速器100的結(jié)構(gòu)框架。具體地,所述加速器100可以包括:本地內(nèi)存110,配置為存儲數(shù)據(jù);擴展內(nèi)存管理模塊120,配置為管理加速器的擴展內(nèi)存;處理器130,與本地內(nèi)存110和擴展內(nèi)存管理模塊120通信相連。

所述本地內(nèi)存110可以包括各種形式的存儲器,如非易失性或易失性存儲器。例如,存儲器可以是例如軟盤、dvd、blu-ray、cd、只讀存儲器(rom)、可編程rom(prom)和可擦除可編程rom(eprom)、電可擦除可編程(eeprom)、閃存和/或硬盤驅(qū)動器。本地內(nèi)存110可以配置為存儲加速器系統(tǒng)的os和數(shù)據(jù)。諸如,所述數(shù)據(jù)可以是加速器運行所述os需要使用的數(shù)據(jù)、可執(zhí)行代碼、變量和/或其他暫態(tài)數(shù)據(jù)。

所述擴展內(nèi)存管理模塊120可以是加速器os的一個內(nèi)核模塊。具體地,當確定需要向外部設(shè)備申請其內(nèi)存作為加速器的擴展內(nèi)存時,擴展內(nèi)存管理模塊120向外部設(shè)備發(fā)送內(nèi)存請求信號,確立并存儲表示外部設(shè)備的內(nèi)存和虛擬的擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系;以及當擴展內(nèi)存管理模塊120接收到來自外部設(shè)備的關(guān)于釋放其內(nèi)存的請求或確定當前本地內(nèi)存較為空閑時,擴展內(nèi)存管理模塊120釋放與外部設(shè)備的內(nèi)存相對應(yīng)的擴展內(nèi)存并刪除存儲的物理內(nèi)存映射關(guān)系。

處理器130可以例如通過總線與本地內(nèi)存和擴展內(nèi)存管理模塊通信相連,且處理器130可以是單個中央處理單元(cpu),但也可以包括兩個或更多個處理單元。例如,處理器130可以包括通用微處理器、指令集處理器和/或相關(guān)芯片組和/或?qū)S梦⑻幚砥?例如,專用集成電路(asic))。處理器還可以包括用于緩存用途的板載存儲器。處理器130從本地內(nèi)存110加載os和各種程序/數(shù)據(jù),并執(zhí)行在所加載的程序中包括的指令,以便:監(jiān)測本地內(nèi)存110的使用狀態(tài);以及當所述使用狀態(tài)達到第一閾值時,控制擴展內(nèi)存管理模塊120基于所述使用狀態(tài)向與加速器100相連的外部設(shè)備101申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述外部設(shè)備101的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。此外,當所述使用狀態(tài)低于第二閾值時,處理器130可以控制擴展內(nèi)存管理模塊120釋放擴展內(nèi)存以供所述外部設(shè)備101使用。所述第一閾值和第二閾值可以是相同的或是不同的。

也就是說,處理器130可以通過監(jiān)控加速器內(nèi)存的使用狀態(tài)并將所述使用狀態(tài)與預定閾值進行比較,來調(diào)節(jié)(即,擴展或釋放)加速器的擴展內(nèi)存,使得響應(yīng)于確定加速器內(nèi)存不足,向外部設(shè)備(例如,主機的內(nèi)存服務(wù)模塊)申請內(nèi)存塊作為擴展內(nèi)存,并響應(yīng)于確定加速器內(nèi)存空閑,向外部設(shè)備釋放全部的或一部分擴展內(nèi)存。

在一個實施例中,當處理器130啟動擴展內(nèi)存管理模塊120以便通過擴展內(nèi)存管理模塊為加速器分配擴展內(nèi)存時,可以在加速器os內(nèi)建立偽地址或偽numa節(jié)點,用于鏈接后續(xù)從外部設(shè)備分配的內(nèi)存塊。換言之,在內(nèi)存緊張時,處理器130控制擴展內(nèi)存管理模塊120主動向主機的內(nèi)存服務(wù)模塊中請內(nèi)存塊,建立物理內(nèi)存映射關(guān)系,并加入到偽地址或偽numa節(jié)點。這樣主機內(nèi)存就可以透明地分配給大數(shù)據(jù)處理應(yīng)用。在內(nèi)存空閑時,處理器130可以控制擴展內(nèi)存管理模塊120主動釋放部分內(nèi)存給主機的內(nèi)存服務(wù)模塊。此外,所述處理器130還可以配置為:響應(yīng)于從外部設(shè)備接收到請求釋放擴展內(nèi)存的指令,控制擴展內(nèi)存管理模塊釋放相應(yīng)擴展內(nèi)存。也就是說,主機內(nèi)存服務(wù)模塊也可以主動請求加速器返還一部分的或全部的內(nèi)存。

在另一實施例中,所述處理器130還可以配置為:按照塊大小配置將所述擴展內(nèi)存劃分為多個擴展內(nèi)存塊;記錄對擴展內(nèi)存塊的訪問次數(shù);并且響應(yīng)于確定對擴展內(nèi)存塊的訪問次數(shù)超過預定訪問次數(shù),通過中斷觸發(fā)擴展內(nèi)存管理模120塊將所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存110。具體地,可以將諸如塊大小配置、閾值配置、擴展內(nèi)存塊訪問計數(shù)的數(shù)據(jù)存儲在本地內(nèi)存110中。塊大小配置用于配置對擴展內(nèi)存訪問計數(shù)的統(tǒng)計單位(例如,4k、64k、1m、1g等)。擴展內(nèi)存塊訪問計數(shù)用于記錄最近一段時間對各擴展內(nèi)存塊的訪問次數(shù)。閾值配置用于確定何時向加速器os發(fā)出中斷,即,只有當對擴展內(nèi)存塊的訪問次數(shù)超過指定的閾值時,向加速器os才發(fā)出中斷,以便擴展內(nèi)存管理模塊120將所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存110。可選地,可以將上述這些邏輯嵌入到例如xeonphi的sbox中。

此外,加速器100還可以附加地包括遷移進程管理模塊。所述遷移進程管理模塊配置為:當需要從所述加速器遷移出進程時,暫停待遷移進程,并保存待遷移進程的頁表和所述使用狀態(tài)低于第二閾值其他信息;向目標加速器的遷移進程管理模塊發(fā)送所述物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系。此外,當接收從其他加速器遷出的進程時,所述遷移進程管理模塊還可以進一步配置為:從源加速器的遷移進程管理模塊接收物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;將所述物理內(nèi)存映射關(guān)系存儲在擴展內(nèi)存管理模塊中;根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程。

具體地,當主機的多個加速器負載不均衡或者需要進程遷移時,可以調(diào)用遷移進程管理模塊進行負載均衡。此模塊會將源加速器的物理內(nèi)存映射信息、待遷移進程的頁表以及待遷移進程的其它信息等發(fā)給目的加速器的遷移進程管理模塊。目的加速器的遷移進程管理模塊根據(jù)上述信息,從源加速器接手待遷移進程所使用的主機內(nèi)存,調(diào)整待遷移進程的頁表,恢復進程執(zhí)行。所述從源加速器接收待遷移進程所使用的主機內(nèi)存是指:源加速器的擴展內(nèi)存管理模塊釋放所述主機內(nèi)存并在將上述信息發(fā)送給目的加速器之后刪除對應(yīng)物理內(nèi)存映射關(guān)系,且目的加速器通過接收到的物理內(nèi)存映射關(guān)系并將其加入到偽numa節(jié)點,來根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其它信息,恢復進程。綜上,通過使用遷移進程管理模塊,不需要拷貝位于主機的內(nèi)存數(shù)據(jù),并且可以僅通過調(diào)整進程的物理內(nèi)存映射關(guān)系,使得能夠在加速器之間實現(xiàn)合理分配負載,從而處理器可以例如通過pci-e通道直接訪問源進程所在內(nèi)存的數(shù)據(jù)。

下面,將結(jié)合上文所述的加速器的配置,來詳細描述根據(jù)本公開的實施例的用于加速器的內(nèi)存管理方法。

圖2示意性地描述了根據(jù)本公開的實施例的用于加速器的內(nèi)存管理方法的流程圖。

具體地,所述用于加速器的內(nèi)存管理方法可以包括:在步驟s201,監(jiān)測本地內(nèi)存的使用狀態(tài)。接著,在步驟s203,確定所示使用狀態(tài)是否達到第一閾值,其中第一閾值可以是加速器內(nèi)存滿載狀態(tài)的70%或其他數(shù)值,或者例如加速器內(nèi)存剩余1gb。當所述使用狀態(tài)達到第一閾值(例如,加速器內(nèi)存滿載達到70%或者加速器的內(nèi)存僅剩余1gb)時(步驟s203-是),在步驟s203,基于所述使用狀態(tài),向與加速器相連的外部設(shè)備申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述外部設(shè)備的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。具體地,可以根據(jù)本地內(nèi)存的不同使用狀態(tài),向外部設(shè)備申請不同大小的內(nèi)存作為擴展內(nèi)存。例如,如果本地內(nèi)存的使用狀態(tài)達到75%,則向外部設(shè)備申請1000m的內(nèi)存作為擴展內(nèi)存(或外部設(shè)備內(nèi)存的10%);如果本地內(nèi)存的使用狀態(tài)達到80%,則向外部設(shè)備申請2000m的內(nèi)存作為擴展內(nèi)存(或外部設(shè)備內(nèi)存的20%)。應(yīng)注意,以上示例僅是為了進行說明,而不用于限定本公開。本領(lǐng)域技術(shù)人員可以根據(jù)實際需要來基于使用狀態(tài)向外部設(shè)備申請內(nèi)存作為擴展內(nèi)存,使得可以根據(jù)不同內(nèi)存使用情況擴展內(nèi)存,從而方便使用。此外,如果確定本地內(nèi)存的使用狀態(tài)沒有達到第一閾值(步驟s203-否),則所述方法返回操作s201。

此外,所述方法還可以包括:當所述使用狀態(tài)低于第二閾值時(例如,50%),釋放所述加速器的擴展內(nèi)存或本地內(nèi)存的一部分或全部以供外部設(shè)備使用。備選地,所述方法還可以包括:響應(yīng)于從外部設(shè)備接收到請求釋放擴展內(nèi)存的指令,釋放相應(yīng)擴展內(nèi)存。

此外,如上所述,所述方法還可以包括:按照塊大小配置將所述擴展內(nèi)存劃分為多個擴展內(nèi)存塊;記錄對擴展內(nèi)存塊的訪問次數(shù);并且響應(yīng)于確定對擴展內(nèi)存塊的訪問次數(shù)超過預定訪問次數(shù),將來自所述擴展內(nèi)存塊的內(nèi)容存儲到本地內(nèi)存。

在另一實施例中,如果加速器的負載過大,則需要從所述加速器遷出進程,以執(zhí)行負載均衡。在這種情況下,所述方法還可以包括:暫停待遷移進程,并保存待遷移進程的頁表以及待遷移進程的其他信息;向目的加速器發(fā)送所述物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系。另一方面,當加速器需要接收從源加速器遷出的進程時,所述加速器應(yīng)從源加速器接收物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息;將所述物理內(nèi)存映射關(guān)系存儲在所述加速器中;根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程。

基于根據(jù)上述實施例的加速器和用于加速器的內(nèi)存管理方法,還可以提供一種數(shù)據(jù)處理系統(tǒng)。圖3示出了根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)的架構(gòu)圖。

具體地,所述數(shù)據(jù)處理系統(tǒng)可以包括第一設(shè)備(諸如,主機)330;以及一個或更多個第二設(shè)備(諸如,加速器)310以及320,配置為與所述第一設(shè)備330通信相連。所述一個或更多個第二設(shè)備之中的每一個都可以配置為包括如上所述的的擴展內(nèi)存管理模塊312和322、本地內(nèi)存314和324以及處理器313和323,且可以備選地包括遷移進程管理模塊311和321。所述第二設(shè)備被配置為監(jiān)測本地內(nèi)存的使用狀態(tài);當所述使用狀態(tài)達到第一閾值時,基于所述使用狀態(tài),經(jīng)由擴展內(nèi)存管理模塊向第一設(shè)備申請內(nèi)存作為擴展內(nèi)存,建立并存儲表示所述第一設(shè)備的內(nèi)存與所述擴展內(nèi)存之間的映射關(guān)系的物理內(nèi)存映射關(guān)系。在所述第二設(shè)備包括遷移進程管理模塊的情況下,所述數(shù)據(jù)處理系統(tǒng)還可以在第二設(shè)備之間執(zhí)行進程遷移,以便均衡第二設(shè)備之間的負載。

下面參考圖4描述了根據(jù)本公開的實施例的數(shù)據(jù)處理系統(tǒng)的信號流。首先,第二設(shè)備之一(即,加速器1)420通過監(jiān)測本地內(nèi)存的使用情況發(fā)現(xiàn)需要向第一設(shè)備410請求內(nèi)存作為其擴展內(nèi)存,因此,在操作p1,首先發(fā)送擴展內(nèi)存請求。隨后,如果第一設(shè)備410具有可以分配給加速器的內(nèi)存,則可以向所述第二設(shè)備420發(fā)送肯定應(yīng)答,例如,包括內(nèi)存地址的信息,即,操作p2。在操作p3,所述第二設(shè)備420在接收到的內(nèi)存地址與所分配的擴展內(nèi)存的偽地址之間建立映射關(guān)系,并存儲表示所述映射關(guān)系的物理內(nèi)存映射關(guān)系,使得可以將第一設(shè)備的內(nèi)存視為該加速器的擴展內(nèi)存并且進行使用。

此外,在第二設(shè)備還包括遷移進程管理模塊的情況下,如果第二設(shè)備420的負載過大,第二設(shè)備420還可以執(zhí)行進程遷移,即,將第二設(shè)備420上的部分進程遷移到另一第二設(shè)備(例如,加速器2)430。具體地,所述遷移過程包括:在操作q1,響應(yīng)于確定加速器超負載運行(例如,cpu的使用率達到90%或其他數(shù)值),則第二設(shè)備420確定需要遷出進程,且在此時暫停待遷移進程并保存待遷移進程的頁表和待遷移進程的其他信息。隨后,在操作q2,第二設(shè)備420向目標第二設(shè)備430發(fā)送所存儲的物理內(nèi)存映射關(guān)系、待遷移進程的頁表以及待遷移進程的其他信息。接著,對于第二設(shè)備420而言,響應(yīng)于完成所述發(fā)送,刪除所述待遷移進程的物理內(nèi)存映射關(guān)系(操作q3-1)。對于第二設(shè)備430而言,需要將接收到的物理內(nèi)存映射關(guān)系存儲在所述第二設(shè)備中,并根據(jù)接收到的待遷移進程的頁表以及待遷移進程的其他信息,恢復待遷移進程(操作q3-2)。

因此,以上提供了一種加速器、用于加速器的內(nèi)存管理方法以及數(shù)據(jù)處理系統(tǒng),使得能夠無縫地運行大數(shù)據(jù)處理應(yīng)用,并能夠以較低的遷移開銷執(zhí)行進程遷移,從而使資源利用率得到最大化。

此外,應(yīng)注意,根據(jù)本公開各實施例的上述方法、裝置、單元和/或模塊可以通過有計算能力的電子設(shè)備執(zhí)行包含計算機指令的軟件來實現(xiàn)。所述有計算能力的電子設(shè)備可以包含通用處理器、數(shù)字信號處理器、專用處理器、可重新配置處理器等能夠執(zhí)行計算機指令的裝置,但不限于此。上述各設(shè)備和/或模塊可以在一個電子設(shè)備中實現(xiàn),也可以在不同電子設(shè)備中實現(xiàn)。這些軟件可以存儲在計算機可讀存儲介質(zhì)中。

所述計算機可讀存儲介質(zhì)例如可以是能夠包含、存儲、傳送、傳播或傳輸指令的任意介質(zhì)。例如,可讀存儲介質(zhì)可以包括但不限于電、磁、光、電磁、紅外或半導體系統(tǒng)、裝置、器件或傳播介質(zhì)??勺x存儲介質(zhì)的具體示例包括:磁存儲裝置,如磁帶或硬盤(hdd);光存儲裝置,如光盤(cd-rom);存儲器,如隨機存取存儲器(ram)或閃存;和/或有線/無線通信鏈路。計算機可讀存儲介質(zhì)可以包括一個或多個計算機程序,該計算機程序可以包括代碼/計算機可執(zhí)行指令,其在由處理器執(zhí)行時使得處理器執(zhí)行例如上面所描述的方法流程及其任何變形。

計算機程序可被配置為具有例如包括計算機程序模塊的計算機程序代碼。例如,在示例實施例中,計算機程序中的代碼可以包括一個或多個程序模塊。應(yīng)當注意,模塊的劃分方式和個數(shù)并不是固定的,本領(lǐng)域技術(shù)人員可以根據(jù)實際情況使用合適的程序模塊或程序模塊組合,當這些程序模塊組合被處理器執(zhí)行時,使得處理器可以執(zhí)行上面所描述的方法流程及其任何變形。

盡管已經(jīng)參照本公開的特定示例性實施例示出并描述了本公開,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,在不背離所附權(quán)利要求及其等同物限定的本公開的精神和范圍的情況下,可以對本公開進行形式和細節(jié)上的多種改變。因此,本公開的范圍不應(yīng)該限于上述實施例,而是應(yīng)該不僅由所附權(quán)利要求來進行確定,還由所附權(quán)利要求的等同物來進行限定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永登县| 天峨县| 荆门市| 河间市| 古浪县| 南江县| 阆中市| 阿勒泰市| 合水县| 息烽县| 武宁县| 广汉市| 孙吴县| 望谟县| 保靖县| 洛阳市| 平谷区| 太和县| 武威市| 莱西市| 重庆市| 定州市| 永吉县| 手机| 穆棱市| 威远县| 安福县| 浦东新区| 上饶县| 平阳县| 永泰县| 高要市| 曲靖市| 吐鲁番市| 福贡县| 平谷区| 遵化市| 东乌| 寿宁县| 凤翔县| 铜川市|