JP2009230673A - Computer, computer system, distributed processing method, and program - Google Patents

Computer, computer system, distributed processing method, and program Download PDF

Info

Publication number
JP2009230673A
JP2009230673A JP2008078178A JP2008078178A JP2009230673A JP 2009230673 A JP2009230673 A JP 2009230673A JP 2008078178 A JP2008078178 A JP 2008078178A JP 2008078178 A JP2008078178 A JP 2008078178A JP 2009230673 A JP2009230673 A JP 2009230673A
Authority
JP
Japan
Prior art keywords
computer
grid
memory
software
kernel
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.)
Withdrawn
Application number
JP2008078178A
Other languages
Japanese (ja)
Inventor
Takefumi Honma
健文 本間
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 JP2008078178A priority Critical patent/JP2009230673A/en
Publication of JP2009230673A publication Critical patent/JP2009230673A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To effectively utilize various hardware resources as grid computing environment even when a general application which is not specialized to the grid computing environment is used. <P>SOLUTION: For a computer which is connected to other computers to allow processing by grid computing, software for grid for attaining the processing by the grid computing is provided below a kernel in a hierarchy of software and above hardware. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、他の計算機と接続することでグリッドコンピューティングによる処理を行うことができる計算機、計算機システム、分散処理方法およびプログラムに関する。   The present invention relates to a computer, a computer system, a distributed processing method, and a program that can perform processing by grid computing by connecting to another computer.

近年、比較的低価格のPC(Personal Computer)、サーバをグリッドとして複数組み合わせてシステムを構成し、システム全体としての演算能力を高めるグリッドコンピューティングが注目されつつある。   2. Description of the Related Art In recent years, attention has been focused on grid computing that increases the computing capacity of the entire system by configuring a system by combining a plurality of relatively inexpensive PCs (Personal Computers) and servers as a grid.

また、近年CPU(Central Processing Unit)のマルチコア化が進み、対称型マルチプロセッシング(SMP;Symmetric Multiprocessing)のハードウェアが安価に提供されるようになっている。このため、一般商用アプリケーションソフトウェアでは、SMP環境を配慮した製品が多数販売されるようになっている。   In recent years, CPUs (Central Processing Units) have become multicore, and symmetric multiprocessing (SMP) hardware has been provided at low cost. For this reason, in general commercial application software, many products that take the SMP environment into consideration are sold.

一般的なグリッドコンピューティング環境例を図11に示す。
この図11に示すように、グリッドコンピューティングにより処理を行う一般的な計算機システムでは、グリッド間の通信、制御を行うためのソフトウェア機能をOS(Operating System)より上の階層にミドルウェアという形で実装している。
An example of a general grid computing environment is shown in FIG.
As shown in FIG. 11, in a general computer system that performs processing by grid computing, a software function for performing communication and control between grids is implemented in the form of middleware in a layer above the OS (Operating System). is doing.

また、本発明の関連技術として、マイクロプロセッサのソフトウェア部分に、グリッドコンピューティングを構築する場合の補助システムを有し、この補助システムが、ミドルウェアに存在するグリッドコンピューティング構築支援ソフトウェアと連携するようにしたものがある(例えば、特許文献1参照)。
特開2005−56408号公報
Further, as a related technology of the present invention, an auxiliary system for building grid computing is included in the software part of the microprocessor, and the auxiliary system cooperates with grid computing construction support software existing in the middleware. (For example, refer to Patent Document 1).
JP 2005-56408 A

しかしながら、上述した一般的なグリッドコンピューティング環境では、ハードウェアの持つ演算能力を発揮するためにはグリッドコンピューティングに特化したアプリケーションソフトウェアを個別に作成する必要あり、汎用性が高いものではなかった。
また、一般的なアプリケーションでは、アプリケーションが使用できるディスク資源、メモリ資源についても、グリッドコンピューティングにより複数のグリッドを横断的かつ連続的に活用することは困難であった。
However, in the general grid computing environment described above, application software specialized for grid computing has to be created individually in order to demonstrate the computing power of hardware, and it was not highly versatile. .
In general applications, it has been difficult to use a plurality of grids across and continuously by grid computing for disk resources and memory resources that can be used by the applications.

また、グリッドコンピューティング環境と、SMP環境は似て非なるものであるため、広く流通しているSMP環境での動作を配慮したアプリケーションソフトウェアはグリッドコンピューティング環境においてはその能力を発揮することができなかった。
また、これら一般商用アプリケーションソフトウェアの多くは、グリッドコンピューティング環境で構築されたCPU資源のみならず、ディスク資源、メモリ資源などの大容量のメモリ資源についても活用が困難であった。
In addition, since the grid computing environment and the SMP environment are not similar, application software that considers operation in a widely distributed SMP environment can exhibit its capabilities in the grid computing environment. There wasn't.
In addition, most of these general commercial application software is difficult to use not only for CPU resources built in a grid computing environment but also for large-capacity memory resources such as disk resources and memory resources.

以上のように、グリッドコンピューティング環境での動作について配慮されておらず、一般的なSMP環境での動作について配慮された通常のアプリケーションからは、グリッドコンピューティング環境により提供されているネットワーク上のCPU、メモリ等の各種の資源を活用することができなかった。   As described above, the operation on the grid computing environment is not taken into consideration, and the normal application considering the operation on the general SMP environment has a CPU on the network provided by the grid computing environment. The various resources such as memory could not be utilized.

また、上述した特許文献1のものは、マイクロプロセッサを認証するセキュリティ補助システムなどの補助システムを、上述したミドルウェアに存在するグリッドコンピューティング構築支援ソフトウェアと連携させ、動作を効率化させようとするものであり、グリッドコンピューティング環境に特化されていない一般的なSMP環境用のアプリケーションを用いて、グリッドコンピューティング環境で各ハードウェア資源を有効に活用できるようにさせることについてまで考慮されたものではなかった。   In addition, the above-mentioned Patent Document 1 tries to make an operation efficient by linking an auxiliary system such as a security auxiliary system for authenticating a microprocessor with the above-described grid computing construction support software in the middleware. In addition, it is not even considered to make it possible to effectively use each hardware resource in a grid computing environment by using an application for a general SMP environment that is not specialized in the grid computing environment. There wasn't.

本発明はこのような状況に鑑みてなされたものであり、グリッドコンピューティング環境に特化されていない一般的なアプリケーションを用いた場合であっても、グリッドコンピューティング環境として各種のハードウェア資源を有効に活用することができる計算機、計算機システム、分散処理方法およびプログラムを提供することを目的とする。   The present invention has been made in view of such circumstances, and even when a general application that is not specialized for a grid computing environment is used, various hardware resources are used as the grid computing environment. It is an object of the present invention to provide a computer, a computer system, a distributed processing method, and a program that can be used effectively.

かかる目的を達成するために、本発明に係る計算機は、他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機であって、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、上記グリッドコンピューティングによる処理を実現させるグリッド用ソフトを備えたことを特徴とする。   In order to achieve such an object, a computer according to the present invention is a computer that is connected to other computers and can perform processing by grid computing, and is below the kernel in the software hierarchy and above the hardware. Grid software for realizing the processing by the grid computing is provided.

また、本発明に係る計算機システムは、上述した本発明に係る計算機の複数が互いに接続され、グリッドコンピューティングによる処理が可能に構成されたことを特徴とする。   Further, the computer system according to the present invention is characterized in that a plurality of the computers according to the present invention described above are connected to each other and can be processed by grid computing.

また、本発明に係る分散処理方法は、複数の計算機が接続されてグリッドコンピューティングによる処理が可能な計算機システムにおける分散処理方法であって、アプリケーションによる処理を上記グリッドコンピューティングにより行う際、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトを用いて行うことを特徴とする。   Further, the distributed processing method according to the present invention is a distributed processing method in a computer system capable of processing by grid computing by connecting a plurality of computers, and when performing processing by an application by the grid computing, It is characterized by using grid software provided below the kernel in the hierarchy and above the hardware.

また、本発明に係るプログラムは、他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機のプログラムであって、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトにより、上記グリッドコンピューティングでのアプリケーションによる処理を上記計算機に実行させることを特徴とする。   The program according to the present invention is a computer program that can be connected to other computers and can be processed by grid computing, and is for a grid provided below the kernel in the software hierarchy and above the hardware. The computer causes the computer to execute processing by the application in the grid computing.

以上のように、本発明によれば、グリッドコンピューティング環境に特化されていない一般的なアプリケーションを用いた場合であっても、グリッドコンピューティング環境として各種のハードウェア資源を有効に活用することができる。   As described above, according to the present invention, various hardware resources can be effectively used as a grid computing environment even when a general application that is not specialized for the grid computing environment is used. Can do.

次に、本発明に係る計算機、計算機システム、分散処理方法およびプログラムを適用した一実施形態について、図面を用いて詳細に説明する。
本実施形態の計算機システムは、グリッドコンピューティング環境で広く流通しているSMP環境用のアプリケーションソフトウェアの機能を発揮させる好適なものを例示している。
Next, an embodiment to which a computer, a computer system, a distributed processing method, and a program according to the present invention are applied will be described in detail with reference to the drawings.
The computer system of the present embodiment exemplifies a suitable system that exhibits the function of application software for the SMP environment that is widely distributed in the grid computing environment.

まず、本実施形態の概略について説明する。
本実施形態は、図1に示すように、計算機が他の計算機と接続されて計算機システムを構成し、グリッドコンピューティングによる処理が可能となっている。この計算機のソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、グリッドコンピューティングによる処理を実現させるグリッド用ソフトが設けられている。
First, an outline of the present embodiment will be described.
In this embodiment, as shown in FIG. 1, a computer is connected to another computer to form a computer system, and processing by grid computing is possible. Grid software for realizing processing by grid computing is provided below the kernel and above the hardware in the computer software hierarchy.

より詳述すると、本実施形態では、グリッドコンピューティング環境に特化されていない一般的なアプリケーションであっても、グリッドコンピューティング実行環境として各種のハードウェア資源を有効に活用できるようにするため、グリッド間の通信、制御を行うためのソフトウェア機能を図2に示すようにOSのカーネル層よりも一段ハードウェア(HW)に近いレイヤに実装する。   More specifically, in the present embodiment, even in a general application that is not specialized for a grid computing environment, various hardware resources can be effectively used as a grid computing execution environment. As shown in FIG. 2, software functions for performing communication and control between grids are implemented in a layer closer to the one-stage hardware (HW) than the OS kernel layer.

こうした構成とすることで、本実施形態では、グリッドコンピューティング環境により連携している各計算機資源をあたかも一台の計算機であるかのように上位のアプリケーションに提供することが可能となり、一般的なSMP環境での動作を配慮した通常のアプリケーションであってもグリッド環境で実現される複数CPU、大容量メモリ資源の恩恵を享受できるようにしている。   With this configuration, in this embodiment, each computer resource linked in the grid computing environment can be provided to a higher-level application as if it were a single computer. Even a normal application considering operation in the SMP environment can enjoy the benefits of multiple CPUs and large-capacity memory resources realized in the grid environment.

次に、本実施形態の構成概略について、図3〜図5を参照して説明する。
近年、オペレーティングシステムはハードウェアアーキテクチャによる差異を吸収することを目的として、ソフトウェアの階層構造におけるハードウェアとカーネルの間にハードウェア仮想化レイヤ(Hardware Abstraction Layer;HAL)を設けることが主流となっている。
Next, a schematic configuration of the present embodiment will be described with reference to FIGS.
In recent years, it has become mainstream to provide a hardware virtualization layer (Hardware Abstraction Layer; HAL) between the hardware and the kernel in the hierarchical structure of software for the purpose of absorbing differences due to hardware architecture. Yes.

本実施形態として提案するPC用グリッド実行環境では、図3、図4、図5に示すいずれかの形でグリッド用ソフトウェアを配置する。この配置については、処理速度、実装の容易さ、制御の容易さなどの条件により適宜選択することが可能である。   In the PC grid execution environment proposed as the present embodiment, the grid software is arranged in any of the forms shown in FIGS. About this arrangement | positioning, it is possible to select suitably by conditions, such as processing speed, the ease of mounting, and the ease of control.

ただし、一般商用のオペレーティングシステムを活用することを考えた場合、HALをオペレーティングシステム提供者が提供することが通常であるため、図3のようにHALとカーネル間の処理を新たに定義することは現実的ではなく、また、HALとグリッド用ソフトウェアを一体化する図5の実現もまた現実的ではないため、図4の階層構造がもっとも実装が容易である。従い、以下の説明では、図4に示す構成を例として説明する。   However, when considering using a general commercial operating system, it is normal for the operating system provider to provide the HAL. Therefore, it is not possible to newly define the processing between the HAL and the kernel as shown in FIG. Since it is not realistic and the realization of FIG. 5 in which the HAL and the grid software are integrated is also not realistic, the hierarchical structure of FIG. 4 is the easiest to implement. Therefore, in the following description, the configuration shown in FIG. 4 will be described as an example.

次に、本実施形態としての計算機の構成について、図6を参照して説明する。
計算機のハードウェア120は、CPUコア(core)123,124、メモリ126、HBA(Host Bus Adapter)125、ディスク(Hard Disk)127、NIC(Network Interface Card)121、高速NIC122を備えて構成される。ディスク127はHBA125を経由してハードウェア本体(メイン基板)に接続される。
Next, the configuration of the computer as the present embodiment will be described with reference to FIG.
The computer hardware 120 includes CPU cores 123 and 124, a memory 126, an HBA (Host Bus Adapter) 125, a disk (Hard Disk) 127, a NIC (Network Interface Card) 121, and a high-speed NIC 122. . The disk 127 is connected to the hardware main body (main board) via the HBA 125.

NICとしては、通常の計算機としての機能を発揮するための通信を行うものとしてのNIC121の他に、グリッド間の通信を行うことに特化した高速なものとして高速NIC122を備える。高速NIC122については、現状では例えば10Gigabit Ethernet(登録商標)、あるいは、Infini Bandなどによる実装が適当である。   The NIC includes a high-speed NIC 122 as a high-speed NIC specialized for performing communication between grids, in addition to the NIC 121 that performs communication for exhibiting a function as a normal computer. As for the high-speed NIC 122, for example, 10 Gigabit Ethernet (registered trademark) or Infini Band is suitable for implementation at present.

本実施形態の機能を実現するためのソフトウェアとして、オペレーティングシステム提供者が提供するOS102、カーネル103、HAL104に加え、このHAL104よりも下の階層にグリッド用ソフトウェア110を設けている。
グリッド用ソフトウェア110は、特に本実施形態の特徴的構成として、グリッド間CPU調停機能111と、グリッド間メモリ調停機能112と、グリッド間ディスク調停機能113とを備えて構成される。
As software for realizing the functions of this embodiment, in addition to the OS 102, kernel 103, and HAL 104 provided by the operating system provider, grid software 110 is provided in a layer below the HAL 104.
The grid software 110 includes an inter-grid CPU arbitration function 111, an inter-grid memory arbitration function 112, and an inter-grid disk arbitration function 113 as a characteristic configuration of the present embodiment.

本実施形態としての計算機では、上述した環境において、アプリケーション101がOS102上にて稼動する。本実施形態では、このアプリケーション101が、マルチスレッドあるいはマルチタスクにより複数のCPUコア123,124を平行して活用する機能を有することとする。   In the computer according to the present embodiment, the application 101 runs on the OS 102 in the environment described above. In the present embodiment, the application 101 has a function of utilizing a plurality of CPU cores 123 and 124 in parallel by multithreading or multitasking.

次に、本実施形態としての計算機システムの動作について、図7を参照して説明する。
この図7に示す計算機システムの構成例では、説明をわかりやすくするために、PC301、PC302の2台の計算機が接続された環境での動作を例として説明する。
Next, the operation of the computer system as the present embodiment will be described with reference to FIG.
In the configuration example of the computer system shown in FIG. 7, for the sake of easy understanding, an operation in an environment in which two computers of PC 301 and PC 302 are connected will be described as an example.

PC301とPC302のグリッド間CPU調停機能111,211は、双方の高速NIC122,222を通じて互いに通信を行い、HALを経由してカーネルに対して双方のCPUコアの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全CPUコアをカーネルに認知させる。
図7の例では、PC301とPC302それぞれのCPUコア計4個の存在をカーネル103,203に対して認知させることができる。
The inter-grid CPU arbitration functions 111 and 211 of the PC 301 and the PC 302 communicate with each other through both high-speed NICs 122 and 222, and make the kernel recognize the existence of both CPU cores via the HAL. That is, the CPU recognizes all CPU cores included in the computer system according to the present embodiment.
In the example of FIG. 7, the kernels 103 and 203 can recognize the presence of a total of four CPU cores of the PC 301 and the PC 302.

PC301とPC302のグリッド間メモリ調停機能112,212は、双方の高速NIC122,222を通じて互いに通信を行い、HALを経由してカーネルに対して双方のメモリの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全メモリをカーネルに認知させる。
図7の例では、PC301とPC302のメモリ総量の存在をカーネル103,203に対して認知させることができる。
The inter-grid memory arbitration functions 112 and 212 of the PC 301 and the PC 302 communicate with each other through both high-speed NICs 122 and 222, and cause the kernel to recognize the presence of both memories via the HAL. That is, the kernel recognizes all the memories included in the computer system according to the present embodiment.
In the example of FIG. 7, the existence of the total memory amount of the PC 301 and the PC 302 can be recognized by the kernels 103 and 203.

PC301とPC302のグリッド間ディスク調停機能113,213は、双方の高速NIC122,222を通じて互いに通信を行い、HALを経由してカーネルに対して双方のディスクの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全ディスクをカーネルに認知させる。
ディスクは、物理的なディスクドライブをそのまま認識させることも、複数の物理ディスクドライブを連携させて動作させてRAID(Redundant Array of Inexpensive Disks)を構成することにより、可用性の確保をおこなったり巨大なファイルシステムを作成することも可能である。
The inter-grid disk arbitration functions 113 and 213 of the PC 301 and the PC 302 communicate with each other through both high-speed NICs 122 and 222, and make the kernel recognize the presence of both disks via the HAL. That is, the kernel recognizes all the disks included in the computer system according to this embodiment.
Disks can be recognized as physical disk drives as they are, or multiple physical disk drives can be operated in tandem to configure RAID (Redundant Array of Inexpensive Disks) to ensure availability and large files It is also possible to create a system.

ここでPC301上で稼動する通常アプリ101がOSに対してサービスの提供を要求した場合について、図8のフローチャートを参照して説明する。   Here, the case where the normal application 101 running on the PC 301 requests the OS to provide a service will be described with reference to the flowchart of FIG.

通常アプリ101がメモリの割り当てを要求した場合、OS102はメモリ確保要求の命令セットを受けカーネル103に対してメモリ確保の要求を行う(ステップS1)。カーネル103はHAL104に対してメモリ確保の要求を行い、HAL104はグリッド用ソフト110のグリッド内メモリ調停機能112に対してメモリ確保を要求する。   When the normal application 101 requests memory allocation, the OS 102 receives a memory reservation request instruction set and issues a memory reservation request to the kernel 103 (step S1). The kernel 103 requests the HAL 104 to secure the memory, and the HAL 104 requests the memory securing function 112 in the grid software 110 to secure the memory.

グリッド間メモリ調停機能112は、PC301のハードウェア資源としての物理メモリの確保状況を管理し、PC301の物理メモリ126の使用状況に充分な余裕がある場合(ステップS2;Yes)、PC301のメモリ空間を確保の上(ステップS3)、上位階層のソフトウェアであるHAL104に対して実際に確保したメモリ空間に関する情報を通知する。   The inter-grid memory arbitration function 112 manages the allocation status of physical memory as a hardware resource of the PC 301, and when there is a sufficient margin in the usage status of the physical memory 126 of the PC 301 (step S2; Yes), the memory space of the PC 301 Is secured (step S3), and information regarding the memory space actually secured is notified to the HAL 104, which is the software of the upper layer.

グリッド間メモリ調停機能112がPC301の物理メモリ126に必要十分な余裕が確保できないと判断した場合(ステップS2;No)、それぞれの高速NIC122,222を経由してPC302のグリッド間メモリ調停機能212と通信を行い、PC302に対してメモリの確保の要求を行う(ステップS4)。   When the inter-grid memory arbitration function 112 determines that a necessary and sufficient margin cannot be secured in the physical memory 126 of the PC 301 (step S2; No), the inter-grid memory arbitration function 212 of the PC 302 and the inter-grid memory arbitration function 212 Communication is performed and a request for securing the memory is made to the PC 302 (step S4).

要求を受けたPC302のグリッド間メモリ調停機能212は、PC302のハードウェア資源としての物理メモリ226の確保状況を管理し、PC302の物理メモリの使用状況に余裕がある場合はPC302のメモリ空間を確保の上(ステップS5)、PC301のグリッド間メモリ調停機能112を経由してPC301のHAL104に対して実際に確保したメモリ空間に関する情報を通知する(ステップS6)。   Upon receiving the request, the inter-grid memory arbitration function 212 of the PC 302 manages the securing status of the physical memory 226 as the hardware resource of the PC 302, and secures the memory space of the PC 302 when there is a surplus in the usage status of the physical memory of the PC 302. (Step S5), information about the actually reserved memory space is notified to the HAL 104 of the PC 301 via the inter-grid memory arbitration function 112 of the PC 301 (step S6).

上述した一連の動作フローにより、PC301とPC302の物理メモリ空間があたかも一体のメモリ空間であるかのようにPC301の通常アプリからは認識され、単独のハードウェアでは実現できなかった広大な物理メモリ空間の使用を可能とする。   With the above-described series of operation flows, the physical memory space of the PC 301 and the PC 302 is recognized by the normal application of the PC 301 as if they were an integrated memory space, and a vast physical memory space that cannot be realized by a single hardware. Can be used.

次に、PC301上で稼動する通常アプリ101がOSに対してCPU資源を要求した場合について、図9のフローチャートを参照して説明する。   Next, a case where the normal application 101 running on the PC 301 requests CPU resources from the OS will be described with reference to the flowchart of FIG.

カーネル103は起動時にHALを経由して使用可能なCPU資源の数についての定義を行う(ステップS11)。PC301でカーネル103が起動した際、グリッド間CPU調停機能111はPC302のグリッド間CPU調停機能211と通信を行い、PC301、PC302双方のCPUコア計4個を利用可能資源として認識し、OS102を起動する(ステップS12)。   The kernel 103 defines the number of CPU resources that can be used via the HAL at startup (step S11). When the kernel 103 is started on the PC 301, the inter-grid CPU arbitration function 111 communicates with the inter-grid CPU arbitration function 211 of the PC 302, recognizes a total of four CPU cores of both the PC 301 and the PC 302 as available resources, and starts the OS 102. (Step S12).

通常アプリ101が稼働中に新規にスレッドやプロセスを定義した場合(ステップS13;Yes)、OS102に対して新規のCPU資源の定義の要求を行う。OS102は自らのSMP機能により利用可能な4個のCPUコアより1個を確保の上、アプリケーションソフトウェアのスレッドあるいはプロセスを稼動させる(ステップS14)。   When a new thread or process is defined while the normal application 101 is operating (step S13; Yes), a new CPU resource definition request is made to the OS 102. The OS 102 secures one of the four CPU cores that can be used by its own SMP function, and activates an application software thread or process (step S14).

上述した一連の動作フローにより、PC301とPC302それぞれのCPUコアがあたかも一体の物理的な筐体の中に存在しているかのようにPC301のOS102および通常アプリ101からは認識され、単独のハードウェアでは実現できなかった複数処理の平行実施を実現可能とする。   According to the above-described series of operation flows, the OS core of the PC 301 and the normal application 101 are recognized as if the CPU cores of the PC 301 and the PC 302 exist in an integrated physical casing, and a single hardware This makes it possible to implement parallel execution of multiple processes that could not be realized.

次に、PC301上で稼動する通常アプリ101がOSに対してディスク資源へのI/O(Input-Output)を要求した場合について、図10のフローチャートを参照して説明する。   Next, the case where the normal application 101 running on the PC 301 requests the OS to perform I / O (Input-Output) to the disk resource will be described with reference to the flowchart of FIG.

通常アプリ101がディスク資源へのI/Oを要求した場合(ステップS21)、OS102はカーネル103に対してディスク資源へのI/O要求をおこなう。カーネル103はHAL104に対してディスクI/O要求を行い、HAL104はグリッド用ソフト110のグリッド内ディスク調停機能113に対してディスクI/Oを要求する(ステップS22)。グリッド間ディスク調停機能113は、PC301のディスク127、PC302のディスク227へのアクセスをあらかじめ設定されたRAID方式で実施する(ステップS23)。   When the normal application 101 requests I / O to the disk resource (step S21), the OS 102 makes an I / O request to the disk resource to the kernel 103. The kernel 103 issues a disk I / O request to the HAL 104, and the HAL 104 requests a disk I / O from the in-grid disk arbitration function 113 of the grid software 110 (step S22). The inter-grid disk arbitration function 113 performs access to the disk 127 of the PC 301 and the disk 227 of the PC 302 by a preset RAID method (step S23).

まず、ディスクのRAID方式がRAID0(ミラーリング)の場合の例について説明する。
PC301のグリッド間ディスク調停機能はPC302のグリッド間調停機能を経由して双方のPCのディスクに対し同時に書き込みを行い、読み込みはPC301のディスクより実施する(ステップS24)。仮に、PC301のディスクに障害が発生した場合、読み込みをPC302のディスクより実施し、継続運用を可能とする。
First, an example in which the disk RAID system is RAID 0 (mirroring) will be described.
The inter-grid disk arbitration function of the PC 301 simultaneously writes to the disks of both PCs via the inter-grid arbitration function of the PC 302, and reading is performed from the PC 301 disk (step S24). If a failure occurs in the disk of the PC 301, reading is performed from the disk of the PC 302 to enable continuous operation.

次に、ディスクのRAID方式がRAID5(分散パリティ)の場合の例について説明する。
書き込み要求が発生した場合は、PC301のグリッド間ディスク調停機能はデータを分割の上パリティデータを作成する。分割されたデータおよびパリティデータをPC301、PC302のディスクに対してデータの書き込みを行う。データの読み込みはPC301、PC302より分割されたデータを読み込んだ上でデータを結合しOS、アプリケーションへ引き渡す(ステップS25)。ディスクに障害が発生している場合は、パリティデータを活用してデータを復元する。
なお、RAID5の場合は、最低4台のディスクが必要となる。
Next, an example in which the disk RAID system is RAID 5 (distributed parity) will be described.
When a write request occurs, the inter-grid disk arbitration function of the PC 301 divides the data and creates parity data. The divided data and parity data are written to the PC 301 and PC 302 disks. For data reading, the divided data is read from the PC 301 and the PC 302, and the data are combined and delivered to the OS and application (step S25). If a disk failure has occurred, use parity data to restore the data.
In the case of RAID 5, at least four disks are required.

上述した一連の動作フローにより、PC301とPC302の物理ディスク領域があたかも一体であるかのようにPC301の通常アプリからは認識され、単独のハードウェアでは実現できなかった広大な記憶領域の使用を可能とする。   Through the above-described series of operation flows, the physical disk areas of the PC 301 and the PC 302 are recognized by the normal application of the PC 301 as if they were integrated, and it is possible to use a vast storage area that could not be realized with a single hardware. And

次に、上述した実施形態による効果について説明する。
従来、低価格で高性能な演算能力を持つ計算機システムを構築するための一つの手段としてグリッドコンピューティングがあったが、並行処理を効率よく実施するためには専用のアプリケーションソフトウェアを開発する必要があると共に、1プロセスで使用できるメモリ空間は1台のグリッドの物理メモリに制限されるという制約があった。
Next, the effect by embodiment mentioned above is demonstrated.
Conventionally, grid computing has been one of the means to build a low-priced and high-performance computing system, but it is necessary to develop dedicated application software in order to perform parallel processing efficiently. In addition, the memory space that can be used in one process is limited to the physical memory of one grid.

これに対し、上述した実施形態によれば、マルチスレッドに対応している一般的に使用されているアプリケーションを改変することなく大規模な並行処理を実現し、さらには大容量のメモリ空間、ディスク空間を確保することが可能となった。   On the other hand, according to the above-described embodiment, large-scale parallel processing is realized without modifying a commonly used application that supports multi-threading, and a large-capacity memory space, disk It became possible to secure space.

より詳述すると、従来、低価格で高性能な演算能力を持つ計算機システムを構築するための一つの手段としてグリッドコンピューティングがあったが、並行処理を効率よく実施するためには専用のアプリケーションソフトウェアを開発する必要があると共に、1プロセスで使用できるメモリ空間は1台のグリッドの物理メモリに制限されるという制約があった。   More specifically, grid computing has traditionally been one of the methods for constructing a low-priced and high-performance computing system, but dedicated application software is required for efficient parallel processing. In addition, the memory space that can be used in one process is limited to the physical memory of one grid.

従来のグリッド環境で大量の数値演算処理を高速に実施すためには各グリッド間の調停に関する制御をアプリケーション内に適切に実装することが必要であり、非常に高度なアプリケーションソフトウェア開発技術が要求された。また、広く市販されているアプリケーションソフトウェア(COTS(Commercial off-the-shelf)ソフトウェア)ではグリッドコンピューティングの恩恵を受けることができないという制約があった。   In order to perform a large amount of numerical computation processing at high speed in the conventional grid environment, it is necessary to properly implement control related to arbitration between grids in the application, and very advanced application software development technology is required. It was. In addition, there is a restriction that application software (COTS (Commercial off-the-shelf) software) that is commercially available cannot benefit from grid computing.

これに対し、上述した実施形態によれば、処理アプリケーションはごく一般的なマルチスレッド、マルチプロセスの処理を実装することにより、スケーラブルにグリッド処理を実施することが可能となる。   On the other hand, according to the above-described embodiment, the processing application can perform grid processing in a scalable manner by implementing very general multi-thread and multi-process processing.

また、グリッド間ディスク調停機能を活用することにより、大容量かつ高可用性のハードディスク環境を容易に実現することが可能になった。   Also, by utilizing the inter-grid disk arbitration function, it has become possible to easily realize a large-capacity and highly available hard disk environment.

なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
例えば、上述した実施形態では、計算機システムの構成として2台のPCが接続されることとして説明したが、この構成に限定されず、接続されてグリッドコンピューティングによる処理を行うコンピュータは何台であってもよい。
Each of the above-described embodiments is a preferred embodiment of the present invention, and the present invention is not limited to this, and various modifications can be made based on the technical idea of the present invention.
For example, in the above-described embodiment, it has been described that two PCs are connected as a configuration of the computer system. However, the configuration is not limited to this configuration, and how many computers are connected and perform processing by grid computing. May be.

また、上述した実施形態では、図4に示した階層構造により構築されたものを例としているが、グリッド用ソフトがカーネルより下、かつハードウェアより上の階層に設けられていればこの階層構造に限定されず、使用するオペレーティングシステム、カーネルの制約や特性などに応じて、例えば図3、図5で示した構造であっても同様に適用することができる。   In the above-described embodiment, an example constructed by the hierarchical structure shown in FIG. 4 is taken as an example. However, if the grid software is provided in a hierarchy below the kernel and above the hardware, this hierarchical structure is used. For example, the structure shown in FIGS. 3 and 5 can be similarly applied according to the operating system to be used, the restrictions and characteristics of the kernel, and the like.

また、上述した各実施形態としての計算機システムを実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのCPUに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリーカード、ROM等を用いてよい。
Further, by recording a processing procedure for realizing the computer system as each of the above-described embodiments on a recording medium as a program, the above-described functions according to each embodiment of the present invention are supplied from the recording medium. Thus, the processing can be realized by causing the CPU of the computer constituting the system to perform processing.
In this case, the present invention can be applied even when an information group including a program is supplied to the output device from the above recording medium or from an external recording medium via a network.
That is, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code and the signal read from the recording medium constitute the present invention. It will be.
As this recording medium, for example, flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW, magnetic tape, non-volatile A memory card, ROM or the like may be used.

この本発明に係るプログラムによれば、当該プログラムによって制御される計算機システムやそのシステムを構成する各コンピュータに、上述した実施形態における各機能を実現させることができる。   According to the program according to the present invention, each function in the above-described embodiment can be realized in a computer system controlled by the program and each computer constituting the system.

上述のように、本発明は、大容量画像データ処理における多量のCPU資源、メモリ資源、ディスク資源を要求される計算機システムに好適に適用することができる。
また、ディスク資源の確保にのみ着目し、低価格で大容量ディスク資源を確保する必要性があるシステムに適用しても有益である。
As described above, the present invention can be suitably applied to a computer system that requires a large amount of CPU resources, memory resources, and disk resources in large-capacity image data processing.
It is also beneficial to apply it to a system that focuses on securing disk resources and needs to secure large-capacity disk resources at a low price.

本発明の実施形態の概略を示す図である。It is a figure which shows the outline of embodiment of this invention. 本発明の実施形態によるグリッドコンピューティング環境例を示すブロック図である。1 is a block diagram illustrating an example grid computing environment according to an embodiment of the invention. FIG. 本発明の一実施形態による計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer by one Embodiment of this invention. 本発明の一実施形態による計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer by one Embodiment of this invention. 本発明の一実施形態による計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer by one Embodiment of this invention. 本実施形態として説明する計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer demonstrated as this embodiment. 本実施形態としての計算機システムの構成・動作例を示すブロック図である。It is a block diagram which shows the example of a structure and operation | movement of a computer system as this embodiment. 該計算機システムによるメモリ割り当て動作を示すフローチャートである。It is a flowchart which shows the memory allocation operation | movement by this computer system. 該計算機システムによるCPU資源要求動作を示すフローチャートである。It is a flowchart which shows CPU resource request | requirement operation | movement by this computer system. 該計算機システムによるディスク資源へのアクセス要求動作を示すフローチャートである。It is a flowchart which shows the access request | requirement operation | movement to the disk resource by this computer system. 一般的なグリッドコンピューティング環境例を示すブロック図である。1 is a block diagram illustrating an example of a general grid computing environment.

符号の説明Explanation of symbols

101 通常アプリ(アプリケーション)
102 OS
103 カーネル
104 HAL
110 グリッド用ソフト
111 グリッド間CPU調停機能
112 グリッド間メモリ調停機能
113 グリッド間ディスク調停機能
120 ハードウェア
121 NIC
122 高速NIC
123、124 CPUコア
126 メモリ(物理メモリ)
127 ディスク(ハードディスク)
101 Normal application (application)
102 OS
103 Kernel 104 HAL
110 Grid software 111 Inter-grid CPU arbitration function 112 Inter-grid memory arbitration function 113 Inter-grid disk arbitration function 120 Hardware 121 NIC
122 High speed NIC
123, 124 CPU core 126 Memory (physical memory)
127 disk (hard disk)

Claims (16)

他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機であって、
ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、前記グリッドコンピューティングによる処理を実現させるグリッド用ソフトを備えたことを特徴とする計算機。
A computer that is connected to other computers and can be processed by grid computing,
A computer comprising grid software for realizing the processing by the grid computing below a kernel in a software hierarchy and above hardware.
前記グリッド用ソフトは、前記計算機および、接続された前記他の計算機に含まれるメモリをカーネルに認知させるグリッド間メモリ調停機能を少なくとも備え、
前記グリッド間メモリ調停機能は、メモリ確保要求に応じて、前記計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記計算機の物理メモリに充分な余裕がない場合には前記他の計算機にメモリ確保要求を行うことを特徴とする請求項1記載の計算機。
The grid software includes at least an inter-grid memory arbitration function that allows a kernel to recognize a memory included in the computer and the other connected computer.
The inter-grid memory arbitration function secures a memory space in the computer when the physical memory of the computer has a sufficient margin in response to a memory allocation request, and does not have a sufficient margin in the physical memory of the computer 2. The computer according to claim 1, wherein a memory securing request is made to said other computer.
前記グリッド間メモリ調停機能は、前記計算機または、接続された前記他の計算機にメモリ空間が確保されると、該確保されたメモリ空間に関する情報を上位階層のソフトウェアに通知することを特徴とする請求項2記載の計算機。   The inter-grid memory arbitration function, when a memory space is secured in the computer or the other connected computer, notifies the information on the secured memory space to higher-layer software. Item 3. The computer according to item 2. 前記グリッド用ソフトは、カーネル起動の際に、前記計算機および、接続された前記他の計算機に含まれるCPUコアを該カーネルに認知させるグリッド間CPU調停機能を少なくとも備えたことを特徴とする請求項1から3の何れか1項に記載の計算機。   The grid software includes at least an inter-grid CPU arbitration function that allows the kernel to recognize a CPU core included in the computer and the other connected computer when the kernel is started. The computer according to any one of 1 to 3. 前記グリッド用ソフトは、前記計算機および、接続された前記他の計算機に含まれるハードディスクをカーネルに認知させるグリッド間ディスク調停機能を少なくとも備え、
前記グリッド間ディスク調停機能は、ハードディスクへのアクセス要求に応じて、予め定められたRAID方式により、前記計算機および、接続された前記他の計算機に含まれる各ハードディスクにアクセスすることを特徴とする請求項1から4の何れか1項に記載の計算機。
The grid software includes at least an inter-grid disk arbitration function that allows a kernel to recognize a hard disk included in the computer and the other connected computer.
The inter-grid disk arbitration function accesses each of the hard disks included in the computer and the other connected computers by a predetermined RAID method in response to a request for access to the hard disk. Item 5. The computer according to any one of Items 1 to 4.
請求項1から5の何れか1項に記載の計算機の複数が互いに接続され、グリッドコンピューティングによる処理が可能に構成されたことを特徴とする計算機システム。   A computer system comprising a plurality of computers according to any one of claims 1 to 5 connected to each other and capable of processing by grid computing. 複数の計算機が接続されてグリッドコンピューティングによる処理が可能な計算機システムにおける分散処理方法であって、
アプリケーションによる処理を前記グリッドコンピューティングにより行う際、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトを用いて行うことを特徴とする分散処理方法。
A distributed processing method in a computer system capable of processing by grid computing by connecting a plurality of computers,
A distributed processing method characterized in that when processing by an application is performed by the grid computing, grid software provided below a kernel and above hardware in a software hierarchy is used.
アプリケーションからメモリ確保要求が出された際、1つの計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記1つの計算機の物理メモリに充分な余裕がない場合には他の計算機にメモリ確保要求を行うことを特徴とする請求項7記載の分散処理方法。   When a memory allocation request is issued from an application, if there is sufficient room in the physical memory of one computer, a memory space is secured in the computer, and there is not enough room in the physical memory of the one computer. 8. The distributed processing method according to claim 7, wherein a request for securing the memory is sent to another computer. 前記アプリケーションによるメモリ確保要求に応じてメモリ空間が確保されると、該確保されたメモリ空間に関する情報を前記グリッド用ソフトから上位階層のソフトウェアに通知することを特徴とする請求項8記載の分散処理方法。   9. The distributed processing according to claim 8, wherein when a memory space is secured in response to a memory securing request by the application, information related to the secured memory space is notified from the grid software to upper layer software. Method. カーネル起動の際に、前記計算機システムに含まれるCPUコアを、前記グリッド用ソフトが該カーネルに認知させることを特徴とする請求項7から9の何れか1項に記載の分散処理方法。   10. The distributed processing method according to claim 7, wherein when the kernel is activated, the grid software causes the kernel to recognize the CPU core included in the computer system. 11. アプリケーションからハードディスクへのアクセス要求が出された際、予め定められたRAID方式により、前記計算機システムに含まれる各ハードディスクにアクセスすることを特徴とする請求項7から10の何れか1項に記載の分散処理方法。   11. The hard disk included in the computer system is accessed by a predetermined RAID method when an access request to the hard disk is issued from an application. Distributed processing method. 他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機のプログラムであって、
ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトにより、前記グリッドコンピューティングでのアプリケーションによる処理を前記計算機に実行させることを特徴とするプログラム。
A computer program connected to other computers and capable of processing by grid computing,
A program for causing a computer to execute processing by an application in the grid computing by using grid software provided below a kernel and above hardware in a software hierarchy.
アプリケーションからメモリ確保要求が出された際、前記計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記計算機の物理メモリに充分な余裕がない場合には前記他の計算機にメモリ確保要求を行う処理を前記計算機に実行させることを特徴とする請求項12記載のプログラム。   When a memory allocation request is issued from an application, if there is sufficient room in the physical memory of the computer, a memory space is secured in the computer, and if there is not enough room in the physical memory of the computer, the other 13. The program according to claim 12, which causes the computer to execute a process of making a memory allocation request to the computer. 前記アプリケーションによるメモリ確保要求に応じてメモリ空間が確保されると、該確保されたメモリ空間に関する情報を前記グリッド用ソフトから上位階層のソフトウェアに通知する処理を前記計算機に実行させることを特徴とする請求項13記載のプログラム。   When a memory space is secured in response to a memory securing request by the application, the computer is caused to execute a process of notifying the information related to the secured memory space from the grid software to the upper layer software. The program according to claim 13. カーネル起動の際に、前記計算機および、接続された前記他の計算機に含まれるCPUコアを、前記グリッド用ソフトが該カーネルに認知させる処理を前記計算機に実行させることを特徴とする請求項12から14の何れか1項に記載のプログラム。   13. The system according to claim 12, wherein when the kernel is started, the computer is caused to execute processing for causing the grid software to recognize the CPU core included in the computer and the other connected computer. 14. The program according to any one of 14. アプリケーションからハードディスクへのアクセス要求が出された際、予め定められたRAID方式により、前記計算機システムに含まれる各ハードディスクにアクセスする処理を前記計算機に実行させることを特徴とする請求項12から15の何れか1項に記載のプログラム。   16. The computer according to claim 12, wherein when a request to access a hard disk is issued from an application, the computer is caused to execute a process of accessing each hard disk included in the computer system by a predetermined RAID method. The program according to any one of the above items.
JP2008078178A 2008-03-25 2008-03-25 Computer, computer system, distributed processing method, and program Withdrawn JP2009230673A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008078178A JP2009230673A (en) 2008-03-25 2008-03-25 Computer, computer system, distributed processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008078178A JP2009230673A (en) 2008-03-25 2008-03-25 Computer, computer system, distributed processing method, and program

Publications (1)

Publication Number Publication Date
JP2009230673A true JP2009230673A (en) 2009-10-08

Family

ID=41245937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008078178A Withdrawn JP2009230673A (en) 2008-03-25 2008-03-25 Computer, computer system, distributed processing method, and program

Country Status (1)

Country Link
JP (1) JP2009230673A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149285A (en) * 2020-03-17 2021-09-27 本田技研工業株式会社 Information processing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149285A (en) * 2020-03-17 2021-09-27 本田技研工業株式会社 Information processing device
JP7412235B2 (en) 2020-03-17 2024-01-12 本田技研工業株式会社 information processing equipment

Similar Documents

Publication Publication Date Title
US10339047B2 (en) Allocating and configuring persistent memory
US9286173B2 (en) Dynamic use of RAID levels responsive to predicted failure of a data storage device
US9122515B2 (en) Completion notification for a storage device
WO2017162176A1 (en) Storage system, access method for storage system, and access device for storage system
WO2017133483A1 (en) Storage system
US20150121134A1 (en) Storage device failover
JP2011154697A (en) Method and system for execution of applications in conjunction with raid
TW201140442A (en) Accelerating a wake-up time of a system
CN104102460A (en) Cloud computing-based memory management method and device
JP6241178B2 (en) Storage control device, storage control method, and storage control program
JP6123388B2 (en) Fault tolerant server
JP5027939B1 (en) Host server with virtual storage for virtual machines
JP2009230673A (en) Computer, computer system, distributed processing method, and program
JP6207342B2 (en) Information processing system and control method of information processing system
CN103853599B (en) A kind of extended method of node computing capability
JP5807942B2 (en) Disk array device and control method thereof
TWI501588B (en) Accessing a local storage device using an auxiliary processor
US20140316539A1 (en) Drivers and controllers
US20200233586A1 (en) System for speculative block io aggregation to reduce uneven wearing of scms in virtualized compute node by offloading intensive block ios
JP2007079968A (en) Information processor
Fan et al. Cdbb: an nvram-based burst buffer coordination system for parallel file systems
JP6035993B2 (en) Information processing apparatus, apparatus management method, and apparatus management program
JP5636703B2 (en) Blade server
TWM469551U (en) Redundant array of independent disks, computer system, and computer accessible storage media
Alpern et al. IT career JumpStart: An introduction to PC hardware, Software, and Networking

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607