專利名稱:分布處理型模擬器的制作方法
技術(shù)領(lǐng)域:
本申請的公開涉及通過利用多個計算器的分布處理實現(xiàn)的分布處理型模擬器。
背景技術(shù):
傳統(tǒng)上,已經(jīng)設(shè)計了模擬器來模擬虛擬環(huán)境下的單個主體的行為。這里,主體的例 子包括諸如車輛、摩托車、自行車和行人之類的移動物體。作為一個例子,已知一種技術(shù),其 利用模擬車輛行為的模擬器預(yù)測交通量和交通阻塞發(fā)生狀態(tài)。這種交通流模擬器能夠預(yù)先 估計將通過交通措施(例如包括道路維護和ETC服務(wù)的基礎(chǔ)設(shè)施安裝)獲得的交通平穩(wěn)度 效果,從而被用作城市規(guī)劃的有效工具。此外,還有一種交通流模擬器,其能夠通過模擬駕 駛員的識別和判斷錯誤來預(yù)測事故發(fā)生狀態(tài)(例如,見日本待審專利公開2007-47972)。交通流模擬器在計算機中的虛擬空間中再現(xiàn)交通狀態(tài)。在這些交通流模擬器中, 對單個車輛的行為進行建模的模擬器稱為微觀交通流模擬器,其能夠詳細模擬交通流。為 了進行大規(guī)模模擬,利用多個計算器資源執(zhí)行并行分布處理。通常,在交通流模擬器的分布處理中,對模擬所針對的空間進行劃分,以分配到多 個計算器資源,并且各計算器資源模擬存在于分配給它們的劃分空間中的車輛的行為。由 于真實世界中的車輛行為是根據(jù)周圍環(huán)境(其他車輛、行人、交通信號等)確定的,因此必 需參照周圍環(huán)境(其他車輛的信息等)來模擬車輛行為。當相鄰空間被分配給其他計算器 資源時,應(yīng)當通過通信獲得該信息。存在的問題是計算器資源之間產(chǎn)生的通信量隨著車輛數(shù)量的增加而增加,這導(dǎo)致 了處理性能的下降。因此,日本待審專利公開2005-4676已經(jīng)被認為是減少并行分布處理 中計算器資源之間的通信量的技術(shù)。
發(fā)明內(nèi)容
考慮到以上方面,做出了本發(fā)明,并且目的之一是減少分布處理型模擬器中計算 器之間的通信量。根據(jù)本發(fā)明的一個方面的模擬器是這樣的模擬器,其通過利用了彼此可通信的多 個計算器的分布處理來模擬虛擬空間中存在的多個主體的行為,其中,至少兩個計算器能 夠訪問空間分配存儲器,該空間分配存儲器存儲了所述虛擬空間中的各劃分空間的劃分范 圍以及被分配了與各劃分空間中存在的主體有關(guān)的處理的計算器,作為空間分配信息,該 至少兩個所述計算器包括分配變更候選空間提取部,其參照所述空間分配存儲器,以從一 個或更多個相鄰空間被分配給另一計算器的劃分空間中,提取作為分配變更的候選的劃分 空間,作為分配變更候選空間;通信量估計部,其基于所述分配變更候選空間及其相鄰劃分 空間中存在的主體的數(shù)量,計算在所述分配變更候選空間被分配給作為分配對象的計算器 時,在作為分配對象的計算器與另一計算器之間產(chǎn)生的通信量或通信變化量;以及空間分 配變更判斷部,其基于所述通信量估計部計算出的通信量或通信變化量,來確定是否將所 述分配變更候選空間分配給作為分配對象的計算器。
圖1例示了根據(jù)實施方式1的包括計算器的分布處理型模擬器的結(jié)構(gòu)。圖2A例示了說明圖1中所示各計算器分配了虛擬空間中的預(yù)定區(qū)域以模擬多個 主體的行為的情況的示意圖。圖2B例示了說明圖2A中所示預(yù)定區(qū)域中的車輛主體和道路地圖之間的關(guān)系的示 意圖。圖3例示了說明圖1所示計算器A的結(jié)構(gòu)示例的功能框圖。圖4例示了利用CPU實現(xiàn)圖1到圖3中所示的計算器的硬件結(jié)構(gòu)。圖5A和圖5B示意性地說明了分配變更候選空間的分配從計算器PC 1變更到計 算器PC 2之前和之后的通信狀態(tài)。圖6例示了說明基于在計算器的CPU 23中執(zhí)行的模擬程序的處理的操作圖。圖7例示了分配給構(gòu)成模擬器的部分計算器(PC 1到PC 3)的多個劃分空間。圖8例示了空間分配信息26b。圖9例示了主體信息26c。圖10例示了在執(zhí)行模擬程序時向模擬器提供模擬標準的控制畫面。圖1IA和圖1IB示意性地說明了分配變更候選空間的分配從計算器PC 1變更到 計算器PC 2之前和之后的通信狀態(tài)。圖12是說明基于在根據(jù)本實施方式的計算器的CPU 23中執(zhí)行的模擬程序的示例 性處理的操作圖。圖13是說明基于在根據(jù)本實施方式的修改例的計算器的CPU 23中執(zhí)行的模擬程 序的示例性處理的操作圖。圖14例示了說明圖1所示計算器A的結(jié)構(gòu)示例的功能框圖。圖15示意性說明了請求將分配變更候選空間從計算器PC 1 (移動出發(fā)地)分配 變更到計算器PC 2 (移動目的地)的示例性情況。圖16是說明基于在移動出發(fā)地計算器(例如,PC 1)的CPU 23中執(zhí)行的模擬程 序的示例性處理的操作圖。圖17是說明基于在作為移動目的地的候選計算器(例如,PC 2)的CPU 23中執(zhí) 行的模擬程序的示例性處理的操作圖。圖18示意性地說明了分配變更候選空間的分配從計算器PC 1變更到計算器PC 2 的示例性狀態(tài)。
具體實施例方式前述日本待審專利公開2005-4676公開了這樣的結(jié)構(gòu),其中,在多個計算器資源 處理的程序彼此協(xié)同操作的環(huán)境中,根據(jù)通過比較特定計算器資源中的程序與該計算器資 源中的另一程序之間的通信量和特定計算器資源中的程序與另一計算器資源中的程序之 間的通信量獲得的結(jié)果,來改變用于處理該程序的計算器資源。本發(fā)明公開目的是基于各 程序收集的通信歷史減少計算器之間的通信量。然而,在交通流模擬中,由于各主體行為復(fù)雜,必需以非常短的時間間隔(幾毫秒)頻繁執(zhí)行計算器資源之間的通信。因此,在執(zhí)行重負荷處理(例如收集通信歷史)時, 模擬器的性能整體上下降。此外,在執(zhí)行大規(guī)模模擬的情況下,通信量隨著車輛數(shù)量的增加 而增加,這進一步增加了用于收集通信歷史的處理負荷。根據(jù)本發(fā)明的一個方面的模擬器是這樣的模擬器,其通過利用了彼此可通信的多 個計算器的分布處理來模擬虛擬空間中存在的多個主體的行為,其中,至少兩個計算器能 夠訪問空間分配存儲器,該空間分配存儲器存儲了所述虛擬空間中的各劃分空間的劃分范 圍以及被分配了與各劃分空間中存在的主體有關(guān)的處理的計算器,作為空間分配信息,該 至少兩個所述計算器包括分配變更候選空間提取部,其參照所述空間分配存儲器,以從一 個或更多個相鄰空間被分配給另一計算器的劃分空間中,提取作為分配變更的候選的劃分 空間,作為分配變更候選空間;通信量估計部,其基于所述分配變更候選空間及其相鄰劃分 空間中存在的主體的數(shù)量,計算在所述分配變更候選空間被分配給作為分配對象的計算器 時,在作為分配對象的計算器與另一計算器之間產(chǎn)生的通信量或通信變化量;以及空間分 配變更判斷部,其基于所述通信量估計部計算出的通信量或通信變化量,來確定是否將所 述分配變更候選空間分配給作為分配對象的計算器。根據(jù)本申請的公開,在分布處理型模擬器中,可以顯著減少計算器之間的通信量。下面,利用附圖來具體描述本申請的實施方式。[1.實施方式1]根據(jù)本實施方式的模擬器是通過劃分空間以便分配給多個計算器資源來執(zhí)行分 布處理的交通流模擬器。在該情況下的主體例如可以是諸如車輛或行人等的移動物體,并 且本實施方式描述了將車輛設(shè)置為主體的情況。根據(jù)本實施方式的交通模擬,在計算特定劃分空間中存在的車輛的行為時,參照 其相鄰空間中存在的車輛的信息。當相鄰空間被分配給其他計算器時,生成通信數(shù)據(jù)(稱 為通信數(shù)據(jù))。例如,當所參照的車輛信息的數(shù)據(jù)大小固定時,要生成的通信量與相鄰空間 中存在的車輛的數(shù)量成比例。在這種情況下,基于相鄰空間被分配給其他計算器的空間“i” 中存在的車輛的數(shù)量和該相鄰空間中存在的車輛的數(shù)量,能夠計算出當前通信量和在變更 空間i的分配的情況下要生成的通信量。另外,這里使用的“通信量”是指計算器資源之間 要生成的通信數(shù)據(jù)量,并且是包括經(jīng)由總路線在CPU之間的通信數(shù)據(jù)或者經(jīng)由網(wǎng)絡(luò)在計算 機之間的通信數(shù)據(jù)的概念?;谠摽臻g中車輛的數(shù)量,各計算器估計由分配了相鄰空間的其他計算器來執(zhí)行 分配給該計算器本身的特定劃分空間中的處理時要生成的通信量。然后,通過比較估計出 的各通信量,在計算器之間變更劃分空間的分配。由于根據(jù)空間中存在的車輛數(shù)量估計通 信量,因此不需要通信歷史。此外,在分配給它自己的計算器的多個空間當中,僅在相鄰空 間被分配給其他計算器資源的空間中必須執(zhí)行前述處理,由此能夠減少通信量而不增加處 理負荷。[1-1.系統(tǒng)結(jié)構(gòu)]圖1例示了本實施方式中的分布處理型交通流模擬器的系統(tǒng)結(jié)構(gòu)。在圖1中所示 的示例中,多個計算器A到D經(jīng)由網(wǎng)絡(luò)N彼此連接。計算器A到D能夠通過分布處理,來模 擬虛擬空間中存在的多個主體的行為。各計算器A到D是至少包括處理器、存儲器和通信 接口的獨立硬件。另外,實現(xiàn)分布處理的多個計算器并非必須是獨立的計算器。例如,在包
6括多個CPU的多處理器計算機中,可以通過使得各CPU能夠與多個計算器一起工作來實現(xiàn) 分布處理。換句話說,只要各計算器執(zhí)行彼此之間的數(shù)據(jù)通信并且單獨用作執(zhí)行數(shù)據(jù)處理 的資源,則它們不限于特定結(jié)構(gòu)。此外,計算器數(shù)量不限于圖1所示的示例。各計算器A到D分配有虛擬空間中的目標區(qū)域,并且用作模擬所分配目標區(qū)域中 主體的行為的模擬器。即,各計算器A到D用作通過利用多個計算器的分布處理來實現(xiàn)對 虛擬空間中存在的多個車輛主體的行為的模擬的交通流模擬器。圖2A例示了說明圖1中所示各計算器分配有虛擬空間中的預(yù)定區(qū)域以便模擬多 個主體的行為的情況的示意圖。在圖2A所示示例中,包括計算器A到D的多個計算器被配 置成彼此可連接;執(zhí)行處理,以模擬在分配給它們的空間區(qū)域中的車輛主體的行為;并且 與其他計算器發(fā)送/接收車輛主體的信息(位置、速度等)。例如,計算器A執(zhí)行處理以模 擬分配區(qū)域A中存在的各車輛主體的行為,并且與其他計算器(計算器B等)交換各車輛 主體的信息(位置、速度等)。圖2B例示了說明圖2A中所示預(yù)定區(qū)域(例如,區(qū)域A)中的主體和道路地圖之間 的關(guān)系的示意圖。例如,模擬區(qū)域A中存在的車輛主體正在地圖上的道路上移動時的行為。至少一個計算器能夠訪問空間分配存儲器,該空間分配存儲器存儲了虛擬空間中 的各劃分空間的劃分范圍和預(yù)先分配了與各劃分空間中存在的主體相關(guān)的處理的計算器, 作為空間分配信息。此外,該計算器參照空間分配存儲器,以便從一個或更多個相鄰空間被 分配給其他計算器的那些劃分空間當中提取作為分配變更的候選的劃分空間,作為分配變 更候選空間。基于所述分配變更候選空間及其相鄰空間中存在的主體的數(shù)量,該計算器計 算在所述分配變更候選空間被分配給作為分配對象的計算器時,作為分配對象的計算器和 其他計算器之間要產(chǎn)生的通信量或通信變化量。該計算器基于所計算出的通信量或通信變 化量,確定是否將所述分配變更候選空間分配給作為分配對象的計算器。該計算器包括更 新空間分配存儲器中存儲的空間分配信息的空間分配控制部。根據(jù)上述確定結(jié)果,該計算 器請求其空間分配控制部和該分配所針對的計算器的空間分配控制部更新空間分配信息。具體地,該計算器計算分配變更候選空間與其他計算器的劃分空間之間當前產(chǎn)生 的通信量,作為分配變更前的通信量,并且還計算當分配變更候選空間被分配給該分配所 針對的計算器時分配變更候選空間與除該分配所針對的計算器之外的其他計算器的劃分 空間之間預(yù)期產(chǎn)生的通信量,作為分配變更后的通信量。然后,當分配變更后的通信量小 于分配變更前的通信量時,該計算器確定將分配變更候選空間分配給該分配所針對的計算
器ο由于根據(jù)本實施方式的模擬器基于車輛數(shù)量,來計算相鄰空間之間產(chǎn)生的通信量,因此與傳統(tǒng)模擬器相比能夠抑制新的處理負荷的增加。因此,同樣在高頻度執(zhí)行通信的 交通流模擬器中,可以減少計算器資源之間的通信量(網(wǎng)絡(luò)負荷)。例如,在執(zhí)行分布處理的交通流模擬器中,為了不增加計算器資源之間的通信量, 必須將車輛集中存在的空間分配給一個計算器資源。然而,在針對諸如大城市的廣大區(qū)域 的交通模擬中,需要花費巨大成本來手工找出這樣的空間,并且將其分配給這一個計算器 資源。此外,交通狀態(tài)時刻變化,這實際上使得不可能手工進行這種操作。相反,根據(jù)本實施方式的模擬器能夠組合相對于模擬所針對的空間增加的可縮放 性和相對于導(dǎo)致動態(tài)空間分配的交通狀態(tài)變化的靈活性。
[1-2.功能框圖]圖3例示了圖1所示計算器A(標識ID稱為“PC 1”)的功能框圖。其他計算器B 到D等可以具有與計算器A相同的結(jié)構(gòu)。另外,優(yōu)選的是,具有與計算器A相同的結(jié)構(gòu)的其 他計算器的數(shù)量為一個或更多個。也可以是僅僅計算器A具有下述結(jié)構(gòu)。在圖3所示的示例中,計算器A包括空間分配控制部101、空間分配存儲器102、主 體信息存儲器103、模擬執(zhí)行部104、主體信息發(fā)送部105、主體信息接收部106、空間內(nèi)主 體數(shù)量獲取部107、分配變更候選空間提取部108、通信量估計部109、空間分配變更判斷部 110和空間分配變更執(zhí)行部111??臻g分配存儲器102存儲表示虛擬空間中各劃分空間的劃分范圍和分配給各劃 分空間的計算器的空間分配信息。空間分配控制部101更新空間分配控制部中存儲的空間 分配信息。主體信息存儲器103存儲至少包含主體的位置信息的主體信息。模擬執(zhí)行部104參照虛擬空間中分配給計算器A (PC 1)的目標區(qū)域的地圖信息、 至少包含主體的位置信息的主體信息和表示分配給其他計算器的區(qū)域的區(qū)域分配信息,以 便模擬計算器A的目標區(qū)域中的各主體的行為;并且重復(fù)更新各主體的主體信息的處理。 主體信息發(fā)送部105將主體信息發(fā)送給其他計算器資源。主體信息接收部106接收來自其 他計算器資源的主體信息??臻g內(nèi)主體數(shù)量獲取部107參照劃分空間的范圍和主體的位置,以獲取各劃分空 間中存在的主體的數(shù)量。分配變更候選空間提取部108從相鄰空間被分配給其他計算器的 劃分空間當中提取作為分配變更的候選的劃分空間。通信量估計部109基于主體的數(shù)量計 算特定劃分空間和其相鄰空間之間的通信量??臻g分配變更判斷部110比較當前分配下的 通信量和在分配變更候選空間進行分配變更時的通信量,并且如果在分配變更之后通信量 較小,則空間分配變更判斷部110確定變更分配??臻g分配變更執(zhí)行部111請求所有計算 器的空間分配控制部變更空間分配,并且還請求主體信息發(fā)送部105向分配變更目的地的 計算器發(fā)送經(jīng)過分配變更的空間中的主體信息。另外,圖3所示計算器A的各功能部是包括通過程序?qū)崿F(xiàn)的CPU的功能的概念。這 里,程序是不僅包括CPU可直接執(zhí)行的程序還包括諸如源格式程序、壓縮程序、加密程序等 的程序的概念。[1-3.計算器的硬件結(jié)構(gòu)]圖4例示了利用CPU實現(xiàn)圖1到3中所示的計算器的硬件結(jié)構(gòu)。上述計算器包括 顯示器21、CPU 23、存儲器24、鍵盤/鼠標25、硬盤26、光驅(qū)27和通信電路28。另外,顯示 器21、鍵盤/鼠標25和/或光驅(qū)27可以存在于構(gòu)成模擬器的計算器中的任何一個中。OS (操作系統(tǒng),未示出)、模擬程序26a、空間分配信息26b、主體信息26c等記錄在 硬盤26上。還可以具有這樣的結(jié)構(gòu),其中,操作系統(tǒng)(OS)(未示出)、模擬程序26a、空間分 配信息26b、主體信息26c等的全部或一些記錄在存儲器24上。例如,通過經(jīng)由光驅(qū)27讀出諸如⑶-ROM的光盤27a上記錄的程序,來安裝模擬程 序26a。還可以通過利用通信電路28經(jīng)由網(wǎng)絡(luò)N下載服務(wù)器裝置等上記錄的程序,來執(zhí)行 上述安裝。CPU 23基于OS、模擬程序26a等執(zhí)行處理。盡管在本實施方式中不保存模擬的 執(zhí)行結(jié)果,但也可以將其保存起來用于以后顯示。構(gòu)成圖3所示計算器A的空間分配存儲器102和主體信息存儲器103分別對應(yīng)于
8硬盤26上記錄的空間分配信息26b和主體信息26c。通過在CPU 23上執(zhí)行模擬程序26a來 實現(xiàn)構(gòu)成圖3所示計算器A的一些部件,這些部件是空間分配控制部101、模擬執(zhí)行部104、 主體信息發(fā)送部105、主體信息接收部106、空間內(nèi)主體數(shù)量獲取部107、分配變更候選空間 提取部108、通信量估計部109、空間分配變更判斷部110和空間分配變更執(zhí)行部111。[1-4.處理概要]圖5A和圖5B示意性地說明了分配變更候選空間的分配從計算器PC 1變更到計 算器PC 2之前和之后的通信狀態(tài)。如圖5A所示,在分配變更之前計算器PC 1中的分配變 更候選空間Si與PC 2中的劃分空間Sr進行通信。因此,計算器PC 1和PC 2之間的在分 配變更前的通信量例如可以由下式表示分配變更前的通信量=(劃分空間(Si,Sr)中存在的車輛數(shù)量)XDu這里,Du是 每部車輛通信所需要的數(shù)據(jù)量。如圖5B所示,當計算器PC 1中的分配變更候選空間Si移到PC 2時,計算器PC 2 中的分配變更候選空間Si與PC 1中的劃分空間Su,Sl和Sd通信。因此,計算器PC 1和 PC 2之間在分配變更后的通信量由下式表示分配變更后的通信量=(劃分空間(Si,Su, Sd, Si)中存在的車輛數(shù)量)XDu因此,當分配變更后的通信量(S卩,計算器PC 1和PC 2之間在PCl中的分配變更 候選空間Si移到PC 2的情況下與分配變更候選空間Si相關(guān)的通信量)小于分配變更前 的通信量(即,計算器PC 1和PC 2之間的在空間Si移到PC 2之前、與分配變更候選空間 Si相關(guān)的通信量)時,預(yù)期可以減少這些計算器之間的通信量。[1-5.模擬程序的處理內(nèi)容]利用圖6到10來描述前述計算器中模擬程序的處理內(nèi)容。圖6例示了說明基于 計算器的CPU 23中執(zhí)行的模擬程序的處理的操作圖。圖7例示了分配給構(gòu)成根據(jù)本實施 方式的交通流模擬器的部分計算器(PC 1到PC 3)的多個劃分空間。圖8例示了空間分配 信息26b。圖9例示了主體信息26c。圖10例示了在執(zhí)行模擬程序時用于向模擬器提供模 擬標準的控制畫面。另外,并不具體地限于圖10所示的控制畫面1000,只要控制畫面顯示在網(wǎng)絡(luò)N上 的任何一個計算器的顯示器21上并且利用任何一個計算器的鍵盤/鼠標25來控制該控制 畫面即可??梢酝ㄟ^各計算器的模擬程序參照輸入控制畫面中的模擬標準。這里,將描述在分配給圖7所示的計算器PC 1、PC2或PC 3的劃分空間與分配給 其他計算器的劃分空間相鄰時用于減少計算器之間要產(chǎn)生的通信量的處理。如圖10中控 制畫面1000所示,本實施方式的交通流模擬的標準如下表示執(zhí)行模擬的時間的模擬時間 1001為“600分鐘”;表示計算器的數(shù)量的處理器數(shù)量1002為“1000臺”;表示對應(yīng)于道路 地圖的區(qū)域大小的劃分空間的一側(cè)長度1003為“100米”;表示根據(jù)車輛的移動,通信量的 增加程度的移動代價計算系數(shù)1004為“1000”。將在另一實施方式中描述移動代價計算系 數(shù) 1004。執(zhí)行模擬程序的計算器PC 1的CPU 23參照硬盤26中的空間分配信息26b (圖8) 和主體信息26c (圖9),以獲取各劃分空間中存在的車輛主體的數(shù)量(操作S600)。例如, 如圖7所示,作為本實施方式中的示例,各劃分空間大致呈矩形。因此,如圖8所示,通過矩 形中的兩個對角的坐標(例如,地圖上的西南角坐標和東北角坐標),來表示用于指定利用
9劃分空間ID 801識別的劃分空間的劃分范圍802。CPU 23參照主體信息26c (圖9),并且基于利用主體ID 901識別的各車輛主體的 位置坐標902是否在各劃分空間的劃分范圍802(圖8)中,來獲取各劃分空間中存在的車
輛主體的數(shù)量。CPU 23參照硬盤26中的空間分配信息26b,并判斷是否存在分配變更候選空間 i (操作S601)。例如,在圖8中所示的空間分配信息26b中,CPU 23提取負責計算器803 具有它自己的計算器ID "PC 1”的劃分空間ID “Su”、“Sl”和“Si”。然后,基于所提取的 劃分空間(此后,稱為劃分空間Su,Si,Si,...)的部分坐標是否與上述劃分范圍802中的 坐標匹配,CPU 23提取相鄰空間被分配給另一計算器(PC 2或PC 3)的劃分空間的ID。例 如,在圖7中,CPU 23提取劃分空間Sr 702和劃分空間Sd 703作為劃分空間Si 701的相 鄰空間。這里,作為示例,基于各提取的劃分空間中車輛主體的數(shù)量是否等于或大于預(yù)定 閾值,CPU 23判斷是否要將提取的劃分空間設(shè)置為分配變更候選空間i。這是因為隨著車 輛主體數(shù)量的增加,很可能產(chǎn)生更多的通信量。因此,期望變更劃分空間的分配,以有效地 減少計算器之間的通信量。例如,當劃分空間Si中車輛主體的數(shù)量等于或大于預(yù)定閾值時,可以將劃分空間 Si設(shè)置為分配變更候選空間i。此外,當相鄰空間Sr中車輛主體的數(shù)量等于或大于預(yù)定閾 值時,可以將劃分空間Si設(shè)置為分配變更候選空間i。另外,當劃分空間Si和相鄰空間Sr 中車輛主體的數(shù)量總和等于或大于預(yù)定閾值時,可以將劃分空間Si設(shè)置為分配變更候選 空間i。此外,當劃分空間Si和相鄰空間Sr中車輛主體的數(shù)量總和等于或大于預(yù)定閾值并 且同時劃分空間Si中車輛主體的數(shù)量小于相鄰空間Sr中車輛主體的數(shù)量時,可以將劃分 空間Si設(shè)置為分配變更候選空間i。另外,用于基于各提取的劃分空間中車輛主體的數(shù)量 判斷分配變更候選空間i的標準不限于上述情況,而可以是根據(jù)主體的行為趨勢、模擬標 準等任意確定。CPU 23計算分配變更候選空間i與其相鄰空間之間的當前通信量(操作S602)。 下面來描述計算通信量的示例。例如,Nx是“劃分空間Sx中存在的車輛數(shù)量”,Dr是“車輛 的數(shù)據(jù)量(參照)”,Du是“Dr X每單位時間的參照頻率”。另外,這里使用的“參照”指的 是與分配給其他計算器的劃分空間中存在的車輛主體相關(guān)的信息(位置、速度等)的通信。 在計算器之間經(jīng)常執(zhí)行該通信。至于當前通信量,例如可以通過下式計算由PC 1處理劃分空間Si時的通信量 Dl Dl = (NiX2+Nr+Nd) XDu這里,“Ni X 2”反映了 PC 1和PC 2之間的通信以及PC 1和PC 3之間的通信。CPU 23計算在將分配變更候選空間i分配給另一計算器的情況下,分配變更候選 空間i與其相鄰空間之間的通信量(操作S603)??梢酝ㄟ^下式來計算在當前在PC 1中的分配變更候選空間i被分配給另一計算 器PC 2并且由PC 2處理劃分空間Si時的通信量D2 D2 = (Ni X2+Nu+Nl+Nd) XDu這里,“Ni X 2”反映了 PC 2和PC 1之間的通信以及PC 2和PC 3之間的通信。
同樣,可以通過下式來計算在分配變更候選空間i被分配給另一計算器PC 3并且 由PC 3處理劃分空間Si時的通信量D3 D3 = (Ni X 2+Nu+Nl+Nr) X Du這里,“Ni X 2”反映了 PC 3和PC 1之間的通信以及PC 3和PC 2之間的通信。CPU 23判斷分配變更后的通信量是否變得小于當前通信量(分配變更前的通信 量)(操作S604)。例如,在上式中,當Ni = 20,Nu = 1,Nl = 1,Nr = 10,Nd = 5時,可以 計算出D1、D2和D3各值如下Dl = 55XDu, D2 = 47XDu, D3 = 52XDu在這種情況下,由于Du是固定值,所以可以判斷D2為最小值,這意味著分配變更 后的通信量D2變得比當前通信量Dl (分配變更前的通信量)小。另一方面,當Ni = 20,Nu = 8,N1 = 7, Nr = 10,Nd = 5 時,可以計算出 D1、D2 和 D3各值如下Dl = 55XDu, D2 = 60XDu, D3 = 65XDu在這種情況下,由于Du是固定值,所以可以判斷Dl為最小值,這意味著分配變更 后的通信量D2和D3沒有變得比當前通信量Dl (分配變更前的通信量)小。當判斷出分配變更后的通信量可能變得小于當前通信量(分配變更前的通信量) (操作S604中為是)時,CPU 23變更分配變更候選空間i的分配(操作S605)。具體而言, 在空間分配信息26b (圖8)中,CPU 23將分配變更候選空間i的負責計算器的ID更新為 分配目的地的計算器的ID。此外,CPU 23請求包括分配目的地的計算器的所有計算器將空 間分配信息26b中分配變更候選空間i的負責計算器的ID更新為分配目的地的計算器的 ID。至于分配變更候選空間Si,例如在空間分配信息26b (圖8)中,當分配從PC 1變 更到PC 2時,CPU 23將分配變更候選空間Si的負責計算器的ID "PC 1”更新為分配目的 地的計算器的ID "PC 2”,并請求網(wǎng)絡(luò)N上的所有計算器(PC 2,PC 3,...)執(zhí)行同樣的更新。CPU 23移動分配變更候選空間Si中存在的車輛主體的數(shù)據(jù)(操作S606)。具體 而言,CPU 23從主體信息26c (圖9)提取分配變更候選空間Si中存在的各車輛主體的數(shù) 據(jù),并且將其發(fā)送給分配目的地的計算器。例如,當主體ID 901為“A2”的車輛主體存在于 分配變更候選空間Si中時,CPU 23將主體信息26c中記錄的主體ID 901 “A2”的數(shù)據(jù)(位 置坐標902、速度903、車輛類型信息904、操作量905、行駛距離906、行駛時間907、目的地 信息908、駕駛員特征909等)發(fā)送給計算器PC 2。在接收該發(fā)送之后,分配變更目的地的計算器PC 2將主體ID 901 “A2”的數(shù)據(jù)記 錄在計算器PC 2的硬盤26上記錄的主體信息26c中。因此,即使在分配從計算器PC 1變 更到PC 2之后,也可以模擬分配變更候選空間Si中存在的車輛主體的行為。此外,由于在 分配變更候選空間Si的分配變更之后計算器PC 1和PC 2之間的通信量小于分配變更前 的通信量,因此可以減少與分配變更候選空間Si有關(guān)的通信量。作為示例,圖3的功能框圖中所示的“分配變更候選空間提取部”包括圖6中操作 S600和S601處的處理功能。作為示例,“通信量估計部”包括圖6中操作S602和S603處 的處理功能。作為示例,“空間分配變更判斷部”包括圖6中操作S604處的處理功能。作為
11示例,“空間分配控制部”包括圖6中操作S605處的處理功能。作為示例,“空間分配變更 執(zhí)行部”包括圖6中操作S606處的處理功能。[2.實施方式2]根據(jù)本實施方式的模擬器的計算器,把與分配變更候選空間相鄰并分配給它所在 的計算器的相鄰空間與該分配所針對的計算器的劃分空間之間當前產(chǎn)生的通信量考慮在 內(nèi),來計算在將分配變更候選空間移到分配所針對的計算器的情況下的通信變化量,以判 斷是否能夠減少計算器之間整體上的通信量。因此,通過不僅考慮分配變更候選空間,還考 慮相鄰空間與哪個計算器通信,可以變更空間分配,以減少總的通信量。換句話說,在基于 車輛數(shù)量來計算相鄰空間之間產(chǎn)生的通信量,并判斷通信量是否減少的情況下,可以考慮 計算器之間要產(chǎn)生的通信量的實質(zhì)變化。[2-1.處理概要]以下方面分別與實施方式1中描述的圖1到圖4相同根據(jù)本實施方式的分布處 理型模擬器的結(jié)構(gòu);說明了虛擬空間中預(yù)定區(qū)域分配給本實施方式的各計算器以模擬多個 主體的行為的情況的示意圖;說明了本實施方式的預(yù)定區(qū)域中車輛主體與道路地圖之間的 關(guān)系的示意圖;說明了本實施方式的計算器的結(jié)構(gòu)示例的功能框圖;以及利用CPU實現(xiàn)計 算器的硬件結(jié)構(gòu)。在本實施方式中,類似于實施方式1,將描述利用計算器A(PC 1)、計算器 B(PC 2)和計算器C(PC 3)執(zhí)行分布處理的示例。模擬所針對的劃分空間的初始分配狀態(tài) 與實施方式1中相同。圖1IA和圖1IB示意性地說明了分配變更候選空間的分配從計算器PC 1變更到 計算器PC 2之前和之后的通信狀態(tài)。其中,圖IlA示例分配變更之前的通信狀態(tài),圖IlB 示例了分配變更之后的通信狀態(tài)。如圖IlA和IlB所示,在分配變更之前和之后,PC 1中 的分配變更候選空間Si的相鄰空間Su和Sd分別與PC 2中的劃分空間Sa和Sb通信。因 此,即使PC 1中的分配變更候選空間Si移到PC 2,PC 1中的劃分空間Su、Sd與PC 2中的 劃分空間之間的通信量也不會改變。即,即使在分配變更候選空間Si移動到PC 2之后在 PC 2中的分配變更候選空間Si與PC 1中的劃分空間Su、Sd之間發(fā)生通信,該通信也不會 使PC 1與PC 2之間的通信量增加。[2-2.模擬程序的處理內(nèi)容]圖12是說明基于根據(jù)本實施方式的計算器的CPU 23中執(zhí)行的模擬程序的處理的 操作圖。此外,分配給構(gòu)成根據(jù)本實施方式的交通流模擬器的部分計算器(PC 1到PC 3) 的多個劃分空間、空間分配信息26b和主體信息26c分別與實施方式1中所示的圖7到圖 9相同。在本實施方式中,類似于實施方式1,將描述減少計算器PC UPC 2和PC 3之間的 通信量的處理,如圖7所示。圖12中操作S1200、S1201、S1204和S1205處的處理分別與實施方式1中所述的 操作S600、S601、S605和S606處的處理相同。因此,將描述圖12中的操作S1202和S1203。CPU 23計算將分配變更候選空間i分配給另一計算器的情況下的通信變化量(操 作S 1202)。下面將描述計算通信量的示例。類似于實施方式1,例如,Nx是“劃分空間Sx 中存在的車輛數(shù)量”,Dr是“車輛的數(shù)據(jù)量(參照)”,Du是“DrX每單位時間的參照頻率”。 另外,這里使用的“參照”指的是與分配給其他計算器的劃分空間中存在的車輛主體相關(guān)的 信息(位置、速度等)的通信。在計算器之間經(jīng)常執(zhí)行該通信。
至于由PC 1處理劃分空間Si的通信變化量Rl,由于分配變更候選空間i的分配 沒有改變,因此通信變化量Rl為0。可以通過下式來計算分配變更候選空間i被分配給另一計算器PC 2并且由PC 2 處理劃分空間Si時的通信變化量R2 R2 = (+Nl-Nr) XDu此外,可以通過下式來計算分配變更候選空間i被分配給另一計算器PC 3并且由 PC 3處理劃分空間Si時的通信變化量R3 R3 = (+Nl-Nd) XDu例如,在上式中,當Ni = 20,Nu = LNl = l,Nr = 10,Nd = 5時,可以計算出R1、 R2和R3中各值如下Rl = 0,R2 = -9XDu,R3 = _4XDu在這種情況下,由于Du是固定值,所以可以判
斷R2為最小的通信變化量,并且可以期望在分配變更到PC 2之后的通信量會小于當前通 信量(分配變更前的通信量)。另一方面,當Ni = 20, Nu = 8,N1 = 7, Nr = 10, Nd = 5 時,可以計算出 R1、R2 和 R3中各值如下Rl = 0,R2 =-3XDu,R3 =+3XDu在這種情況下,由于Du是固定值,所以可以判斷R2為最小通信變化量,并且可以 期望在分配變更到PC 2之后的通信量小于當前通信量(分配變更前的通信量)。當判斷出分配變更后的通信量變得小于當前通信量(分配變更前的通信量)(操 作S1203中為“是”)時,CPU 23變更分配變更候選空間i的分配(操作S1204)。如上所述,在基于車輛數(shù)量來計算相鄰空間之間要產(chǎn)生的通信量,并判斷通信量 是否減少的情況下,可以考慮計算器之間要產(chǎn)生的通信量的實質(zhì)變化。[2-3.變形例]在將分配變更候選空間i分配給另一計算器的情況下,需要依據(jù)分配變更的處 理。例如,需要將分配變更候選空間i中存在的所有車輛主體的數(shù)據(jù)發(fā)送給移動目的地的 計算器。因此,可以具有將處理成本表示為“代價”的結(jié)構(gòu);比較該代價和通信減少量;并且 當通信減少量大于該代價時,變更分配。在這種情況下,設(shè)置與車輛數(shù)量成比例的代價是適 當?shù)?。因此,可以防止由于分配變更候選空間中車輛數(shù)據(jù)依據(jù)分配變更而轉(zhuǎn)移反而造成 通信量增加,由此能夠有效減少分配變更的通信量。圖13例示了說明基于根據(jù)本實施方式的修改例的計算器的CPU 23中執(zhí)行的模擬 程序的處理的操作圖。圖13中操作S1200到S1203和S1204到S1205處的處理分別與圖12中所述的操 作相同。在圖13中,在操作S1203之后執(zhí)行操作S1203a。在S1203a,在分配變更候選空間 i移到在所計算出的通信變化量中通信量減少得最多的計算器的情況下,并且如果通信減 少量變得大于預(yù)定分配變化代價,則執(zhí)行S1204以變更空間分配。下面來描述計算分配變 更代價的示例。例如,Px是“將對空間Sx進行分配變更的情況下的代價”,Nx是“空間Sx 中存在的車輛數(shù)量”,而A是“比例”。另外,Nx可以是基于除車輛數(shù)量外的根據(jù)車輛移動、 通信線路負荷狀態(tài)、計算器的處理能力等的數(shù)據(jù)量的值。輸入圖10中所示的控制畫面1000
13的移動代價計算系數(shù)1004用作A。至于由PC 1處理劃分空間Si的代價P1,由于分配變更候選空間i的分配沒有變 更,因此代價Pl為0??梢酝ㄟ^下式來計算分配變更候選空間i被分配給另一計算器PC 2并且由PC 2 處理劃分空間Si時的代價P2 P2 = NiXA此外,可以通過下式來計算分配變更候選空間i被分配給另一計算器PC 3并且由 PC 3處理劃分空間Si的代價P3 P3 = NiXA當判斷出即使把代價考慮在內(nèi)分配變更后的通信量仍變得小于當前通信量(分 配變更前的通信量)(操作S1203a中為“是”)時,CPU 23變更分配變更候選空間i的分配 (操作 S1204)。因此,可以防止由于分配變更候選空間中車輛數(shù)據(jù)依據(jù)分配變更而轉(zhuǎn)移反而造成 通信量增加,由此能夠有效地減少分配變更的通信量。[3.實施方式3]在根據(jù)本實施方式的模擬器的計算器中,僅在分配變更目的地的計算器資源的處 理負荷在允許范圍內(nèi)時才變更空間分配。由此,分配變更出發(fā)地的計算器資源的空間分配 變更部詢問分配變更目的地的計算器資源是否接受該分配變更。在交通流模擬器中,考慮 到處理負荷基本與模擬所針對的車輛數(shù)量成比例,因此,當車輛數(shù)量不超過上限值時,分配 變更目的地的計算器可以設(shè)置為接受分配變更。根據(jù)本實施方式的模擬器的計算器計算并監(jiān)測它自己的處理負荷。當計算出的處 理負荷等于或小于預(yù)定閾值時,計算器接受來自另一計算器的空間分配變更請求。具體而 言,計算器基于分配給它自己的劃分空間中存在的主體數(shù)量,計算出它自己的處理負荷。因 此,可以避免分配變更候選空間的分配變更所需要的處理集中在特定計算器上并且該計算 器的處理負荷超過允許范圍的情形。[3-1.處理概要]以下分別與實施方式1中描述的圖1到圖4相同根據(jù)本實施方式的分布處理型 模擬器的結(jié)構(gòu);說明了虛擬空間中預(yù)定區(qū)域被分配給本實施方式的各計算器以模擬多個主 體的行為的情況的示意圖;說明了本實施方式的預(yù)定區(qū)域中車輛主體與道路地圖之間的關(guān) 系的示意圖;以及利用CPU實現(xiàn)本實施方式的計算器的硬件結(jié)構(gòu)。圖14例示了構(gòu)成根據(jù)本實施方式的分布處理型模擬器的計算器A的功能框圖。在 圖14的結(jié)構(gòu)中,還向圖3所示的計算器A的功能部件中添加了處理負荷監(jiān)測部140。在本實施方式中,類似于實施方式1,將描述利用計算器A(PC 1)、計算器B(PC 2) 和計算器C(PC 3)執(zhí)行分布處理的示例。模擬所針對的劃分空間的初始分配狀態(tài)與實施方 式1中相同。圖15示意性說明了請求將分配變更候選空間從計算器PC 1 (移動出發(fā)地)分配 變更到計算器PC 2 (移動目的地)的情況。當PC 1的空間分配變更執(zhí)行部判斷出如果通 過分配變更將分配變更候選空間Si移到PC 2將減少總通信量時,PC 1的空間分配變更執(zhí) 行部請求到PC 2的空間分配變更。
14
在從PC 1接收到空間分配變更請求之后,PC 2的空間分配變更執(zhí)行部從PC 2中 任意監(jiān)測處理負荷的處理負荷監(jiān)測部獲取處理負荷信息,并且當處理負荷等于或小于預(yù)定 閾值時接受來自PC 1的空間分配變更請求。在這種情況下,PC 1和PC 2的空間分配控制 部更新空間分配存儲器,使得由PC 2處理分配變更候選空間Si。同時,當處理負荷超過預(yù) 定閾值時,PC 2的空間分配變更執(zhí)行部拒絕來自PC 1的空間分配變更請求。在這種情況 下,不對分配變更候選空間Si的分配進行變更。[3-2.模擬程序的處理內(nèi)容]圖16例示了說明基于移動出發(fā)地計算器(例如,PC 1)的CPU 23中執(zhí)行的模擬程 序的處理的操作圖。圖17例示了說明基于作為移動目的地的候選的計算器(例如,PC 2) 的CPU 23中執(zhí)行的模擬程序的處理的操作圖。此外,分配給構(gòu)成根據(jù)本實施方式的交通流 模擬器的部分計算器(PC 1到PC 3)的多個劃分空間、空間分配信息26b和主體信息26c 分別與實施方式1中所示例的圖7到圖9相同。在本實施方式中,類似于實施方式2,將描 述減少計算器PC UPC 2和PC 3之間的通信量的處理,如圖7所示。圖16中操作S1600到S1603、S1606和S1607處的處理分別與實施方式2中所描 述的操作S1200到S1205處的處理相同。因此,將描述圖16中的操作S1604和S1605。CPU 23計算將分配變更候選空間i分配給另一計算器的情況下的通信變化量(操 作S1602)。當確定出了要分配有該分配變更候選空間i的另一計算器(操作S1603中為 “是”)時,CPU 23請求將分配變更候選空間i分配變更到所確定的計算器(操作S1604)。例如,當PC 1的CPU 23在判斷出如果分配給它本身的分配變更候選空間Si移動 到PC 2可以減少總通信量,則PC 1的CPU 23請求到PC2的分配變更。在接收到分配變更 請求之后,PC 2的模擬程序根據(jù)圖17的操作圖通知接受或拒絕對于PC 1的空間分配變更。具體地,當接收到空間分配變更請求(操作S1700中為“是”)時,PC 2的CPU 23 獲取在PC 2中的模擬下的車輛數(shù)量(操作S1701)。例如,CPU 23參照硬盤26中的空間 分配信息26b (圖8)和主體信息26c (圖9),并獲取在分配給PC 2的各劃分空間中存在的 所有車輛主體的數(shù)量。然后,當車輛數(shù)量等于或小于閾值(操作S1702中為“是”)時,PC 2的CPU 23通知接受空間分配變更。同時,當車輛數(shù)量超過閾值(操作S1702中為“否”) 時,PC 2的CPU 23通知拒絕空間分配變更。在接收到來自PC 2的接受或拒絕空間分配變更的通知之后,并且如果接受分配 變更請求,則PC 1的CPU 23將分配變更候選空間Si中存在的車輛主體的數(shù)據(jù)移到PC 2 中(操作S1607)。另外,在上述操作S1702中,PC 2的CPU 23使用作為示例性處理負荷的車輛數(shù)量 來確定接受或拒絕分配變更請求,但判斷處理負荷的標準不限于此?;蛘?,可以基于CPU使 用率或存儲器使用率,來判斷接收或拒絕。如上所述,可以避免分配變更候選空間的分配變更所需的處理集中在特定計算器 上并且計算器的處理負荷超過允許范圍的情形。作為示例,圖14中功能框圖中所示的“處理負荷監(jiān)測部”包括圖17中操作S1701 處的處理功能。[4.實施方式4]根據(jù)本實施方式的模擬器的計算器計算分配變更后的通信量,進一步考慮分配變更候選空間中存在的主體移到分配給分配所針對的計算器的劃分空間時要產(chǎn)生的通信量。 具體而言,基于在過去的固定時間內(nèi)移動的主體的數(shù)量,來計算當主體移到分配給分配所 針對的計算器的劃分空間時要產(chǎn)生的通信量。因此,通過把主體移過劃分空間時要產(chǎn)生的 通信量考慮在內(nèi),可以有效地變更空間分配以減少通信量。此外,通過把在過去固定時間內(nèi) 移動的主體的數(shù)量考慮在內(nèi),可以預(yù)測在未來的固定時間內(nèi)空間之間移動的發(fā)生數(shù)量,以 判斷空間分配變更。[4-1.處理概要]以下分別與實施方式1中描述的圖1到圖4相同根據(jù)本實施方式的分布處理型 模擬器的結(jié)構(gòu);說明了虛擬空間中預(yù)定區(qū)域被分配給本實施方式的各計算器以模擬多個主 體的行為的情況的示意圖;說明了本實施方式的預(yù)定區(qū)域中車輛主體與道路地圖之間的關(guān) 系的示意圖;說明了本實施方式的計算器的結(jié)構(gòu)示例的功能框圖;以及利用CPU實現(xiàn)計算 器的硬件結(jié)構(gòu)。在本實施方式中,類似于實施方式1,將描述利用計算器A(PC 1)、計算器 B(PC 2)和計算器C(PC 3)執(zhí)行分布處理的示例。模擬所針對的劃分空間的初始分配狀態(tài) 與實施方式1中相同。圖18示意性地說明了車輛從分配給計算器PC 1的劃分空間移到分配給計算器PC 2的劃分空間的狀態(tài)。在交通流模擬器中,由于車輛“a”移過這些劃分空間的邊界(空間 之間的移動),所以,根據(jù)該移動,車輛a所在的空間從劃分空間Si變更到劃分空間Sr。因 此,在移動目的地,即劃分空間Sr被分配給另一計算器資源,即PC 2的情況下,產(chǎn)生了通信 (由于空間之間的移動產(chǎn)生的通信)。該通信允許PC 2存儲用于在PC2中模擬車輛a所需 的主體信息。由于在移過空間邊界時發(fā)送/接收的車輛主體信息的數(shù)據(jù)大小是固定的,因此產(chǎn) 生的通信量與空間之間的移動的發(fā)生頻率成比例。因此,在上述結(jié)構(gòu)中添加了估計空間之 間移動的發(fā)生頻率的處理,并且當通信量估計部估計分配變更后的通信量時向/從該估計 中添加/減去在空間之間移動期間預(yù)期產(chǎn)生的通信量。另外,基于在過去的固定時間內(nèi)已 移動的車輛的數(shù)量等,可以計算每單位時間內(nèi)空間之間移動的發(fā)生數(shù)量。[4-2.模擬程序的處理內(nèi)容]分配給構(gòu)成根據(jù)本實施方式的交通流模擬器的部分計算器(PC 1到PC 3)的多個 劃分空間、空間分配信息26b和主體信息26c分別與實施方式1中所示例的圖7到圖9相 同。在本實施方式中,類似于實施方式1,將描述減少計算器PC UPC 2和PC 3之間的通 信量的處理,如圖7所示。根據(jù)本實施方式的計算器的CPU 23中執(zhí)行的模擬程序基本與實施方式1中所示 例的圖6相同。然而,操作圖中操作S602和S603處的具體處理內(nèi)容與實施方式1中的那 些處理不一樣,因此將描述圖6中的操作S602和S603。CPU 23計算分配變更候選空間i與其相鄰空間之間的當前通信量(操作S602)。 下面將描述計算通信量的示例。例如,類似于實施方式1,Nx是“劃分空間Sx中存在的車 輛數(shù)量”,Dr是“車輛的數(shù)據(jù)量(參照)”,Du是“DrX每單位時間的參照頻率”。此外,在本 實施方式中,Dm是“移動時車輛的數(shù)據(jù)量”,T[x, y]是“每單位時間內(nèi)空間χ與空間y之間 的車輛移動數(shù)量的期望值”,Dt[x,y]是“DmXT[x,y]”。另外,這里使用的“參考”指的是與 分配給其他計算器的劃分空間中存在的車輛主體有關(guān)的信息(位置、速度等)的通信。在計算器之間經(jīng)常執(zhí)行該通信。同時,當分配變更候選空間i移到分配給另一計算器的劃分空間時,交換所有主 體信息,使得由移動目的地的計算器繼續(xù)進行模擬。由T[x,y]表示的“每單位時間內(nèi)空間χ與空間y之間的車輛移動數(shù)量的期望值” 中的期望值是基于過去的固定時間內(nèi)主體的移動數(shù)量的值。例如,可以基于過去一小時內(nèi) 的移動數(shù)量來計算該期望值。另外,可以基于車輛主體移動處的道路狀況(道路大小、車道 數(shù)量、是否是公路、有無信號燈等)來確定期望值。至于當前通信量,可以通過下式計算由PC 1處理劃分空間Si時的通信量Dl Dl = (NiX 2+Nr+Nd) XDu+Dt [i,r] +Dt [i,d]CPU 23計算在將分配變更候選空間i分配給另一計算器的情況下,分配變更候選 空間i與其相鄰空間之間的通信量(操作S603)??梢酝ㄟ^下式來計算當前正在PC 1中的分配變更候選空間i被分配給另一計算 器PC 2并且由PC 2處理劃分空間Si時的通信量D2 D2 = (Ni X 2+Nu+Nl+Nd) X Du+Dt [i,u] +Dt [i,1] +Dt [i,d]同樣,可以通過下式來計算在分配變更候選空間i被分配給另一計算器PC 3并且 由PC 3處理劃分空間Si時的通信量D3 D3 = (NiX2+Nu+Nl+Nr) XDu+Dt[i, u]+Dt[i, r]+Dt[i, 1]類似于實施方式1,CPU 23判斷分配變更后的通信量是否變得小于當前通信量 (分配變更前的通信量)(操作S604),并在判斷出分配變更后的通信量可能變得小于當前 通信量(分配變更前的通信量)時,對分配變更候選空間i的分配進行變更(操作S605)。因此,通過把主體移過劃分空間時產(chǎn)生的通信量考慮在內(nèi),可以有效地變更空間 分配以減少通信量。此外,通過把在過去固定時間內(nèi)已移動的主體的數(shù)量考慮在內(nèi),可以預(yù) 測在未來固定時間內(nèi)空間之間移動的發(fā)生數(shù)量,以判斷空間分配變更。[5.其它實施方式][5-1.兩個或更多個分配變更候選空間的變更]盡管取決于相鄰空間中存在的車輛數(shù)量,但存在這樣的情況,S卩,通信量在變更一 個劃分空間的分配時增加,而在同時變更兩個或更多個劃分空間時減少。因此,空間分配變 更部還可以通過比較同時變更兩個或更多個分配變更候選空間時產(chǎn)生的通信量,來確定用 于分配變更的空間。[5-2.空間分配存儲器]此外,交通狀況每小時、一個星期中每天具有再現(xiàn)性。例如,交通在一個星期中的 同一天、同一時間變得繁忙。因此,可以記錄下空間分配,以再次使用。在上述結(jié)構(gòu)中可以 添加存儲空間分配以用于根據(jù)模擬時間來讀取該分配的處理。在這種情況下,從模擬開始 可以保持通信量低。[5-3.實施方式的組合]本申請的分布處理型模擬器可以組合上述實施方式1到4中所示結(jié)構(gòu)的兩個或更 多個部分或整體。[5-4.實現(xiàn)各功能框的方法]在前述實施方式中,通過執(zhí)行軟件的CPU處理實現(xiàn)圖3所示的各功能塊。然而,可
17以通過硬件(例如,邏輯電路)實現(xiàn)所有或一些功能塊。另外,可以通過操作系統(tǒng)(OS)來 處理部分程序。 這里引用的所有示例和條件語言目的都是用于教學目的,以輔助讀者理解發(fā)明人 作出的發(fā)明原理和概念,從而促進本技術(shù),并且這里引用的所有示例和條件語言都是要解 釋為并不限于這種具體引用的示例和條件,并且說明書中的這種示例的組織方式也不涉及 對本發(fā)明的優(yōu)劣的展示。盡管已經(jīng)詳細描述了本發(fā)明的實施方式,但是應(yīng)當理解,在不偏離 本發(fā)明的精神和范圍的情況下,可以對本發(fā)明作出各種變更、代替和變更。
權(quán)利要求
1.一種模擬器,其通過使用彼此能夠通信的多個計算器的分布處理來模擬虛擬空間中 存在的多個主體的行為,其中,至少兩個所述計算器能夠訪問空間分配存儲器,該空間分配存儲器存儲了所述 虛擬空間中的各劃分空間的劃分范圍以及被分配了與各劃分空間中存在的主體有關(guān)的處 理的計算器,作為空間分配信息,該至少兩個所述計算器包括分配變更候選空間提取部,其參照所述空間分配存儲器,以從一個或更多個相鄰空間 被分配給另一計算器的劃分空間中,提取作為分配變更的候選的劃分空間,作為分配變更 候選空間;通信量估計部,其基于所述分配變更候選空間及其相鄰劃分空間中存在的主體的數(shù) 量,計算在所述分配變更候選空間被分配給作為分配對象的計算器時,在作為分配對象的 計算器與另一計算器之間產(chǎn)生的通信量或通信變化量;以及空間分配變更判斷部,其基于所述通信量估計部計算出的所述通信量或所述通信變化 量,來確定是否將所述分配變更候選空間分配給作為分配對象的計算器。
2.根據(jù)權(quán)利要求1所述的模擬器,其中,所述至少兩個所述計算器還包括空間分配控制部,其更新所述空間分配存儲器中存儲的所述空間分配信息;以及空間分配變更執(zhí)行部,其請求所述空間分配控制部和作為分配對象的計算器的空間分 配控制部根據(jù)所述空間分配變更判斷部的確定結(jié)果來更新所述空間分配信息。
3.根據(jù)權(quán)利要求1或2所述的模擬器,其中,所述通信量估計部計算在所述分配變更候選空間與另一計算器中的劃分空間之 間當前產(chǎn)生的通信量,作為分配變更前的通信量,并且還計算在所述分配變更候選空間被 分配給作為分配對象的計算器時在所述分配變更候選空間與除作為分配對象的計算器之 外的計算器的劃分空間之間預(yù)期產(chǎn)生的通信量,作為分配變更后的通信量,并且在所述分配變更后的通信量小于所述分配變更前的通信量時,所述空間分配變更判斷 部確定將所述分配變更候選空間分配給作為分配對象的計算器。
4.根據(jù)權(quán)利要求1或2所述的模擬器,其中,所述通信量估計部把與所述分配變更候選空間相鄰并且被分配給該通信量估計 部所在的計算器的相鄰空間與作為分配對象的計算器的劃分空間之間當前產(chǎn)生的通信量 考慮在內(nèi),來計算在作為分配對象的計算器與另一計算器之間產(chǎn)生的所述通信變化量,并 且所述空間分配變更判斷部基于使所述通信量減少最多的通信變化量,來確定是否將所 述分配變更候選空間分配給作為分配對象的計算器。
5.根據(jù)權(quán)利要求1或2所述的模擬器,其中,所述空間分配變更判斷部把與所述分配變更候選空間中存在的主體有關(guān)的主體 信息移動到作為分配對象的計算器時產(chǎn)生的、基于主體數(shù)量的代價考慮在內(nèi),來確定是否 將所述分配變更候選空間分配給作為分配對象的計算器。
6.根據(jù)權(quán)利要求2所述的模擬器,其中,至少兩個所述計算器還包括計算并監(jiān)測該計算器的處理負荷的處理負荷監(jiān)測 部,并且在從所述處理負荷監(jiān)測部獲取的處理負荷等于或小于預(yù)定閾值時,所述空間分配變更 執(zhí)行部接受來自另一計算器的空間分配變更請求。
7.根據(jù)權(quán)利要求6所述的模擬器,其中,所述處理負荷監(jiān)測部基于至少存在于分配給該處理負荷監(jiān)測部所在的計算器的 劃分空間中的主體數(shù)量,來計算該處理負荷監(jiān)測部所在的計算器的處理負荷。
8.根據(jù)權(quán)利要求3所述的模擬器,其中,所述通信量估計部進一步把所述分配變更候選空間中存在的主體移動到分配給 作為分配對象的計算器的劃分空間時產(chǎn)生的通信量考慮在內(nèi),來計算所述分配變更后的通{曰里。
9.根據(jù)權(quán)利要求8所述的模擬器,其中,所述通信量估計部基于在過去的固定時間內(nèi)已移動的主體的數(shù)量,來計算在所 述分配變更候選空間中存在的主體移動到分配給作為分配對象的計算器的劃分空間時產(chǎn) 生的通信量。
10.一種在模擬中使用的計算器,在所述模擬中通過利用了彼此能夠通信的多個計算 器的分布處理來模擬虛擬空間中存在的多個主體的行為,所述計算器包括空間分配存儲器,其存儲了所述虛擬空間中的各劃分空間的劃分范圍以及被分配了與 各劃分空間中存在的主體有關(guān)的處理的計算器,作為空間分配信息;分配變更候選空間提取部,其參照所述空間分配存儲器,以從一個或更多個相鄰空間 被分配給另一計算器的劃分空間中,提取作為分配變更的候選的劃分空間,作為分配變更 候選空間;通信量估計部,其基于所述分配變更候選空間及其相鄰劃分空間中存在的主體的數(shù) 量,計算在所述分配變更候選空間被分配給作為分配對象的計算器時,在作為分配對象的 計算器與另一計算器之間產(chǎn)生的通信量或通信變化量;以及空間分配變更判斷部,其基于所述通信量估計部計算出的所述通信量或所述通信變化 量,確定是否將所述分配變更候選空間分配給作為分配對象的計算器。
11.一種計算器執(zhí)行分布處理型模擬的模擬方法,在該分布處理型模擬中通過利用了 彼此能夠通信的多個計算器的分布處理來模擬虛擬空間中存在的多個主體的行為,其中,所述計算器執(zhí)行以下處理訪問空間分配存儲器的處理,該空間分配存儲器存儲了所述虛擬空間中的各劃分空間 的劃分范圍以及被分配了與各劃分空間中存在的主體有關(guān)的處理的計算器,作為空間分配 fn息;分配變更候選空間提取處理,通過參照所述空間分配存儲器,從一個或更多個相鄰空 間被分配給另一計算器的劃分空間中,提取作為分配變更的候選的劃分空間,作為分配變 更候選空間;通信量估計處理,基于所述分配變更候選空間及其相鄰劃分空間中存在的主體的數(shù) 量,計算在所述分配變更候選空間被分配給作為分配對象的計算器時,在作為分配對象的 計算器與另一計算器之間產(chǎn)生的通信量或通信變化量;以及空間分配變更判斷處理,基于所述通信量估計處理中計算出的所述通信量或所述通信 變化量,確定是否將所述分配變更候選空間分配給作為分配對象的計算器。
全文摘要
模擬器模擬虛擬空間中存在的多個主體的行為。彼此可通信的多個計算器各包括存儲了空間分配信息的空間分配存儲器、更新空間分配信息的空間分配控制部、提取作為分配變更的候選的劃分空間的分配變更候選空間提取部、基于主體數(shù)量計算計算器之間產(chǎn)生的通信量或通信變化量的通信量估計部、基于通信量或通信變化量確定是否將劃分空間分配給另一計算器的空間分配變更判斷部、以及請求空間分配控制部和其他計算器變更空間分配的空間分配變更執(zhí)行部。
文檔編號G06F15/177GK102004717SQ201010266468
公開日2011年4月6日 申請日期2010年8月27日 優(yōu)先權(quán)日2009年8月28日
發(fā)明者北川英志, 山田浩, 池田拓郎 申請人:富士通株式會社