JP2012043010A - Load distribution system and load distribution method - Google Patents

Load distribution system and load distribution method Download PDF

Info

Publication number
JP2012043010A
JP2012043010A JP2010181036A JP2010181036A JP2012043010A JP 2012043010 A JP2012043010 A JP 2012043010A JP 2010181036 A JP2010181036 A JP 2010181036A JP 2010181036 A JP2010181036 A JP 2010181036A JP 2012043010 A JP2012043010 A JP 2012043010A
Authority
JP
Japan
Prior art keywords
weight
job
distribution
input information
load distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010181036A
Other languages
Japanese (ja)
Inventor
Fumitaka Akahori
文隆 赤堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010181036A priority Critical patent/JP2012043010A/en
Publication of JP2012043010A publication Critical patent/JP2012043010A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a load distribution system which reduces a verification processing time by distributing verification processing by means of distributed processing in a source code verification system using a model inspection technique.SOLUTION: An input information weighting part 23 makes the weight of each process constant from information, which is the input of a process of a model inspection technique, such as program information or modeling information to weight it by model inspection process units and generates a job based on the weighted process. A weight sum value calculation part 41 by devices defines the weight sum value by processes as the weight of the job, and a distribution destination device determination part 42 determines a distribution destination device of a job to be next input based on the weight of each job and the weight sum value possessed by the distribution destination device and input the job to distribute jobs in processing devices, thereby distributing load uniformly to distribution destination devices.

Description

本発明は、負荷分散システムに関し、特にモデル検査方式を用いたソースコード検証システムにおける負荷分散システムに関する。   The present invention relates to a load distribution system, and more particularly to a load distribution system in a source code verification system using a model checking method.

従来のモデル検査方式を用いたソースコード検証システムでは、検証対象となるソースコード規模に関わらず同一の装置及びプロセッサ上で検証処理を行うため、ソースコード規模が大きい場合に多大な検証時間が必要となっていた。   In a source code verification system using a conventional model checking method, verification processing is performed on the same device and processor regardless of the source code scale to be verified. Therefore, a large amount of verification time is required when the source code scale is large. It was.

モデルとは、ソースコードを「Control Flow Graph」に変換後、論理式化したものである。   The model is a logical expression after the source code is converted into “Control Flow Graph”.

モデル検査方式とは、モデルを利用して、プログラム実行時における全てのデータパターン、全ての処理パスを網羅して検証する方式である。   The model checking method is a method that uses a model to verify all data patterns and all processing paths during program execution.

ソースコード検証システムとは、プログラムのビルド(build)前、もしくはビルド時に、プログラムを動かすことなく、記述ミスや動作時の不具合を発見することを可能とするシステムである。   The source code verification system is a system that makes it possible to find a description mistake or a malfunction at the time of operation without moving the program before or during the build of the program.

ビルドとは、ソースコードのコンパイルやライブラリのリンク等を行い、最終的な実行可能ファイルを作成することである。   Build means to compile source code, link libraries, etc., and create a final executable file.

関連する技術として、特許文献1(特開2004−287801号公報)に情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラムが開示されている。この関連技術では、プロセッサの空き状況から分散先装置を決定する。また、プロセッサの空き状況から分散先装置を決定する。また、候補コンピュータの転送状態と未負荷状態資源の状態によって管理する。また、候補コンピュータの転送状態と未負荷状態資源の状態によって管理する。また、単位時間に処理すべき情報量を計測することにより、要求された情報処理の負荷の大きさを算出する。また、負荷の大きさ、稼働状況監視結果、他装置性能情報によって決定する。また、主コンピュータから候補コンピュータに送付されるデータ及び処理結果のサイズを基に算出する。また、予め複数のタスク実行条件の各々に応じて定められている係数値を重み付けする。   As a related technique, Japanese Patent Application Laid-Open No. 2004-287801 discloses an information processing system, an information processing apparatus, a distributed information processing method, and a computer program. In this related technique, the distribution destination device is determined from the availability of the processor. Also, the distribution destination device is determined from the availability of the processor. The management is performed according to the transfer status of the candidate computer and the status of the unloaded status resource. The management is performed according to the transfer status of the candidate computer and the status of the unloaded status resource. Further, the amount of information processing load requested is calculated by measuring the amount of information to be processed per unit time. Further, it is determined based on the load size, the operation status monitoring result, and other device performance information. Also, the calculation is performed based on the data sent from the main computer to the candidate computer and the size of the processing result. In addition, a coefficient value determined in advance according to each of the plurality of task execution conditions is weighted.

また、特許文献2(特開2009−053756公報)にソースコード検証処理時間計算装置及び方法が開示されている。この関連技術では、ソースコード検証処理時間計算装置は、プロパティ抽出部とプロパティカウント部とを備える。プロパティ抽出部は、ソースコードをモデル化したモデル情報からプロパティ情報を抽出する。プロパティカウント部は、プロパティ情報に基づいてソースコードのソースコード検証のタイムアウト時間を演算する。   Japanese Patent Application Laid-Open No. 2009-053756 discloses a source code verification processing time calculation apparatus and method. In this related technology, the source code verification processing time calculation apparatus includes a property extraction unit and a property count unit. The property extraction unit extracts property information from model information obtained by modeling the source code. The property count unit calculates a timeout period of source code verification of the source code based on the property information.

特開2004−287801号公報JP 2004-287801 A 特開2009−053756公報JP 2009-053756 A

本発明の目的は、モデル検査方式を用いたソースコード検証システムにおいて、分散処理により検証処理を分散させることで、検証処理時間を短縮する負荷分散システムを提供することである。   An object of the present invention is to provide a load distribution system that shortens verification processing time by distributing verification processing by distributed processing in a source code verification system using a model checking method.

分散処理とは、複数のコンピュータ又はプロセッサを利用して、計算処理を分散させることである。   Distributed processing is to distribute calculation processing using a plurality of computers or processors.

本発明の負荷分散システムは、処理装置と、分散装置とを含む。処理装置は、ソースコード及び論理モデルを入力情報として受け取り、入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施する。分散装置は、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配する。   The load distribution system of the present invention includes a processing device and a distribution device. The processing device receives the source code and the logical model as input information, and calculates different weights depending on the model checking process based on the input information. The distribution device obtains the job weight from the weight for each process, determines the distribution destination processing device from the job weight, and distributes the job to the determined distribution destination processing device.

本発明の負荷分散方法では、処理装置において、ソースコード及び論理モデルを入力情報として受け取り、入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施することと、分散装置において、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配することとを含む。   In the load distribution method of the present invention, the processing device receives the source code and the logical model as input information, and performs calculation of different weights depending on the model checking process based on the input information. Determining the job weight from the job weight, determining the distribution destination processing device from the job weight, and distributing the job to the determined distribution destination processing device.

本発明のプログラムは、上記の負荷分散方法における処理装置及び分散装置のいずれかの処理を、プロセッサに実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。   The program of the present invention is a program for causing a processor to execute any one of the processing apparatus and the distribution apparatus in the load distribution method. Note that the program of the present invention can be stored in a storage device or a storage medium.

分散先の処理装置に対して、ほぼ均等に負荷を分散できる。   It is possible to distribute the load almost evenly to the distribution destination processing devices.

本発明の負荷分散システムの構成例を示す図である。It is a figure which shows the structural example of the load distribution system of this invention. 本発明における負荷分散処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the load distribution process in this invention.

<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1に示すように、本発明の負荷分散システムは、入力装置1と、処理装置2と、記憶装置3と、分散装置4を含む。
<First Embodiment>
Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings.
As shown in FIG. 1, the load distribution system of the present invention includes an input device 1, a processing device 2, a storage device 3, and a distribution device 4.

[全体構成]
入力装置1は、ソースコードや論理モデル等の情報(入力情報)を入力するための装置である。処理装置2は、プロセス単位で重み付けを行う。記憶装置3は、重み付けに関する情報を記憶する。分散装置4は、重み付けされたプロセスを基にジョブを生成し、プロセス毎の重みの合計値をジョブの重みとし、各ジョブの重みに応じて該当する分散先の処理装置にジョブを分配する。
[overall structure]
The input device 1 is a device for inputting information (input information) such as a source code and a logical model. The processing device 2 performs weighting in units of processes. The storage device 3 stores information regarding weighting. The distribution device 4 generates a job based on the weighted process, uses the total weight of each process as the job weight, and distributes the job to the corresponding distribution destination processing device according to the weight of each job.

なお、処理装置2は、複数でも良い。記憶装置3は、処理装置2と一体化していても良い。処理装置2と分散装置4は、互いに独立しているものとする。   In addition, the processing apparatus 2 may be plural. The storage device 3 may be integrated with the processing device 2. The processing device 2 and the distribution device 4 are assumed to be independent from each other.

[ジョブとプロセスの関係]
1つの処理について連続して実行される複数のプロセスは、1つのジョブとして扱われる。すなわち、複数のプロセスが集まって1つのジョブとなる。無論、1つのジョブにつき、プロセスが1つの場合もある。
[Relationship between jobs and processes]
A plurality of processes that are successively executed for one process are treated as one job. That is, a plurality of processes gather to form one job. Of course, there may be one process per job.

[各装置の構成]
処理装置2は、入力情報格納部21と、プロセス検索部22と、入力情報重み付け部23を備える。
[Configuration of each device]
The processing device 2 includes an input information storage unit 21, a process search unit 22, and an input information weighting unit 23.

記憶装置3は、入力情報記憶部31と、プロセス別重み付けルール記憶部32と、重み記憶部33を備える。   The storage device 3 includes an input information storage unit 31, a process-specific weighting rule storage unit 32, and a weight storage unit 33.

分散装置4は、装置別重み合計値算出部41と、分散先装置決定部42と、ジョブ分散部43を備える。   The distribution device 4 includes a device-specific weight total value calculation unit 41, a distribution destination device determination unit 42, and a job distribution unit 43.

入力情報格納部21は、入力装置1から与えられたソースコードや論理モデル等の情報を、入力情報記憶部31に格納する。   The input information storage unit 21 stores information such as a source code and a logical model given from the input device 1 in the input information storage unit 31.

なお、入力情報格納部21は、入力装置1から与えられた全ての情報の中から、ソースコードや論理モデル等の情報を必要に応じて抽出して、入力情報記憶部31に格納するようにしても良い。例えば、入力情報格納部21は、予め設定された条件に従い、特定のプログラム言語で記述されたソースコードや論理モデル等の情報のみ抽出して、入力情報記憶部31に格納するものでも良い。ソースコードや論理モデルの種別は、文書構造や拡張子で判断することが可能である。   The input information storage unit 21 extracts information such as a source code and a logical model from all information given from the input device 1 as necessary, and stores it in the input information storage unit 31. May be. For example, the input information storage unit 21 may extract only information such as a source code or a logical model described in a specific program language according to a preset condition and store it in the input information storage unit 31. The type of source code or logical model can be determined by the document structure or extension.

また、入力情報格納部21は、入力情報を入力情報記憶部31に格納した旨、又は入力情報自体を、プロセス検索部22に通知するようにしても良い。   Further, the input information storage unit 21 may notify the process search unit 22 that the input information has been stored in the input information storage unit 31 or the input information itself.

プロセス検索部22は、定期的に入力情報記憶部31を監視して、又は入力情報格納部21からの通知を基に、入力情報記憶部31に格納された情報を取得する。   The process search unit 22 periodically monitors the input information storage unit 31 or acquires information stored in the input information storage unit 31 based on a notification from the input information storage unit 21.

プロセス検索部22は、入力情報記憶部31に格納された情報を基に、プロセス別重み付けルール記憶部32に格納された重み計算式(重み付けルール)の情報群の中から、該当する重み計算式の情報を検索し、発見された重み計算式の情報を入力情報重み付け部23に通知する。   Based on the information stored in the input information storage unit 31, the process search unit 22 selects a corresponding weight calculation formula from the weight calculation formula (weighting rule) information group stored in the process-specific weight rule storage unit 32. And the information of the found weight calculation formula is notified to the input information weighting unit 23.

入力情報重み付け部23は、プロセス検索部22から通知された、入力情報記憶部31に格納された情報と、プロセス別重み付けルール記憶部32に格納された重み計算式の情報から、プロセス毎に重みを算出し、算出された重みを重み記憶部33に格納する。   The input information weighting unit 23 calculates the weight for each process from the information stored in the input information storage unit 31 and the weight calculation formula information stored in the process-specific weighting rule storage unit 32 notified from the process search unit 22. And the calculated weight is stored in the weight storage unit 33.

ここでは、入力情報重み付け部23は、重み計算式に基づき、プログラム情報やモデル化情報といった、モデル検査方式のプロセスのインプットとなる情報から、各プロセスの重みを定数化する。   Here, the input information weighting unit 23 converts the weight of each process into a constant from information that becomes an input of the process of the model checking method, such as program information and modeling information, based on the weight calculation formula.

また、入力情報重み付け部23は、算出された重みを重み記憶部33に格納した旨、又は算出された重み自体を、装置別重み合計値計測部41に通知するようにしても良い。   Further, the input information weighting unit 23 may notify the device-specific weight total value measurement unit 41 that the calculated weight is stored in the weight storage unit 33 or the calculated weight itself.

入力情報記憶部31は、入力装置1から与えられたソースコードや論理モデル等の情報を記憶する。   The input information storage unit 31 stores information such as a source code and a logical model given from the input device 1.

プロセス別重み付けルール記憶部32は、モデル検査のプロセス毎に用意されている重み計算式の情報を記憶する。   The process-specific weighting rule storage unit 32 stores weight calculation formula information prepared for each model checking process.

重み記憶部33は、入力情報重み付け部23で算出された重みを記憶する。   The weight storage unit 33 stores the weight calculated by the input information weighting unit 23.

装置別重み合計値計測部41は、定期的に重み記憶部33を監視して、又は入力情報重み付け部23からの通知を基に、重み記憶部33に格納された重みを取得する。   The device-by-device weight total value measuring unit 41 periodically monitors the weight storage unit 33 or acquires the weight stored in the weight storage unit 33 based on the notification from the input information weighting unit 23.

なお、実際には、分散装置4が重み記憶部33を備えていても良い。すなわち、分散装置4が、複数の処理装置が持つプロセス毎の重みを一元管理するようにすることも可能である。この場合、重み記憶部33は、処理装置の識別情報と、その処理装置の重みとを対応付けて記憶するものとする。   In practice, the distribution device 4 may include the weight storage unit 33. That is, it is possible for the distribution device 4 to centrally manage the weight of each process possessed by a plurality of processing devices. In this case, the weight storage unit 33 stores the identification information of the processing device and the weight of the processing device in association with each other.

装置別重み合計値計測部41は、分散先装置の候補となる各処理装置が持つプロセス毎の重みの合計値を算出する。ここでは、装置別重み合計値計測部41は、処理装置毎に、ジョブ単位で、重み記憶部33に格納されたプロセス毎の重みから、重み合計値を算出する。算出された重み合計値は、それらのプロセスにより構成されるジョブの重みとなる。   The device-by-device weight total value measurement unit 41 calculates the sum of weights for each process of each processing device that is a candidate for the distribution destination device. Here, the device-specific weight total value measuring unit 41 calculates the weight total value from the weights for each process stored in the weight storage unit 33 for each processing device in units of jobs. The calculated weight total value is a weight of a job configured by these processes.

分散先装置決定部42は、装置別重み合計値計測部41で算出された重み合計値(ジョブの重み)から分散先装置を決定する。ここでは、分散先装置決定部42は、算出された重み合計値が最も小さい処理装置を、分散先装置として決定する。   The distribution destination device determination unit 42 determines a distribution destination device from the weight total value (job weight) calculated by the device-specific weight total value measurement unit 41. Here, the distribution destination device determination unit 42 determines the processing device having the smallest calculated weight total value as the distribution destination device.

なお、実際には、分散先装置決定部42は、算出された重み合計値に応じて(重み合計値の大きさの順に)、分散先の処理装置の優先度と、その処理装置に振り分けるジョブの量を決定するようにしても良い。   Actually, the distribution destination device determination unit 42 determines the priority of the distribution destination processing device and the job distributed to the processing device according to the calculated weight total value (in order of the weight total value). The amount may be determined.

ジョブ分散部43は、分散先装置決定部42で決定した分散先装置に対して、ジョブを投入する。   The job distribution unit 43 submits a job to the distribution destination device determined by the distribution destination device determination unit 42.

なお、ジョブ分散部43は、投入するジョブについて、プロセス毎の重みに応じてジョブを生成するようにしても良い。例えば、ジョブ分散部43は、各ジョブの重みが均等になるように、各プロセスを組み合わせてジョブを生成しても良い。或いは、性能の低い処理装置用に重みの小さいプロセスを組み合わせて負荷の小さいジョブを生成したり、高性能な処理装置用に重みの大きいプロセスを組み合わせて負荷の大きいジョブを生成したりしても良い。   Note that the job distribution unit 43 may generate a job according to the weight for each process for the job to be submitted. For example, the job distribution unit 43 may generate jobs by combining the processes so that the weights of the jobs are equal. Or, a low-weight job can be generated by combining a low-weight process for a low-performance processing device, or a high-load job can be generated by combining a high-weight process for a high-performance processing device. good.

[ハードウェアの例示]
入力装置1の例として、キーボードやキーパッド、画面上のキーパッド、タッチパネル(touch panel)、タブレット(tablet)、又は、ICチップや記憶媒体を読み込む読取装置等が考えられる。或いは、入力装置1は、外部の入力装置や記憶装置から情報を取得するためのインターフェース(I/F:interface)でも良い。
[Hardware example]
Examples of the input device 1 include a keyboard, a keypad, a keypad on the screen, a touch panel, a tablet, or a reading device that reads an IC chip or a storage medium. Alternatively, the input device 1 may be an interface (I / F) for acquiring information from an external input device or a storage device.

処理装置2、記憶装置3、及び分散装置4の例として、PC(パソコン)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、処理装置2及び分散装置4は、プロセッサでも良い。記憶装置3は、メモリでも良い。また、処理装置2、記憶装置3、及び分散装置4は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、処理装置2、記憶装置3、及び分散装置4は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(Virtual Machine(VM))でも良い。   As an example of the processing device 2, the storage device 3, and the distribution device 4, a computer such as a PC (personal computer), a workstation, a main frame, or a supercomputer is assumed. The processing device 2 and the distribution device 4 may be processors. The storage device 3 may be a memory. Further, the processing device 2, the storage device 3, and the distribution device 4 are not limited to terminals and servers, but may be relay devices or peripheral devices. The processing device 2, the storage device 3, and the distribution device 4 may be an expansion board mounted on a computer or a virtual machine (Virtual Machine (VM)) built on a physical machine.

他にも、記憶装置3の例として、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置等が考えられる。   Other examples of the storage device 3 include DAS (Direct Attached Storage), FC-SAN (Fibre Channel-Storage Area Network), NAS (Network Attached Storage), and IP-SAN (IP-Storage Center). The storage device that was used can be considered.

また、入力装置1、処理装置2、記憶装置3、及び分散装置4を接続するネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。   Examples of networks connecting the input device 1, the processing device 2, the storage device 3, and the distribution device 4 include the Internet, a LAN (Local Area Network), a wireless LAN (Wireless LAN), a WAN (Wide Area Network), and a backbone. (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), leased line, IrDA (Infrared Data Association), Bluetooth (registration) Trademark), serial communication line, data bus, and the like.

入力情報格納部21、プロセス検索部22、入力情報重み付け部23、装置別重み合計値算出部41、分散先装置決定部42、及びジョブ分散部43の例として、CPU(Central Processing Unit)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。   Examples of the input information storage unit 21, the process search unit 22, the input information weighting unit 23, the device-specific weight total value calculation unit 41, the distribution destination device determination unit 42, and the job distribution unit 43 are a CPU (Central Processing Unit), a micro A processor, a microcontroller, a semiconductor integrated circuit (Integrated Circuit (IC)) having a dedicated function, or the like can be considered.

入力情報記憶部31、プロセス別重み付けルール記憶部32、及び重み記憶部33の例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。   Examples of the input information storage unit 31, the process-specific weighting rule storage unit 32, and the weight storage unit 33 include a RAM (Random Access Memory), a ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), and a flash memory. Semiconductor storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive), or other removable storage devices such as DVD (Digital Versatile Disk), SD memory card (Secure Digital memory), etc. A storage medium (media) can be considered.

但し、実際には、これらの例に限定されない。   However, actually, it is not limited to these examples.

[負荷分散処理]
次に、図2のフローチャートを参照して、本発明の負荷分散処理について、詳細に説明する。
[Load distribution processing]
Next, the load distribution process of the present invention will be described in detail with reference to the flowchart of FIG.

(1)ステップA1
まず、入力情報格納部21は、入力装置1から与えられた情報を受け取り、受け取った情報を入力情報記憶部31に格納する。
(1) Step A1
First, the input information storage unit 21 receives information provided from the input device 1 and stores the received information in the input information storage unit 31.

(2)ステップA2
次に、プロセス検索部22は、入力情報記憶部31に格納されている情報を基に、プロセス別重み付けルール記憶部32から、プロセス毎の重み計算式を検索する。
(2) Step A2
Next, the process search unit 22 searches the weight calculation formula for each process from the process-specific weight rule storage unit 32 based on the information stored in the input information storage unit 31.

(3)ステップA3
次に、入力情報重み付け部23は、入力情報記憶部31に格納されている情報と、プロセス別重み付けルール記憶部32から抽出された重み計算式を基に、プロセス毎の重みを算出する。算出された重みは、重み記憶部33に格納する。
(3) Step A3
Next, the input information weighting unit 23 calculates the weight for each process based on the information stored in the input information storage unit 31 and the weight calculation formula extracted from the process-specific weighting rule storage unit 32. The calculated weight is stored in the weight storage unit 33.

(4)ステップA4
次に、装置別重み合計値算出部41は、各分散先の処理装置が保持しているプロセス毎の重み合計値を算出する。具体的には、装置別重み合計値計測部41は、処理装置毎に、ジョブ単位で、重み記憶部33に格納されたプロセス毎の重みの合計値を算出し、この重み合計値をジョブの重みとする。
(4) Step A4
Next, the device-specific weight total value calculation unit 41 calculates the weight total value for each process held by each processing device at the distribution destination. Specifically, the device-specific weight total value measurement unit 41 calculates, for each processing device, a total value of weights for each process stored in the weight storage unit 33 for each job, and uses this weight total value for the job. Use weights.

(5)ステップA5
次に、分散先装置決定部42は、装置別重み合計値算出部41で算出した重み合計値(ジョブの重み)から、分散先装置を決定する。このとき、ジョブの重みが一番小さくなる装置を分散先装置として決定する。
(5) Step A5
Next, the distribution destination device determination unit 42 determines the distribution destination device from the total weight value (job weight) calculated by the device-specific weight total value calculation unit 41. At this time, the device having the smallest job weight is determined as the distribution destination device.

(6)ステップA6
次に、ジョブ分散部43は、分散先装置決定部42で決定した分散先の処理装置へジョブを投入する。
(6) Step A6
Next, the job distribution unit 43 submits the job to the distribution destination processing device determined by the distribution destination device determination unit 42.

[重み計算式(重み付けルール)の例]
本発明の負荷分散システムでは、重み計算式(重み付けルール)として、最初に実行したプロセスの入力規模、実行時間から、係数値を計算・決定する。
[Example of weight calculation formula (weighting rule)]
In the load distribution system of the present invention, the coefficient value is calculated and determined from the input scale and execution time of the first executed process as a weight calculation formula (weighting rule).

ここでは、モデル検査方式のプロセスは、以下の通りである。
「ソースコードのモデル化」→「モデル検査」
Here, the process of the model checking method is as follows.
"Modeling source code" → "Model checking"

各プロセスの入力情報は、以下の通りである。
ソースコードのモデル化:ソースコード
モデル検査 :モデル
Input information of each process is as follows.
Source code modeling: Source code Model checking: Model

各プロセスの入力規模は、以下の通りである。
処理1:ソースコード=3、モデル=5
処理2:ソースコード=4、モデル=7
The input scale of each process is as follows.
Process 1: Source code = 3, Model = 5
Process 2: source code = 4, model = 7

各プロセスの実行時間は、以下の通りである。
処理1:ソースコードのモデル化=5分、モデル検査=10分
The execution time of each process is as follows.
Process 1: Source code modeling = 5 minutes, Model check = 10 minutes

処理1における各プロセスの入力規模×実行時間を算出する。
ソースコードのモデル化:3×5=15
モデル検査 :5×10=50
Calculate the input scale × execution time of each process in the process 1.
Source code modeling: 3 × 5 = 15
Model check: 5 × 10 = 50

処理1における各プロセスの比を算出する。
ここで算出された数値を係数値とする。
「ソースコードのモデル化」:「モデル検査」=15:50=3:10
The ratio of each process in the process 1 is calculated.
The numerical value calculated here is a coefficient value.
“Modeling of source code”: “Model checking” = 15: 50 = 3: 10

処理2の入力規模に係数値を掛け合わせて、各プロセスの重みを算出する。
ソースコードのモデル化:4×3=12
モデル検査 :7×10=70
The weight of each process is calculated by multiplying the input scale of process 2 by the coefficient value.
Source code modeling: 4 × 3 = 12
Model check: 7 × 10 = 70

以降の処理についても同様に各プロセスの重みを算出する。   Similarly for the subsequent processing, the weight of each process is calculated.

[実施結果]
本発明により、分散先の処理装置に対して、ほぼ均等に負荷を分散できるようになる。
[Result]
According to the present invention, it becomes possible to distribute the load almost evenly to the processing apparatuses of the distribution destination.

また、従来手法では付与できなかった重みを、モデル検査の各プロセスに付与、定数化できるようになる。その結果、分散先の処理装置に対して負荷を均等に配分し、全体的な処理時間の短縮を可能にする。   In addition, weights that could not be given by the conventional method can be given to each model checking process and made constant. As a result, the load is evenly distributed to the distribution destination processing devices, and the overall processing time can be shortened.

[本発明の特徴]
本発明は、モデル検査における分散装置の負荷分散方法に関する。
[Features of the present invention]
The present invention relates to a load distribution method for a distribution apparatus in model checking.

本発明では、モデル検査方式を用いたソースコード検証システムの分散処理方法について、モデル検査のプロセス単位で重み付けを行い、重み付けされたプロセスを基にジョブを生成し、プロセス毎の重みの合計値をジョブの重みとし、各ジョブの重みに応じて各処理装置にジョブを分散することで、分散先装置に対して負荷を均等に分散する手法を用いる。   In the present invention, for a distributed processing method of a source code verification system using a model checking method, weighting is performed for each process of model checking, a job is generated based on the weighted process, and a total weight value for each process is calculated. A method of distributing the load evenly to the distribution destination devices by using the job weight and distributing the job to each processing device according to the weight of each job is used.

具体的には、プログラム情報やモデル化情報といった、モデル検査方式のプロセスのインプットとなる情報から各プロセスの重みを定数化し、分散先の処理装置が持つ重み合計値から次に投入するジョブの分散先装置を決定する。これにより、負荷の分散を均等化することを可能とする。   Specifically, the weight of each process is made constant from information that is input to the process of model checking, such as program information and modeling information, and the distribution of the job to be submitted next is calculated from the total weight value of the processing device at the distribution destination Determine the destination device. This makes it possible to equalize the load distribution.

本発明では、入力ソースコード規模、モデルサイズを利用する。   In the present invention, the input source code scale and model size are used.

本発明では、モデル検査の各プロセスをそれぞれ1つの処理単位として分散実行する。   In the present invention, each model check process is distributedly executed as one processing unit.

本発明では、分散先装置が保持している各プロセスの重み合計値をジョブの重みとし、ジョブの重みによって分散先装置を決定し、分散先装置を管理する。   In the present invention, the total weight of each process held by the distribution destination device is used as the job weight, the distribution destination device is determined based on the job weight, and the distribution destination device is managed.

本発明では、モデル検査の各プロセス及び各プロセスのインプット情報から、負荷の大きさを算出する。例えば、モデルサイズとモデル検査プロセスに割り当てられているデフォルト(初期設定)の係数から、負荷の大きさを算出する。   In the present invention, the magnitude of the load is calculated from each process of model checking and input information of each process. For example, the magnitude of the load is calculated from the model size and a default (initial setting) coefficient assigned to the model checking process.

本発明では、ソースコード規模、モデルサイズから計測した重みに対し、モデル検査の各プロセスに与えられる係数値を掛け合わせる。   In the present invention, the weight measured from the source code scale and model size is multiplied by the coefficient value given to each model checking process.

本発明では、各プロセスのインプット情報の大きさと実行時間を掛け合わせたものに対し、各プロセスの比を取ることで、係数値を決定する。   In the present invention, the coefficient value is determined by taking the ratio of each process to the product of the size of the input information of each process and the execution time.

本発明では、モデル検査方式のプロセスのインプット情報から、各プロセスの重みを定数化して分散処理を行うことで、分散先装置に対して均等に負荷配分を行う。   In the present invention, load distribution is evenly distributed to the distribution destination devices by performing distributed processing by making the weight of each process constant from the input information of the process of the model checking method.

本発明に係る負荷分散装置は、処理装置内に設置され、モデル検査のプロセスによって異なる重みの計算を実施する。   The load distribution apparatus according to the present invention is installed in a processing apparatus and calculates different weights depending on the model checking process.

或いは、本発明に係る負荷分散装置は、処理装置内に設置され、モデル検査のプロセスによって異なる重みの計算式の情報を提供する。   Or the load distribution apparatus which concerns on this invention is installed in a processing apparatus, and provides the information of the calculation formula of a weight which changes with processes of a model check.

或いは、本発明に係る負荷分散装置は、分散装置内に設置され、装置毎に存在するジョブの重みを計算する。   Alternatively, the load distribution apparatus according to the present invention is installed in the distribution apparatus and calculates the weight of a job that exists for each apparatus.

或いは、本発明に係る負荷分散装置は、分散装置内に設置され、装置毎のジョブの重みから分散先装置を決定する。   Alternatively, the load distribution apparatus according to the present invention is installed in the distribution apparatus and determines the distribution destination apparatus from the job weight for each apparatus.

以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。   As mentioned above, although embodiment of this invention was explained in full detail, actually, it is not restricted to said embodiment, Even if there is a change of the range which does not deviate from the summary of this invention, it is included in this invention.

1… 入力装置
2… 処理装置
21… 入力情報格納部
22… プロセス検索部
23… 入力情報重み付け部
3… 記憶装置
31… 入力情報記憶部
32… プロセス別重み付けルール記憶部
33… 重み記憶部
4… 分散装置
41… 装置別重み合計値算出部
42… 分散先装置決定部
43… ジョブ分散部
DESCRIPTION OF SYMBOLS 1 ... Input device 2 ... Processing apparatus 21 ... Input information storage part 22 ... Process search part 23 ... Input information weighting part 3 ... Memory | storage device 31 ... Input information storage part 32 ... Weighting rule storage part classified by process 33 ... Weight storage part 4 ... Distributing apparatus 41 ... Device-specific weight total value calculating section 42 ... Distributing destination apparatus determining section 43 ... Job distributing section

Claims (10)

ソースコード及び論理モデルを入力情報として受け取り、前記入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施する処理装置と、
プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配する分散装置と
を含む
負荷分散システム。
A processing device that receives source code and a logical model as input information, and calculates different weights depending on the model checking process based on the input information;
A load distribution system comprising: a distribution device that obtains a job weight from a weight for each process, determines a distribution processing device from the job weight, and distributes the job to the determined distribution processing device.
請求項1に記載の負荷分散システムであって、
前記処理装置は、
ソースコード及び論理モデルを前記入力情報として受け取る入力情報格納部と、
前記入力情報を基に、プロセス毎の重み計算式を検索するプロセス検索部と、
前記入力情報と、発見された重み計算式を基に、プロセス毎の重みを算出する入力情報重み付け部と
を具備する
負荷分散システム。
The load distribution system according to claim 1,
The processor is
An input information storage unit for receiving a source code and a logical model as the input information;
Based on the input information, a process search unit for searching for a weight calculation formula for each process;
A load distribution system comprising: the input information; and an input information weighting unit that calculates a weight for each process based on the discovered weight calculation formula.
請求項1又は2に記載の負荷分散システムであって、
前記分散装置は、
分散先装置の候補となる各処理装置が持つプロセス毎の重みを合計して、ジョブの重みを算出する装置別重み合計値計測部と、
ジョブの重みに基づいて分散先装置を決定する分散先装置決定部と、
前記決定された分散先装置に対して、ジョブを投入するジョブ分散部と
を具備する
負荷分散システム。
The load distribution system according to claim 1 or 2,
The dispersing device includes:
A weight total value measuring unit for each device that calculates the weight of the job by summing the weights for each process of each processing device that is a candidate for the distribution destination device;
A distribution destination device determination unit that determines a distribution destination device based on the weight of the job;
A load distribution system comprising: a job distribution unit that inputs a job to the determined distribution destination device.
請求項1乃至3のいずれか一項に記載の負荷分散システムで使用される処理装置。   The processing apparatus used with the load distribution system as described in any one of Claims 1 thru | or 3. 請求項1乃至3のいずれか一項に記載の負荷分散システムで使用される分散装置。   The distribution apparatus used with the load distribution system as described in any one of Claims 1 thru | or 3. 処理装置において、ソースコード及び論理モデルを入力情報として受け取り、前記入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施することと、
分散装置において、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配することと
を含む
負荷分散方法。
In the processing device, receiving source code and a logical model as input information, and performing calculation of different weights depending on the model checking process based on the input information;
A load distribution method, comprising: obtaining a job weight from a process-by-process weight in a distribution apparatus; determining a distribution destination processing apparatus from the job weight; and distributing the job to the determined distribution destination processing apparatus.
請求項6に記載の負荷分散方法であって、
前記処理装置において、
前記入力情報を基に、プロセス毎の重み計算式を検索することと、
前記入力情報と、発見された重み計算式を基に、プロセス毎の重みを算出することと
を更に含む
負荷分散方法。
The load distribution method according to claim 6,
In the processing apparatus,
Retrieving a weight calculation formula for each process based on the input information;
A load distribution method further comprising: calculating a weight for each process based on the input information and the found weight calculation formula.
請求項6又は7に記載の負荷分散方法であって、
前記分散装置において、
分散先装置の候補となる各処理装置が持つプロセス毎の重みを合計して、ジョブの重みを算出することと、
ジョブの重みに基づいて分散先装置を決定することと、
前記決定された分散先装置に対して、ジョブを投入することと
を更に含む
負荷分散方法。
The load distribution method according to claim 6 or 7,
In the dispersing device,
Calculating the job weight by summing the weights for each process of each processing device that is a candidate for the distribution destination device;
Determining the destination device based on the weight of the job;
A load distribution method further comprising submitting a job to the determined distribution destination device.
請求項6乃至8のいずれか一項に記載の負荷分散方法における処理装置としての動作をプロセッサに実行させるためのプログラム。   The program for making a processor perform operation | movement as a processing apparatus in the load distribution method as described in any one of Claims 6 thru | or 8. 請求項6乃至8のいずれか一項に記載の負荷分散方法における分散装置としての動作をプロセッサに実行させるためのプログラム。   The program for making a processor perform the operation | movement as a distribution apparatus in the load distribution method as described in any one of Claims 6 thru | or 8.
JP2010181036A 2010-08-12 2010-08-12 Load distribution system and load distribution method Pending JP2012043010A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010181036A JP2012043010A (en) 2010-08-12 2010-08-12 Load distribution system and load distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010181036A JP2012043010A (en) 2010-08-12 2010-08-12 Load distribution system and load distribution method

Publications (1)

Publication Number Publication Date
JP2012043010A true JP2012043010A (en) 2012-03-01

Family

ID=45899283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010181036A Pending JP2012043010A (en) 2010-08-12 2010-08-12 Load distribution system and load distribution method

Country Status (1)

Country Link
JP (1) JP2012043010A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782383A (en) * 2020-08-26 2020-10-16 北京元心科技有限公司 Task allocation method, server, electronic terminal and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244653A (en) * 1994-03-03 1995-09-19 Hitachi Ltd Operation prediction system for job
JP2007249491A (en) * 2006-03-15 2007-09-27 Fujitsu Ltd Program, device and method for distributing batch job in multi-server environment
JP2009053756A (en) * 2007-08-23 2009-03-12 Nec Corp Source code verification processing time calculation device and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244653A (en) * 1994-03-03 1995-09-19 Hitachi Ltd Operation prediction system for job
JP2007249491A (en) * 2006-03-15 2007-09-27 Fujitsu Ltd Program, device and method for distributing batch job in multi-server environment
JP2009053756A (en) * 2007-08-23 2009-03-12 Nec Corp Source code verification processing time calculation device and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782383A (en) * 2020-08-26 2020-10-16 北京元心科技有限公司 Task allocation method, server, electronic terminal and computer readable storage medium

Similar Documents

Publication Publication Date Title
JP6031196B2 (en) Tuning for distributed data storage and processing systems
Lama et al. Aroma: Automated resource allocation and configuration of mapreduce environment in the cloud
JP5218390B2 (en) Autonomous control server, virtual server control method and program
US20130031545A1 (en) System and method for improving the performance of high performance computing applications on cloud using integrated load balancing
Batista et al. Performance evaluation of resource management in cloud computing environments
KR102167747B1 (en) Apparatus and Method of managing Mobile device memory for analyzing a user utilization pattern by a neural network algorithm to predict a next application
JP2023516174A (en) Autonomous Configuration Optimization with Pattern Recognition for Data Centers
WO2015121925A1 (en) System managing method
Xue et al. Managing data center tickets: Prediction and active sizing
Straesser et al. Why is it not solved yet? challenges for production-ready autoscaling
Barve et al. Fecbench: A holistic interference-aware approach for application performance modeling
Shen et al. Performance modeling of big data applications in the cloud centers
Jeyaraman et al. Optimizing Resource Allocation in Cloud Computing Using Machine Learning
JP2017027110A (en) Information processor, priority calculation program, and data center system
JP2011192049A (en) Virtual machine system, automatic migration method, and automatic migration program
CA3132644C (en) System and method of detecting application affinity using network telemetry
JP2014078160A (en) Device and method for assisting decision of virtual resource combination
JP2006092053A (en) System use ratio management device, and system use ratio management method to be used for the same device and its program
JP6296686B2 (en) Program management of the number of processors based on load
Wang et al. A thermal‐aware VM consolidation mechanism with outage avoidance
WO2014188638A1 (en) Shared risk group management system, shared risk group management method, and shared risk group management program
WO2014002557A1 (en) Shared risk effect evaluation system, shared risk effect evaluation method, and program
Jena et al. Performance evaluation of load balancing algorithms on cloud data centers
JP2012043010A (en) Load distribution system and load distribution method
US20230205578A1 (en) Error Avoidance Load Balancing Across Distributed Clustered Containerized Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140331

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140718