JP6369286B2 - プロセス間通信プログラム、解放要求方法、および並列演算装置 - Google Patents
プロセス間通信プログラム、解放要求方法、および並列演算装置 Download PDFInfo
- Publication number
- JP6369286B2 JP6369286B2 JP2014215884A JP2014215884A JP6369286B2 JP 6369286 B2 JP6369286 B2 JP 6369286B2 JP 2014215884 A JP2014215884 A JP 2014215884A JP 2014215884 A JP2014215884 A JP 2014215884A JP 6369286 B2 JP6369286 B2 JP 6369286B2
- Authority
- JP
- Japan
- Prior art keywords
- release
- release request
- communication
- management information
- stag
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
〔第1の実施の形態〕
第1の実施の形態は、並列演算装置において、プロセス間通信のために確保されたバッファの管理情報のメモリ領域からの解放要求を効率的に行うものである。
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、OSによる送受信領域の管理情報としてステアリングを用い、複数のノード間の集団通信を行う例である。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
以上のようなハードウェア構成によって、第2の実施の形態のノード100の処理機能を実現することができる。他のノード200,300,400も、図3に示したノード100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した並列演算装置10も、図3に示したノード100と同様のハードウェアにより実現することができる。
図4は、プロセス間通信のための通信機能を示す図である。ノード100は、MPI110、通信管理部120、NIドライバ130、およびNI108を用いて、プロセス間通信を実現する。MPI110、通信管理部120、NIドライバ130、およびNI108は階層構造となっており、要求や情報のやり取りは隣接する階層間で行われる。
次に、プロセス間通信について具体的に説明する。並列ジョブのプロセス間通信はノード間の1対1データ通信が元になっている。集団通信は、1対1データ通信の組み合わせとなる。ノード間の1対1データ通信では、送信元のノードのメモリ領域にある送信バッファに書かれたデータが、NI108とNS20を介して受信ノードのメモリ領域にある受信バッファに書き込まれる。
次に、OS内のNIドライバ130で管理されるステアリングとSTagについて説明する。
そしてノード100内のプロセス140がデータを送信するとき、そのプロセス140は、通信管理部120を介して、NIドライバ130にSTagの取得を要求する。するとNIドライバ130が、ステアリング記憶部60内にステアリングを設け、そのステアリングのSTagを通信管理部120に送信する。これにより、ユーザ空間内の送信バッファ141と、送信バッファ141の管理用のステアリングとが1対1で対応付けられ、ステアリングがSTagによって一意に特定される。
図9は、STag問い合わせ処理の手順の一例を示すフローチャートである。
[ステップS104]通信管理部120は、NIドライバ130へ、STagの割り当てを依頼する。するとNIドライバ130において、ステアリング記憶部60内の不使用のステアリングが、問い合わせ要求で示されたバッファ用に割り当てられ、そのステアリングにSTagが割り当てられる。割り当てられたSTagが、NIドライバ130から通信管理部120に送信される。なお、STagを割り当てたステアリングには、問い合わせ要求の出力元のプロセスが確保したバッファの記憶領域に関する情報が設定される。
[ステップS106]通信管理部120は、MPIによる問い合わせ要求への応答として、STagを返す。
次に、STagの登録解除手順について説明する。STagの登録解除を実行するタイミングには、解放候補が所定数以上蓄積された場合と、使用できるステアリングが枯渇した場合とがある。以下、それぞれの場合の処理手順について説明する。
[ステップS111]通信管理部120は、プロセスからの、STagを指定した解放要求を、MPI110を介して受信する。
[ステップS115]通信管理部120は、使用状況管理テーブル121における、解放要求に示されたSTagの使用中カウンタの値を、1だけ減算する。
[ステップS119]通信管理部120は、解放候補リスト122内の解放候補を、古い方から順に選択する。
[ステップS122]通信管理部120は、ステップS119〜S121の処理の100回の繰り返しが完了したら、処理をステップS123に進める。繰り返し回数が100回に達していなければ、ステップS119〜S121の処理が繰り返される。
[ステップS124]解放要求に応じて、NIドライバ130が、解放リスト123に登録されているSTagの登録を一斉に解除する。すなわち、登録解除されたSTagが付与されたステアリングも同時に登録解除され、そのステアリングが格納されていた記憶領域が解放される。解放された記憶領域は、空き領域として扱われる。NIドライバ130は、解放できなかったSTagがある場合、そのSTagを通信管理部120に通知する。
2 第2解放要求
10 並列演算装置
11 記憶部
12 演算部
13a,13b,13c,・・・ プロセス
14a,14b,14c,・・・ バッファ
15 解放候補リスト
16 プロセス間通信管理部
17 OS
18 管理情報記憶領域
18a,18b,18c,・・・ 管理情報
19a,19b,19c,・・・ 識別子
Claims (7)
- コンピュータに、
プロセス間通信対象のデータを格納するバッファの管理情報を記憶する記憶領域の解放を要求する第1解放要求が出力されるごとに、前記第1解放要求を蓄積し、
蓄積された前記第1解放要求の数が閾値に達すると、蓄積された前記第1解放要求のうちの少なくとも一部を、実行対象の第1解放要求として選択し、
前記実行対象の第1解放要求に示されている管理情報の記憶領域の解放をまとめて要求する第2解放要求を出力する、
処理を実行させるプロセス間通信プログラム。 - 前記選択では、現在再利用されていない管理情報の記憶領域の解放を要求する前記第1解放要求を、前記実行対象の第1解放要求として選択する請求項1記載のプロセス間通信プログラム。
- 前記選択では、出力時期が古い方から所定数の前記第1解放要求の中から、前記実行対象の第1解放要求を選択する請求項1または2記載のプロセス間通信プログラム。
- 前記第1解放要求の蓄積では、同一の管理情報に関する前記第1解放要求が複数出力された場合、最後に出力された前記第1解放要求のみを蓄積する請求項1乃至3のいずれかに記載のプロセス間通信プログラム。
- 前記コンピュータに、さらに、
管理情報を記憶するための空き領域が所定値以下になると、蓄積された前記第1解放要求のうちの少なくとも一部を、前記実行対象の第1解放要求として選択する処理を実行させる請求項1乃至4のいずれかに記載のプロセス間通信プログラム。 - コンピュータが、
プロセス間通信対象のデータを格納するバッファの管理情報を記憶する記憶領域の解放を要求する第1解放要求が出力されるごとに、前記第1解放要求を蓄積し、
蓄積された前記第1解放要求の数が閾値に達すると、蓄積された前記第1解放要求のうちの少なくとも一部を、実行対象の第1解放要求として選択し、
前記実行対象の第1解放要求に示されている管理情報の記憶領域の解放をまとめて要求する第2解放要求を出力する、
解放要求方法。 - プロセス間通信対象のデータを格納するバッファの管理情報を記憶する記憶部と、
管理情報を記憶する記憶領域の解放を要求する第1解放要求が出力されるごとに、前記第1解放要求を蓄積し、蓄積された前記第1解放要求の数が閾値に達すると、蓄積された前記第1解放要求のうちの少なくとも一部を、実行対象の第1解放要求として選択し、前記実行対象の第1解放要求に示されている管理情報の記憶領域の解放をまとめて要求する第2解放要求を出力する演算部と、
を有する並列演算装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014215884A JP6369286B2 (ja) | 2014-10-23 | 2014-10-23 | プロセス間通信プログラム、解放要求方法、および並列演算装置 |
EP15186021.0A EP3012740A1 (en) | 2014-10-23 | 2015-09-21 | Inter-process communication program, release requesting method, and parallel computing apparatus |
US14/867,034 US10078446B2 (en) | 2014-10-23 | 2015-09-28 | Release requesting method and parallel computing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014215884A JP6369286B2 (ja) | 2014-10-23 | 2014-10-23 | プロセス間通信プログラム、解放要求方法、および並列演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016085494A JP2016085494A (ja) | 2016-05-19 |
JP6369286B2 true JP6369286B2 (ja) | 2018-08-08 |
Family
ID=54238222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014215884A Active JP6369286B2 (ja) | 2014-10-23 | 2014-10-23 | プロセス間通信プログラム、解放要求方法、および並列演算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10078446B2 (ja) |
EP (1) | EP3012740A1 (ja) |
JP (1) | JP6369286B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7060805B2 (ja) * | 2018-07-18 | 2022-04-27 | 富士通株式会社 | 通信バッファ管理プログラム、情報処理装置および通信バッファ管理方法 |
JP2022052484A (ja) * | 2020-09-23 | 2022-04-04 | 富士通株式会社 | ストレージ装置及びストレージ制御方法 |
US12008259B1 (en) * | 2021-09-29 | 2024-06-11 | Ethernovia Inc. | Data processing and transmission using hardware serialization and deserialization functions |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06261098A (ja) * | 1993-03-09 | 1994-09-16 | Fujitsu Ltd | 受信処理装置 |
JPH06324998A (ja) * | 1993-05-14 | 1994-11-25 | Fujitsu Ltd | メッセージ受信方式 |
JP3579526B2 (ja) * | 1995-10-31 | 2004-10-20 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 記憶装置へのアクセス処理方法とそのシステム |
JP3076280B2 (ja) * | 1997-08-26 | 2000-08-14 | 日本電気航空宇宙システム株式会社 | 共有メモリを使用したプロセス間通信方式 |
JPH11353197A (ja) * | 1998-06-11 | 1999-12-24 | Nec Corp | 共有プール資源制御方式 |
US6430665B1 (en) * | 1999-06-25 | 2002-08-06 | Sun Microsystems, Inc. | System and method for heuristically allocating memory |
US7653736B2 (en) * | 2001-12-14 | 2010-01-26 | Nxp B.V. | Data processing system having multiple processors and a communications means in a data processing system |
US7617376B2 (en) * | 2003-08-14 | 2009-11-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accessing a memory |
JP4144609B2 (ja) * | 2004-09-29 | 2008-09-03 | ソニー株式会社 | 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム |
US20060165084A1 (en) | 2005-01-21 | 2006-07-27 | International Business Machines Corporation | RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY TARGET |
JP2007304786A (ja) | 2006-05-10 | 2007-11-22 | Nec Corp | コンピュータ装置間のホストメモリコピー方法、コンピュータ装置、およびコンピュータプログラム |
US20080162799A1 (en) * | 2006-12-28 | 2008-07-03 | Bryan Spry | Mechanism for write optimization to a memory device |
US7886118B2 (en) * | 2007-01-04 | 2011-02-08 | International Business Machines Corporation | Detecting illegal reuse of memory with low resource impact |
US7840751B2 (en) * | 2007-06-29 | 2010-11-23 | Seagate Technology Llc | Command queue management of back watered requests |
US20090049449A1 (en) * | 2007-08-15 | 2009-02-19 | Srinidhi Varadarajan | Method and apparatus for operating system independent resource allocation and control |
JP2009133722A (ja) * | 2007-11-30 | 2009-06-18 | Tokyo Electron Ltd | プローブ装置 |
KR101467514B1 (ko) * | 2010-05-14 | 2014-12-01 | 삼성전자 주식회사 | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 |
JP5994601B2 (ja) * | 2012-11-27 | 2016-09-21 | 富士通株式会社 | 並列計算機、並列計算機の制御プログラム及び並列計算機の制御方法 |
US9182941B2 (en) * | 2014-01-06 | 2015-11-10 | Oracle International Corporation | Flow control with buffer reclamation |
US10546558B2 (en) * | 2014-04-25 | 2020-01-28 | Apple Inc. | Request aggregation with opportunism |
US9671975B2 (en) * | 2014-06-16 | 2017-06-06 | International Business Machines Corporation | Partial release management |
US9632704B2 (en) * | 2015-02-09 | 2017-04-25 | International Business Machines Corporation | Management of physical extents for space efficient storage volumes |
-
2014
- 2014-10-23 JP JP2014215884A patent/JP6369286B2/ja active Active
-
2015
- 2015-09-21 EP EP15186021.0A patent/EP3012740A1/en not_active Withdrawn
- 2015-09-28 US US14/867,034 patent/US10078446B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3012740A1 (en) | 2016-04-27 |
US10078446B2 (en) | 2018-09-18 |
JP2016085494A (ja) | 2016-05-19 |
US20160117106A1 (en) | 2016-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760314B2 (en) | Methods for sharing NVM SSD across a cluster group and devices thereof | |
US20130152086A1 (en) | Apparatus and method for managing virtual memory | |
WO2017054197A1 (zh) | 一种扩展联动的方法、装置及系统 | |
US20110314157A1 (en) | Information processing system, management apparatus, processing requesting apparatus, information processing method, and computer readable medium storing program | |
JP6477266B2 (ja) | ダンプ管理装置、ダンプ管理プログラム及びダンプ管理方法 | |
JP6369286B2 (ja) | プロセス間通信プログラム、解放要求方法、および並列演算装置 | |
US20180260257A1 (en) | Pld management method and pld management system | |
JP2019213118A (ja) | 車載装置、情報処理方法、および、情報処理プログラム | |
KR20150001146A (ko) | 스토리지 시스템 및 그의 동작 방법 | |
JP6620609B2 (ja) | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 | |
CN110235106B (zh) | 完成侧客户端节流 | |
JP6921355B2 (ja) | センサ情報収集システム、センサ情報収集方法、データ取得端末、及び、プログラム | |
US20190087181A1 (en) | Storage system | |
AU2011229395B2 (en) | Dual mode reader writer lock | |
JP6666553B2 (ja) | 情報処理装置、ジョブ管理方法およびジョブ管理プログラム | |
JP5783259B2 (ja) | コンピュータシステム | |
JP5879982B2 (ja) | ストレージ装置、ストレージ制御プログラムおよびストレージ制御方法 | |
JP6339978B2 (ja) | リソース割当管理装置およびリソース割当管理方法 | |
JP7354979B2 (ja) | 通信管理装置、通信管理方法、および通信管理プログラム | |
WO2021187476A1 (ja) | クライアント、i/oサーバ、方法、および記録媒体 | |
US10515027B2 (en) | Storage device sharing through queue transfer | |
US20210004261A1 (en) | Switching apparatus and switching method | |
KR101753840B1 (ko) | 읽기 리소스 공유를 통한 고가용성 스토리지 시스템 | |
KR101496336B1 (ko) | 태스크 정보 이동 방법 및 시스템 | |
JP6384180B2 (ja) | 仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及び仮想マシン管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170704 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180531 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6369286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |