JP6403782B2 - リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 - Google Patents
リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 Download PDFInfo
- Publication number
- JP6403782B2 JP6403782B2 JP2016542942A JP2016542942A JP6403782B2 JP 6403782 B2 JP6403782 B2 JP 6403782B2 JP 2016542942 A JP2016542942 A JP 2016542942A JP 2016542942 A JP2016542942 A JP 2016542942A JP 6403782 B2 JP6403782 B2 JP 6403782B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- data
- messaging hub
- rdma
- data portions
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Description
120:制御部分
130:データ部分
140、280:メッセージ
150:メッセージ・プロデューサ
160:ネットワーク・インターフェース
180:イベント
210:ホスト・サーバ
230:ネットワーク・インターフェース
240:クライアント・コンピューティング・システム
250:アプリケーション
260:メッセージ・モジュール
270:コンピュータ通信ネットワーク
300:RDMA最適化メッセージ処理モジュール
Claims (12)
- メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)を用いたプロデューサ・コンシューマ間のメッセージ交換のために構成されたデータ処理システムであって、
メモリ及び少なくとも1つのプロセッサを有するホスト・サーバと、
前記ホスト・サーバの前記メモリ内で動作するメッセージング・ハブであって、ネットワーク・インターフェースを通してクライアント・コンピューティング・システムのメッセージ生成アプリケーションと通信する、メッセージング・ハブと、を含み、
前記メッセージング・ハブは、
制御部分と、1つ又は複数のデータ部分と、を含み、前記制御部分が前記1つ又は複数のデータ部分のうち利用可能なデータ部分の1つへのインデックスを格納するように、前記ホスト・サーバの前記メモリの共有領域を初期化し、
前記メッセージ生成アプリケーションに前記メモリの前記共有領域のアドレスを伝送し、
前記ホスト・サーバの前記ネットワーク・インターフェース上で、前記メッセージ生成アプリケーションによるRDMA書き込み操作を介して、前記メモリの前記利用可能なデータ部分の1つにメッセージを受信し、
前記メッセージの受信に応答して、前記利用可能なデータ部分の前記1つから前記メッセージを取り出し、前記取り出したメッセージの処理を指示する、データ処理システム。 - メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)を用いたプロデューサ・コンシューマ間のメッセージ交換のためのコンピュータ・プログラムであって、
前記メッセージング・ハブに、
前記メッセージング・ハブの動作をホストするホスト・サーバのメモリ内の共有メモリ領域を初期化するステップあって、前記初期化は、前記共有メモリ領域の制御部分と、前記共有メモリ領域の1つ又は複数のデータ部分と、を提供し、前記制御部分は、前記1つ又は複数のデータ部分のうち利用可能なデータ部分の1つへのインデックスを格納する、前記初期化するステップ、
コンピュータ通信ネットワーク上でメッセージ・プロデューサに、前記共有メモリ領域のアドレスを伝送するステップ、
前記ホスト・サーバのネットワーク・インターフェース上で、前記メッセージ・プロデューサによるRDMA書き込み操作を介して、前記共有メモリ領域の前記利用可能なデータ部分の1つにメッセージを受信するステップ、
前記メッセージの受信に応答して、前記利用可能なデータ部分の前記1つから前記メッセージを取り出し、前記取り出したメッセージを処理するステップ、を実行させるためのコンピュータ・プログラム。 - メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)を用いたプロデューサ・コンシューマ間のメッセージ交換のための方法であって、
前記メッセージング・ハブが、
前記メッセージング・ハブの動作をホストするホスト・サーバのメモリ内の共有メモリ領域を初期化するステップあって、前記初期化は、前記共有メモリ領域の制御部分と、前記共有メモリ領域の1つ又は複数のデータ部分と、を提供し、前記制御部分は、前記1つ又は複数のデータ部分のうち利用可能なデータ部分の1つへのインデックスを格納する、初期化するステップと、
コンピュータ通信ネットワーク上でメッセージ・プロデューサに、前記共有メモリ領域のアドレスを伝送するステップと、
前記ホスト・サーバのネットワーク・インターフェース上で、前記メッセージ・プロデューサによるRDMA書き込み操作を介して、前記共有メモリ領域の前記利用可能なデータ部分の1つにメッセージを受信するステップと、
前記メッセージの受信に応答して、前記利用可能なデータ部分の前記1つから前記メッセージを取り出し、前記取り出したメッセージを処理するステップと、
を実行する、方法。 - 前記メッセージング・ハブは、前記メッセージ・プロデューサによる前記RDMA書き込み操作によりトリガされるデータ利用可能イベントを検出することに応答して、前記メッセージを取り出し、処理する、請求項3に記載の方法。
- 前記1つ又は複数のデータ部分は等しいサイズのものである、請求項3に記載の方法。
- 前記データ部分の各々は、前記データ部分が有効状態であるか又は無効状態であるかを示す状態語を含む、請求項3に記載の方法。
- 前記メッセージ・プロデューサは、前記利用可能なデータ部分の前記状態が有効である場合、前記メッセージを前記利用可能なデータ部分に書き込まず、ひとたび前記利用可能なデータ部分の前記状態が無効になって初めて、前記メッセージを前記利用可能なデータ部分に書き込む、請求項6に記載の方法。
- 前記メッセージは、
前記メッセージ・プロデューサが、第1に前記メモリの共有領域の前記アドレスから前記制御部分の位置を計算し、
第2に前記制御部分の前記位置にRDMA読み出し追加操作を行って前記制御部分からのインデックス・データを獲得し、
第3に前記インデックス・データのモジュロを計算して前記データ部分の前記利用可能なデータ部分の位置をもたらし、
第4に前記利用可能なデータ部分に対して前記メッセージのRDMA書き込み操作を行うことによって、受信される、請求項3に記載の方法。 - 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することによって、前記メッセージを処理する、請求項3に記載の方法。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することなく、前記メッセージを廃棄することによって、前記メッセージを処理する、請求項3に記載の方法。
- 請求項4乃至10の何れか一項に記載の方法の各ステップをプロセッサに実行させるためのコンピュータ・プログラム。
- 請求項4乃至10の何れか一項に記載の方法の各ステップを実行するプロセッサを備えたデータ処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/144,537 | 2013-12-30 | ||
US14/144,537 US9495325B2 (en) | 2013-12-30 | 2013-12-30 | Remote direct memory access (RDMA) high performance producer-consumer message processing |
PCT/CN2014/088604 WO2015101078A1 (en) | 2013-12-30 | 2014-10-15 | Remote direct memory access (rdma) high performance producer-consumer message processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017500669A JP2017500669A (ja) | 2017-01-05 |
JP6403782B2 true JP6403782B2 (ja) | 2018-10-10 |
Family
ID=53481941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016542942A Active JP6403782B2 (ja) | 2013-12-30 | 2014-10-15 | リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 |
Country Status (3)
Country | Link |
---|---|
US (4) | US9495325B2 (ja) |
JP (1) | JP6403782B2 (ja) |
WO (1) | WO2015101078A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101591061B1 (ko) * | 2014-12-30 | 2016-02-02 | 주식회사 코난테크놀로지 | 실시간 처리를 위한 전송 라이브러리 시스템 및 그 시스템에서의 송/수신 방법 |
US10810179B2 (en) * | 2015-09-25 | 2020-10-20 | Microsoft Technology Licensing, Llc | Distributed graph database |
JP6740683B2 (ja) * | 2016-04-07 | 2020-08-19 | 富士通株式会社 | 並列処理装置及び通信制御方法 |
CN106210049B (zh) * | 2016-07-12 | 2020-12-22 | 武汉Tcl集团工业研究院有限公司 | 一种基于消息队列的集群通信方法及*** |
US11254559B2 (en) * | 2017-03-05 | 2022-02-22 | Kris Vossough | FET based sensory systems |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
US10979514B2 (en) | 2018-12-03 | 2021-04-13 | International Business Machines Corporation | Flexible message transformation and delivery |
CN111352743B (zh) * | 2018-12-24 | 2023-12-01 | 北京新媒传信科技有限公司 | 一种进程通讯方法和装置 |
CN109918217A (zh) * | 2019-03-21 | 2019-06-21 | 联想(北京)有限公司 | 一种控制方法及终端 |
CN111459418B (zh) * | 2020-05-15 | 2021-07-23 | 南京大学 | 一种基于rdma的键值存储***传输方法 |
US20220206852A1 (en) * | 2020-12-31 | 2022-06-30 | Nutanix, Inc. | Lockless handling of buffers for remote direct memory access (rdma) i/o operations |
CN113347115B (zh) * | 2021-08-06 | 2021-11-26 | 北京国科天迅科技有限公司 | 消息处理方法、装置、电子设备及介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4192416B2 (ja) * | 2000-06-08 | 2008-12-10 | 株式会社日立製作所 | 計算機システムおよびそのデータ転送方法 |
US20050018669A1 (en) | 2003-07-25 | 2005-01-27 | International Business Machines Corporation | Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port |
GB0427798D0 (en) * | 2004-12-18 | 2005-01-19 | Ibm | Publish/subscribe messaging system |
US8458280B2 (en) | 2005-04-08 | 2013-06-04 | Intel-Ne, Inc. | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations |
US20090083392A1 (en) * | 2007-09-25 | 2009-03-26 | Sun Microsystems, Inc. | Simple, efficient rdma mechanism |
JP4561800B2 (ja) * | 2007-09-25 | 2010-10-13 | 沖電気工業株式会社 | データ同期システム及び方法 |
CN101311661A (zh) | 2008-02-19 | 2008-11-26 | 管理 | 一种水膜沫吸热热管中介热交换的烟汽余热热凝回收技术 |
US8131814B1 (en) * | 2008-07-11 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Dynamic pinning remote direct memory access |
US8577986B2 (en) | 2010-04-02 | 2013-11-05 | Microsoft Corporation | Mapping RDMA semantics to high speed storage |
US20120331243A1 (en) * | 2011-06-24 | 2012-12-27 | International Business Machines Corporation | Remote Direct Memory Access ('RDMA') In A Parallel Computer |
JP5772380B2 (ja) | 2011-08-11 | 2015-09-02 | 富士通株式会社 | 通信装置、通信方法、および通信プログラム |
US8832216B2 (en) | 2011-08-31 | 2014-09-09 | Oracle International Corporation | Method and system for conditional remote direct memory access write |
US9116761B2 (en) | 2011-09-29 | 2015-08-25 | Oracle International Corporation | System and method for preventing single-point bottleneck in a transactional middleware machine environment |
US9996403B2 (en) * | 2011-09-30 | 2018-06-12 | Oracle International Corporation | System and method for providing message queues for multinode applications in a middleware machine environment |
US8880935B2 (en) * | 2012-06-12 | 2014-11-04 | International Business Machines Corporation | Redundancy and load balancing in remote direct memory access communications |
CN103116618B (zh) * | 2013-01-28 | 2015-09-30 | 南开大学 | 基于客户端持久缓存的远程文件***镜像方法及*** |
-
2013
- 2013-12-30 US US14/144,537 patent/US9495325B2/en not_active Expired - Fee Related
-
2014
- 2014-01-04 US US14/147,511 patent/US9471534B2/en active Active
- 2014-10-15 WO PCT/CN2014/088604 patent/WO2015101078A1/en active Application Filing
- 2014-10-15 JP JP2016542942A patent/JP6403782B2/ja active Active
-
2016
- 2016-09-15 US US15/265,847 patent/US10019408B2/en active Active
-
2018
- 2018-07-04 US US16/027,329 patent/US10521393B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US10521393B2 (en) | 2019-12-31 |
US20170004109A1 (en) | 2017-01-05 |
US10019408B2 (en) | 2018-07-10 |
US9471534B2 (en) | 2016-10-18 |
WO2015101078A1 (en) | 2015-07-09 |
JP2017500669A (ja) | 2017-01-05 |
US20180329860A1 (en) | 2018-11-15 |
US20150186331A1 (en) | 2015-07-02 |
US9495325B2 (en) | 2016-11-15 |
US20150186330A1 (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6403782B2 (ja) | リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 | |
JP5479802B2 (ja) | ハイブリッド・コンピューティング環境におけるデータ処理のための方法、装置、およびプログラム | |
WO2019095655A1 (zh) | 一种数据交互方法和计算设备 | |
US9417905B2 (en) | Terminating an accelerator application program in a hybrid computing environment | |
EP4220419B1 (en) | Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests | |
WO2015070640A1 (zh) | 设备远程访问的方法、瘦客户端和虚拟机 | |
WO2017215448A1 (zh) | 跨应用共享数据的方法及网页浏览器 | |
US8301860B2 (en) | Identifying dynamically changing virtual storage devices | |
US20170097879A1 (en) | Synchronous input/output measurement data | |
US11929926B2 (en) | Traffic service threads for large pools of network addresses | |
WO2017095820A1 (en) | Methods and devices for acquiring data using virtual machine and host machine | |
WO2021086693A1 (en) | Management of multiple physical function non-volatile memory devices | |
US10198378B2 (en) | Faster data transfer with simultaneous alternative remote direct memory access communications | |
US10963407B1 (en) | Remote direct memory access based networking gateway | |
US10009424B2 (en) | Synchronous input/output initialization exchange sequences | |
US20110099253A1 (en) | Consolidated notifications to nfs clients | |
US8914456B2 (en) | Consolidated notifications to NFS clients | |
Nothaas et al. | Ibdxnet: Leveraging infiniband in highly concurrent java applications | |
US11853593B2 (en) | Shared memory protection method for securing MMIO commands | |
US11870668B1 (en) | System and method for managing data processing systems and hosted devices | |
CN117472817A (zh) | 数据处理方法、装置、***及网卡 | |
CN116501456A (zh) | 用于利用一致性接口的队列管理的***、方法和设备 | |
JP2014026315A (ja) | 情報処理装置、データ提供方法、及びデータ提供プログラム | |
KR20210108973A (ko) | 입/출력 저장 명령의 처리 | |
CN112084045A (zh) | 处理进程的方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160729 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170815 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180508 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6403782 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |