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

管理分布式任務(wù)RapidIO共享內(nèi)存的方法及設(shè)備與流程

文檔序號(hào):11949811閱讀:395來源:國知局
管理分布式任務(wù)RapidIO共享內(nèi)存的方法及設(shè)備與流程

本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,具體涉及一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法及設(shè)備。



背景技術(shù):

RapidIO互連處理機(jī)上分布式任務(wù)可借助RapidIO內(nèi)存映射機(jī)制申請內(nèi)存映射區(qū)間作為任務(wù)間的共享內(nèi)存,然而這種基于RapidIO的分布式任務(wù)共享內(nèi)存的實(shí)現(xiàn),需對(duì)RapidIO共享內(nèi)存使用狀態(tài)信息進(jìn)行管理。

在現(xiàn)有的技術(shù)中沒有提出一種RapidIO互連處理機(jī)上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存使用狀態(tài)管理的方法。本發(fā)明專利中提到的方法,通過內(nèi)存分區(qū)的方式對(duì)分布式任務(wù)RapidIO共享內(nèi)存進(jìn)行管理,解決分布式任務(wù)RapidIO共享內(nèi)存創(chuàng)建、打開、關(guān)閉過程中,內(nèi)存使用狀態(tài)信息的維護(hù)問題。



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

針對(duì)上述問題的不足,本發(fā)明提出一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法及設(shè)備。本發(fā)明的一個(gè)目的是解決至少一個(gè)上述問題或缺陷,并提供至少一個(gè)后面將說明的優(yōu)點(diǎn)。

本發(fā)明還有一個(gè)目的是提供了一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法,其通過構(gòu)造共享內(nèi)存分區(qū)的方式,實(shí)現(xiàn)對(duì)RapidIO互連多處理機(jī)RapidIO共享內(nèi)存進(jìn)行有效管理,解決位于各處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存使用狀態(tài)的維護(hù)。

本發(fā)明還有一個(gè)目的是提供了一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法,其有效的解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于共享內(nèi)存使用狀態(tài)信息的交互,為RapidIO共享內(nèi)存的創(chuàng)建、打開以及關(guān)閉操作奠定了基礎(chǔ)。

本發(fā)明還有一個(gè)目的是提供了一種管理分布式任務(wù)RapidIO共享內(nèi)存的設(shè)備,其有效地實(shí)現(xiàn)了管理分布式任務(wù)RapidIO共享內(nèi)存的方法。

為了實(shí)現(xiàn)根據(jù)本發(fā)明的這些目的和其它優(yōu)點(diǎn),本發(fā)明提供了一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法,包括以下步驟:

在互連處理機(jī)中構(gòu)造共享內(nèi)存分區(qū);

獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),讀取所述共享內(nèi)存分區(qū),獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集;

關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的狀態(tài)。

本發(fā)明方法構(gòu)造的分布式任務(wù)RapidIO共享內(nèi)存分區(qū),解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存狀態(tài)的管理需求,為分布式任務(wù)間基于RapidIO共享內(nèi)存的通信提供了支持。

優(yōu)選的是,所述共享內(nèi)存分區(qū)包括共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符和內(nèi)存塊屬性區(qū)。

所述共享內(nèi)存描述符的使用狀態(tài)以字節(jié)存儲(chǔ),所述內(nèi)存塊的使用狀態(tài)以二進(jìn)制存儲(chǔ),所述查詢描述符用于同一共享內(nèi)存描述符的分享,所述內(nèi)存塊屬性用于同一共享內(nèi)存描述符所代表共享內(nèi)存塊集合的分享

優(yōu)選的是,在互連處理機(jī)中構(gòu)造共享內(nèi)存分區(qū)包括:

分別計(jì)算所述共享內(nèi)存描述符使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符及所述內(nèi)存塊屬性所占用的內(nèi)存空間;

計(jì)算用于管理所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,并在互連處理機(jī)共享內(nèi)存中預(yù)留出所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,同時(shí)將所述共享內(nèi)存描述使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符以及所述內(nèi)存塊屬性依次在所述共享內(nèi)存分區(qū)所需的內(nèi)存空間進(jìn)行存儲(chǔ),獲得所述共享內(nèi)存分區(qū)。

所述共享內(nèi)存描述符使用狀態(tài)表所需的內(nèi)存空間的計(jì)算、所述內(nèi)存塊分配狀態(tài)表所需的內(nèi)存空間的計(jì)算、所述查詢描述符所占用的內(nèi)存空間的計(jì)算及所述內(nèi)存塊屬性所占用的內(nèi)存空間的計(jì)算是相互獨(dú)立的,四者的內(nèi)存空間相加得到所述共享內(nèi)存分區(qū)的空間大小。

優(yōu)選的是,獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存的具體步驟如下:

A、獲取所述共享內(nèi)存描述符使用狀態(tài)表的使用信息,判斷是否有可用;是,則執(zhí)行步驟B,否,則執(zhí)行步驟C;

B、獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,判斷是否有滿足申請創(chuàng)建數(shù)量的空閑內(nèi)存塊;是,則創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,否,則執(zhí)行步驟C;

C、不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存。

經(jīng)過獲取所述共享內(nèi)存描述使用狀態(tài)表的使用信息,如果使用信息中包含可用信息,則進(jìn)一步獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,看是否有空閑內(nèi)存塊可用信息,有的話,則創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,這樣就避免了不加任何調(diào)查地創(chuàng)建新的分布式任務(wù),但打開使用時(shí)卻發(fā)現(xiàn)沒有空閑內(nèi)存塊使用的弊端,節(jié)約了時(shí)間,提高了效率。

優(yōu)選的是,打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),通過讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集。

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),通過讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,查看哪些內(nèi)存塊已經(jīng)被分配給其它互連處理機(jī)上分布式任務(wù)RapidIO共享內(nèi)存使用,哪些沒有被分配,確定并使用未分配的內(nèi)存塊集,通過信息共享,提高了工作效率。

優(yōu)選的是,關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的所述共享內(nèi)存描述符使用狀態(tài)表。

RapidIO互連處理機(jī)之上分布式任務(wù)通過共享內(nèi)存描述符執(zhí)行關(guān)閉操作時(shí),對(duì)共享內(nèi)存描述符的引用計(jì)數(shù)執(zhí)行減1操作,如果引用計(jì)數(shù)減為0,則修改該共享內(nèi)存描述符在內(nèi)存塊分配狀態(tài)表中代表的內(nèi)存塊集合使用狀態(tài)。

一種管理分布式任務(wù)RapidIO共享內(nèi)存的設(shè)備,所述設(shè)備包括:

構(gòu)造模塊,用于構(gòu)造互連處理機(jī)上的共享內(nèi)存分區(qū);

創(chuàng)建模塊,用于獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

操作模塊,用于打開和關(guān)閉所述新的分布式任務(wù)RapidIO共享內(nèi)存。

本發(fā)明設(shè)備的所述構(gòu)造模塊,其構(gòu)造的分布式任務(wù)共享內(nèi)存分區(qū),解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存狀態(tài)的管理需求,為分布式任務(wù)間基于RapidIO共享內(nèi)存的通信提供了支持。

優(yōu)選的是,所述構(gòu)造模塊具體用于:

分別計(jì)算共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符及內(nèi)存塊屬性所占用的內(nèi)存空間;

計(jì)算用于管理所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,并在互連處理機(jī)共享內(nèi)存中預(yù)留出所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,同時(shí)將所述共享內(nèi)存描述使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符以及所述內(nèi)存塊屬性依次在所述共享內(nèi)存分區(qū)所需的內(nèi)存空間進(jìn)行存儲(chǔ),獲得所述共享內(nèi)存分區(qū)。

優(yōu)選的是,所述創(chuàng)建模塊具體用于:

獲取所述共享內(nèi)存描述符使用狀態(tài)表的使用信息,判斷是否有可用;是,則獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,否,則不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,判斷是否有滿足申請創(chuàng)建數(shù)量的空閑內(nèi)存塊;是,則創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,否,則不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存。

優(yōu)選的是,所述操作模塊具體用于:

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集;

關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的所述共享內(nèi)存描述符使用狀態(tài)表。

本發(fā)明的有益效果:

1、本發(fā)明提供的管理分布式任務(wù)RapidIO共享內(nèi)存的方法,其通過構(gòu)造共享內(nèi)存分區(qū)的方式,實(shí)現(xiàn)對(duì)RapidIO互連多處理機(jī)RapidIO共享內(nèi)存進(jìn)行有效管理,解決位于各處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存使用狀態(tài)的維護(hù),提高了工作效率。

2、本發(fā)明提供的管理分布式任務(wù)RapidIO共享內(nèi)存的方法,其有效的解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于共享內(nèi)存使用狀態(tài)信息的交互,為RapidIO共享內(nèi)存的創(chuàng)建、打開以及關(guān)閉操作奠定了基礎(chǔ)。

3、本發(fā)明提供的管理分布式任務(wù)RapidIO共享內(nèi)存的設(shè)備,其有效地實(shí)現(xiàn)了管理分布式任務(wù)RapidIO共享內(nèi)存的方法。

附圖說明

圖1為本發(fā)明所述共享內(nèi)存分區(qū)的結(jié)構(gòu)示意圖;

圖2為本發(fā)明所述共享內(nèi)存分區(qū)構(gòu)造的流程圖;

圖3為本發(fā)明所述管理分布式任務(wù)RapidIO共享內(nèi)存的方法的流程圖;

圖4為本發(fā)明所述管理分布式任務(wù)RapidIO共享內(nèi)存的設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步的描述。

本發(fā)明的流程圖如附圖3所示,包括以下步驟:

本發(fā)明提供了一種管理分布式任務(wù)RapidIO共享內(nèi)存的方法,包括以下步驟:

在互連處理機(jī)中構(gòu)造共享內(nèi)存分區(qū);

獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),讀取所述共享內(nèi)存分區(qū),獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集;

關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的狀態(tài)。

本發(fā)明方法構(gòu)造的分布式任務(wù)RapidIO共享內(nèi)存分區(qū),解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存狀態(tài)的管理需求,為分布式任務(wù)間基于RapidIO共享內(nèi)存的通信提供了支持。

在上述實(shí)施例的基礎(chǔ)上,又一個(gè)實(shí)施例,所述共享內(nèi)存分區(qū)包括共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符和內(nèi)存塊屬性區(qū)。

所述共享內(nèi)存描述符的使用狀態(tài)以字節(jié)存儲(chǔ),所述內(nèi)存塊的使用狀態(tài)以二進(jìn)制存儲(chǔ),所述查詢描述符用于同一共享內(nèi)存描述符的分享,所述內(nèi)存塊屬性用于同一共享內(nèi)存描述符所代表共享內(nèi)存塊集合的分享

在上述實(shí)施例的基礎(chǔ)上,又一個(gè)實(shí)施例,在互連處理機(jī)中構(gòu)造共享內(nèi)存分區(qū)包括:

分別計(jì)算所述共享內(nèi)存描述符使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符及所述內(nèi)存塊屬性所占用的內(nèi)存空間;

計(jì)算用于管理所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,并在互連處理機(jī)共享內(nèi)存中預(yù)留出所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,同時(shí)將所述共享內(nèi)存描述使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符以及所述內(nèi)存塊屬性依次在所述共享內(nèi)存分區(qū)所需的內(nèi)存空間進(jìn)行存儲(chǔ),獲得所述共享內(nèi)存分區(qū)。

所述共享內(nèi)存描述符使用狀態(tài)表所需的內(nèi)存空間的計(jì)算、所述內(nèi)存塊分配狀態(tài)表所需的內(nèi)存空間的計(jì)算、所述查詢描述符所占用的內(nèi)存空間的計(jì)算及所述內(nèi)存塊屬性所占用的內(nèi)存空間的計(jì)算是相互獨(dú)立的,四者的內(nèi)存空間相加得到所述共享內(nèi)存分區(qū)的空間大小。

對(duì)于空間大小為S字節(jié),分配內(nèi)存塊大小為block_size字節(jié),提供N個(gè)共享內(nèi)存描述符(共享內(nèi)存描述符用于標(biāo)識(shí)一個(gè)內(nèi)存塊集)的分布式任務(wù)RapidIO共享內(nèi)存,其共享內(nèi)存管理分區(qū)的構(gòu)造方法如下:

以一個(gè)字節(jié)存儲(chǔ)每個(gè)共享內(nèi)存描述符的使用狀態(tài),0為空閑、大于0的值為分布式任務(wù)對(duì)共享內(nèi)存引用的次數(shù),并由公式1計(jì)算得出記錄共享內(nèi)存描述符使用狀態(tài)所需的內(nèi)存空間size_1字節(jié),任務(wù)的引用的次數(shù),指的是有多少個(gè)任務(wù)對(duì)共享內(nèi)存進(jìn)行了引用(或者稱為使用),公式1計(jì)算出的內(nèi)存空間只是用于存儲(chǔ)共享內(nèi)存“引用”計(jì)數(shù)的狀態(tài)值。公式1如下式:

N*8

以一個(gè)二進(jìn)位存儲(chǔ)內(nèi)存塊的使用狀態(tài),0為空閑、1為在用,并由公式2計(jì)算得出記錄內(nèi)存塊分配狀態(tài)所需的內(nèi)存空間size_2字節(jié)。公式2如下式:

[S/(8*block_size)]

按公式3計(jì)算出查詢描述符所占用的內(nèi)存空間size_3字節(jié);查詢描述符用于RapidIO互連處理機(jī)分布式任務(wù)間對(duì)于同一共享內(nèi)存描述符的分享。公式3如下式:

[[log2N]/8]

按公式4計(jì)算出內(nèi)存塊屬性所占用的內(nèi)存空間size_4字節(jié);內(nèi)存塊屬性用于RapidIO互連異構(gòu)處理機(jī)分布式任務(wù)間對(duì)于同一共享內(nèi)存描述符所代表共享內(nèi)存塊集合的分享。公式4如下式:

[[(log2[S/block_size])]/8]*[S/block_size]

按公式5計(jì)算出用于管理RapidIO共享內(nèi)存所需的內(nèi)存空間size_5字節(jié),并在各處理機(jī)RapidIO共享內(nèi)存中預(yù)留size_5字節(jié)的空間,同時(shí)將共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符以及內(nèi)存塊屬性區(qū)依次在這size_5字節(jié)中進(jìn)行存儲(chǔ),公式5如下式:

size_1+size_2+size_3+size_4

size_1、size_2、size_3以及size_4四個(gè)值的計(jì)算相互獨(dú)立,但四者相加共同得出size_5。這里使用size_1,size_2、size_3、size_4以及size_5指代了計(jì)算結(jié)果,簡化了步驟中公式的表達(dá)。

在上述實(shí)施例的基礎(chǔ)上,又一個(gè)實(shí)施例,獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存的具體步驟如下:

B、獲取所述共享內(nèi)存描述符使用狀態(tài)表的使用信息,判斷是否有可用;是,則執(zhí)行步驟B,否,則執(zhí)行步驟C;

B、獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,判斷是否有滿足申請創(chuàng)建數(shù)量的空閑內(nèi)存塊;是,則創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,否,則執(zhí)行步驟C;

C、不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存。

經(jīng)過獲取所述共享內(nèi)存描述使用狀態(tài)表的使用信息,如果使用信息中包含可用信息,即取值為0的共享內(nèi)存描述符,則進(jìn)一步獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,看是否有空閑內(nèi)存塊可用信息(狀態(tài)值為0表示內(nèi)存塊空閑),當(dāng)有取值為0(空閑)的共享內(nèi)存描述符以及足夠數(shù)量的空閑內(nèi)存塊時(shí),即創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,這樣就避免了不加任何調(diào)查地創(chuàng)建新的分布式任務(wù),但打開使用時(shí)卻發(fā)現(xiàn)沒有空閑內(nèi)存塊使用的弊端,節(jié)約了時(shí)間,提高了效率。

在上述實(shí)施例的基礎(chǔ)上,再一個(gè)實(shí)施例,打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),通過讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集。

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),通過讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,查看哪些內(nèi)存塊已經(jīng)被分配給其它互連處理機(jī)上分布式任務(wù)RapidIO共享內(nèi)存使用,哪些沒有被分配,確定并使用未分配的內(nèi)存塊集,通過信息共享,提高了工作效率。

在上述實(shí)施例的基礎(chǔ)上,再一個(gè)實(shí)施例,關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的所述共享內(nèi)存描述符使用狀態(tài)表。

RapidIO互連處理機(jī)之上分布式任務(wù)通過共享內(nèi)存描述符執(zhí)行關(guān)閉操作時(shí),對(duì)共享內(nèi)存描述符的引用計(jì)數(shù)執(zhí)行減1操作,如果引用計(jì)數(shù)減為0,則修改該共享內(nèi)存描述符在內(nèi)存塊分配狀態(tài)表中代表的內(nèi)存塊集合使用狀態(tài)。

一種管理分布式任務(wù)RapidIO共享內(nèi)存的設(shè)備,所述設(shè)備包括:

構(gòu)造模塊,用于構(gòu)造互連處理機(jī)上的共享內(nèi)存分區(qū);

創(chuàng)建模塊,用于獲取所述共享內(nèi)存分區(qū)的可用信息,在至少一個(gè)互連處理機(jī)上創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

操作模塊,用于打開和關(guān)閉所述新的分布式任務(wù)RapidIO共享內(nèi)存。

本發(fā)明設(shè)備的所述構(gòu)造模塊,其構(gòu)造的分布式任務(wù)共享內(nèi)存分區(qū),解決了RapidIO互連處理機(jī)之上分布式任務(wù)對(duì)于RapidIO共享內(nèi)存狀態(tài)的管理需求,為分布式任務(wù)間基于RapidIO共享內(nèi)存的通信提供了支持。

在上述情況的基礎(chǔ)上,又一個(gè)實(shí)施例,所述構(gòu)造模塊具體用于:

分別計(jì)算共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符及內(nèi)存塊屬性所占用的內(nèi)存空間;

計(jì)算用于管理所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,并在互連處理機(jī)共享內(nèi)存中預(yù)留出所述共享內(nèi)存分區(qū)所需的內(nèi)存空間,同時(shí)將所述共享內(nèi)存描述使用狀態(tài)表、所述內(nèi)存塊分配狀態(tài)表、所述查詢描述符以及所述內(nèi)存塊屬性依次在所述共享內(nèi)存分區(qū)所需的內(nèi)存空間進(jìn)行存儲(chǔ),獲得所述共享內(nèi)存分區(qū)。

對(duì)于空間大小為S字節(jié),分配內(nèi)存塊大小為block_size字節(jié),提供N個(gè)共享內(nèi)存描述符(共享內(nèi)存描述符用于標(biāo)識(shí)一個(gè)內(nèi)存塊集)的分布式任務(wù)RapidIO共享內(nèi)存,其共享內(nèi)存管理分區(qū)的構(gòu)造方法如下:

以一個(gè)字節(jié)存儲(chǔ)每個(gè)共享內(nèi)存描述符的使用狀態(tài),0為空閑、大于0的值為分布式任務(wù)對(duì)共享內(nèi)存引用的次數(shù),并由公式1計(jì)算得出記錄共享內(nèi)存描述符使用狀態(tài)所需的內(nèi)存空間size_1字節(jié)。任務(wù)的引用的次數(shù),指的是有多少個(gè)任務(wù)對(duì)共享內(nèi)存進(jìn)行了引用(或者稱為使用),公式1計(jì)算出的內(nèi)存空間只是用于存儲(chǔ)共享內(nèi)存“引用”計(jì)數(shù)的狀態(tài)值。公式1如下:

N*8

以一個(gè)二進(jìn)位存儲(chǔ)內(nèi)存塊的使用狀態(tài),0為空閑、1為在用,并由公式2計(jì)算得出記錄內(nèi)存塊分配狀態(tài)所需的內(nèi)存空間size_2字節(jié)。公式2如下:

[S/(8*block_size)]

按公式3計(jì)算出查詢描述符所占用的內(nèi)存空間size_3字節(jié);查詢描述符用于RapidIO互連處理機(jī)分布式任務(wù)間對(duì)于同一共享內(nèi)存描述符的分享。公

[[log2N]/8]

式3如下:

按公式4計(jì)算出內(nèi)存塊屬性所占用的內(nèi)存空間size_4字節(jié);內(nèi)存塊屬性用于RapidIO互連異構(gòu)處理機(jī)分布式任務(wù)間對(duì)于同一共享內(nèi)存描述符所代表共享內(nèi)存塊集合的分享。公式4如下:

[[(log2[S/block_size])]/8]*[S/block_size]

按公式5計(jì)算出用于管理RapidIO共享內(nèi)存所需的內(nèi)存空間size_5字節(jié),并在各處理機(jī)RapidIO共享內(nèi)存中預(yù)留size_5字節(jié)的空間,同時(shí)將共享內(nèi)存描述符使用狀態(tài)表、內(nèi)存塊分配狀態(tài)表、查詢描述符以及內(nèi)存塊屬性區(qū)依次在這size_5字節(jié)中進(jìn)行存儲(chǔ),公式5如下:

size_1+size_2+size_3+size_4

size_1、size_2、size_3以及size_4四個(gè)值的計(jì)算相互獨(dú)立,但四者相加共同得出size_5。這里使用size_1,size_2、size_3、size_4以及size_5指代了計(jì)算結(jié)果,簡化了步驟中公式的表達(dá)。

在上述實(shí)施例的基礎(chǔ)上,又一個(gè)實(shí)施例,所述創(chuàng)建模塊具體用于:

獲取所述共享內(nèi)存描述符使用狀態(tài)表的使用信息,判斷是否有可用,即取值為0的共享內(nèi)存描述符;是,則獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,否,則不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存;

獲取所述共享內(nèi)存塊分配狀態(tài)表的使用信息,判斷是否有滿足申請創(chuàng)建數(shù)量的空閑內(nèi)存塊(狀態(tài)值為0表示內(nèi)存塊空閑)。當(dāng)有取值為0(空閑)的共享內(nèi)存描述符以及足夠量的空閑內(nèi)存塊時(shí);是,則創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存,否,則不創(chuàng)建新的分布式任務(wù)RapidIO共享內(nèi)存。

在上述實(shí)施例的基礎(chǔ)上,又一個(gè)實(shí)施例,所述操作模塊具體用于:

打開所述新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),讀取所述共享內(nèi)存分區(qū)中的所述查詢描述符和所述內(nèi)存塊屬性,獲取其它互連處理機(jī)上的分布式任務(wù)RapidIO共享內(nèi)存中相同的內(nèi)存塊集,確定并使用未分配的內(nèi)存塊集。

關(guān)閉新的分布式任務(wù)RapidIO共享內(nèi)存時(shí),修改所述共享內(nèi)存分區(qū)的所述共享內(nèi)存描述符使用狀態(tài)表。RapidIO互連處理機(jī)之上分布式任務(wù)通過共享內(nèi)存描述符執(zhí)行關(guān)閉操作時(shí),對(duì)共享內(nèi)存描述符的引用計(jì)數(shù)執(zhí)行減1操作,如果引用計(jì)數(shù)減為0,則修改該共享內(nèi)存描述符在內(nèi)存塊分配狀態(tài)表中代表的內(nèi)存塊集合使用狀態(tài)。

構(gòu)造的RapidIO共享內(nèi)存分區(qū),可以完成RapidIO互連處理機(jī)上分布式任務(wù)對(duì)于共享內(nèi)存的創(chuàng)建、打開、關(guān)閉等操作。

創(chuàng)建的時(shí)候,RapidIO總線互連處理機(jī)A上的任務(wù)A1使用描述符D創(chuàng)建大小為S的RapidIO共享內(nèi)存,步驟為:

在共享內(nèi)存描符使用狀態(tài)表中查找描述符D是否已被其它任務(wù)用于創(chuàng)建共享內(nèi)存,即描述符的值大于0;大于0則創(chuàng)建失敗,結(jié)束操作;否則將描述符D的值賦為1:

然后執(zhí)行掃描內(nèi)存分配狀態(tài)表,根據(jù)申請空間S的大小,判斷是否有足夠的內(nèi)存塊進(jìn)行分配,如果內(nèi)存空間充配,則返回相應(yīng)獲取的內(nèi)存塊號(hào)集,并在內(nèi)存塊分配表狀態(tài)表中登記,即將內(nèi)存塊對(duì)應(yīng)的二進(jìn)制位置1;否則分配失敗,結(jié)束操作。

打開的時(shí)候,RapidIO總線互連處理機(jī)B上的任務(wù)B1或者創(chuàng)建的RapidIO總線互連處理機(jī)A上的任務(wù)A1請求打開描述符D所代表的RapidIO共享內(nèi)存,經(jīng)過如下步驟:

1、在共享內(nèi)存描符使用狀態(tài)表中查找描述符D是否已被其它任務(wù)用于創(chuàng)建共享內(nèi)存,即描述符的值大于0;大于0則可打開,并將D的值加1,然后執(zhí)行步驟2);否則打開操作無效,結(jié)束操作。

2、將查詢描述符的值賦為D,將查詢描述符D所代表的共享內(nèi)存塊號(hào)集存于內(nèi)存塊屬性區(qū),然后執(zhí)行步驟3)。

3、任務(wù)B1和任務(wù)A1讀取內(nèi)存塊屬性區(qū),即可獲取描述符D所對(duì)應(yīng)的內(nèi)存塊集。

關(guān)閉的時(shí)候,RapidIO總線互連的處理機(jī)C上的任務(wù)C1或者B1或者A1請求關(guān)閉描述符D所代表的RapidIO共享內(nèi)存,經(jīng)過如下步驟(執(zhí)行關(guān)閉操作的前提是描述符D已被任務(wù)用于創(chuàng)建過RapidIO共享內(nèi)存):

在共享內(nèi)存描符使用狀態(tài)表中查找描述符D的值進(jìn)行減1操作,如果D的值減1之后變?yōu)?,說明已無其它任務(wù)使用描述符D指代的內(nèi)存塊集,那么將描述符D所代表的內(nèi)存塊屬性集在內(nèi)存塊分配狀態(tài)表中的值賦為0,釋放描述符D所代表的共享內(nèi)存塊集;否則關(guān)閉操作結(jié)束。

發(fā)明在此還有其他實(shí)施例的數(shù)據(jù),就不一一列舉。

盡管本發(fā)明的實(shí)施方案已公開如上,但其并不僅僅限于說明書和實(shí)施方式中所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明的領(lǐng)域,對(duì)于熟悉本領(lǐng)域的人員而言,可容易地實(shí)現(xiàn)另外的修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念下,本發(fā)明并不限于特定的細(xì)節(jié)和這里示出與描述的圖例。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
正蓝旗| 平凉市| 崇左市| 仪征市| 白山市| 延安市| 凤山市| 河西区| 滦平县| 乌拉特后旗| 洛宁县| 高邑县| 沙田区| 汨罗市| 历史| 安阳县| 四川省| 同仁县| 元江| 辽源市| 利川市| 阿克陶县| 嘉兴市| 遂昌县| 华亭县| 黑山县| 新宾| 曲松县| 永新县| 灵石县| 封开县| 报价| 波密县| 万山特区| 安庆市| 莎车县| 亚东县| 武义县| 大余县| 沐川县| 肃南|