JP2017500669A - リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 - Google Patents
リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 Download PDFInfo
- Publication number
- JP2017500669A JP2017500669A JP2016542942A JP2016542942A JP2017500669A JP 2017500669 A JP2017500669 A JP 2017500669A JP 2016542942 A JP2016542942 A JP 2016542942A JP 2016542942 A JP2016542942 A JP 2016542942A JP 2017500669 A JP2017500669 A JP 2017500669A
- Authority
- JP
- Japan
- Prior art keywords
- message
- data
- rdma
- messaging hub
- next available
- 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.)
- Granted
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)
Abstract
Description
120:制御部分
130:データ部分
140、280:メッセージ
150:メッセージ・プロデューサ
160:ネットワーク・インターフェース
180:イベント
210:ホスト・サーバ
230:ネットワーク・インターフェース
240:クライアント・コンピューティング・システム
250:アプリケーション
260:メッセージ・モジュール
270:コンピュータ通信ネットワーク
300:RDMA最適化メッセージ処理モジュール
Claims (24)
- メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)最適化プロデューサ・コンシューマ・メッセージ処理のために構成されたデータ処理システムであって、
メモリ及び少なくとも1つのプロセッサを有するホスト・サーバと、
前記ホスト・サーバの前記メモリ内で動作するメッセージング・ハブであって、ネットワーク・インターフェースを通して、コンピュータ通信ネットワーク上のそれぞれ異なるクライアント・コンピューティング・システム内で実行される異なるメッセージ生成アプリケーションへの通信可能な結合を提供する、メッセージング・ハブと、
前記ホスト・サーバの前記メモリ内で実行され、前記メッセージング・ハブに結合されたRDMA最適化メッセージ処理モジュールであって、実行中にイネーブルにされて、データ部分の利用可能な部分へのインデックスを格納する制御部分と、1つ又は複数のデータ部分とを含むように、前記ホスト・サーバの前記メモリの共有領域を初期化し、前記メッセージ生成アプリケーションに前記メモリの前記共有領域のアドレスを伝送し、前記ホスト・サーバの前記ネットワーク・インターフェース上で、RDMA書き込み操作を介して、前記メッセージ生成アプリケーションの1つから、前記メモリの前記共有領域の前記データ部分の1つ内にメッセージを受信し、前記メッセージの受信に応答して、前記共有メモリ領域の前記データ部分の前記1つから前記メッセージを取り出し、前記メッセージング・ハブにおける前記受信したメッセージの処理を指示する、プログラム・コードを含む、RDMA最適化メッセージ処理モジュールと、
を含むシステム。 - 前記メッセージは、前記RDMA書き込み操作によりトリガされるデータ利用可能イベントを検出することに応答して、取り出され、処理される、請求項1に記載のシステム。
- 前記データ部分は等しいサイズのものである、請求項1に記載のシステム。
- 前記データ部分の各々は、前記データ部分が有効状態であるか又は無効状態であるかを示す状態語を含む、請求項1に記載のシステム。
- 前記メッセージは、次の利用可能データ部分の前記状態が有効である場合、前記次の利用可能データ部分に書き込まれず、ひとたび前記次の利用可能データ部分の前記状態が無効になって初めて、前記次の利用可能データ部分に書き込まれる、請求項4に記載のシステム。
- 前記メッセージは、第1に前記メモリの共有領域の前記アドレスから前記制御部分の位置を計算し、第2に前記制御部分の前記位置にRDMA 読み出し追加操作を行って前記制御部分からのインデックス・データを獲得し、第3に前記インデックス・データのモジュロを計算して前記データ部分の次の利用可能な部分の位置をもたらし、第4に前記データ部分の前記次の利用可能な部分に対して前記メッセージのRDMA書き込み操作を行うことによって、前記ネットワーク・インターフェース上でRDMA書き込み操作を介して受信される、請求項1に記載のシステム。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することによって、前記メッセージを処理する、請求項1に記載のシステム。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することなく、前記メッセージを廃棄することによって、前記メッセージを処理する、請求項1に記載のシステム。
- メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)最適化プロデューサ・コンシューマ・メッセージ処理のためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
メッセージング・ハブの動作をホストするホスト・サーバのメモリ内の共有メモリ領域を初期化するためのコンピュータ可読プログラム・コードであって、前記初期化は、データ部分の利用可能な部分へのインデックスを格納する、前記共有メモリ領域の制御部分と、前記共有メモリ領域の1つ又は複数のデータ部分とを提供する、コンピュータ可読プログラム・コードと、
コンピュータ通信ネットワーク上でメッセージ・プロデューサに、前記共有メモリ領域のアドレスを伝送するためのコンピュータ可読プログラム・コードと、
前記ホスト・サーバのネットワーク・インターフェース上で、RDMA書き込み操作を介して、前記メッセージ・プロデューサから、前記共有メモリ領域の前記データ部分の1つにメッセージを受信するためのコンピュータ可読プログラム・コードと、
前記メッセージの受信に応答して、前記共有メモリ領域の前記データ部分の前記1つから前記メッセージを取り出し、前記メッセージング・ハブにおいて前記受信したメッセージを処理するコンピュータ可読プログラム・コードと、
を含む、コンピュータ・プログラム。 - 前記メッセージは、前記RDMA書き込み操作によりトリガされるデータ利用可能イベントを検出することに応答して、取り出され、処理される、請求項9に記載のコンピュータ・プログラム。
- 前記データ部分は等しいサイズのものである、請求項9に記載のコンピュータ・プログラム。
- 前記データ部分の各々は、前記データ部分が有効状態であるか又は無効状態であるかを示す状態語を含む、請求項9に記載のコンピュータ・プログラム。
- 前記メッセージは、次の利用可能データ部分の前記状態が有効である場合、前記次の利用可能データ部分に書き込まれず、ひとたび前記次の利用可能データ部分の前記状態が無効になって初めて、前記次の利用可能データ部分に書き込まれる、請求項12に記載のコンピュータ・プログラム。
- 前記メッセージは、第1に前記メモリの共有領域の前記アドレスから前記制御部分の位置を計算し、第2に前記制御部分の前記位置にRDMA 読み出し追加操作を行って前記制御部分からのインデックス・データを獲得し、第3に前記インデックス・データのモジュロを計算して前記データ部分の次の利用可能な部分の位置をもたらし、第4に前記データ部分の前記次の利用可能な部分に対して前記メッセージのRDMA書き込み操作を行うことによって、前記ネットワーク・インターフェース上でRDMA書き込み操作を介して受信される、請求項9に記載のコンピュータ・プログラム。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することによって、前記メッセージを処理する、請求項9に記載のコンピュータ・プログラム。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することなく、前記メッセージを廃棄することによって、前記メッセージを処理する、請求項9に記載のコンピュータ・プログラム。
- メッセージング・ハブにおけるリモート・ダイレクト・メモリ・アクセス(RDMA)最適化プロデューサ・コンシューマ・メッセージ処理のための方法であって、
メッセージング・ハブの動作をホストするホスト・サーバのメモリ内の共有メモリ領域を初期化することであって、前記初期化は、データ部分の利用可能な部分へのインデックスを格納する、前記共有メモリ領域の制御部分と、前記共有メモリ領域の1つ又は複数のデータ部分とを提供する、初期化することと、
コンピュータ通信ネットワーク上でメッセージ・プロデューサに、前記共有メモリ領域のアドレスを伝送することと、
前記ホスト・サーバのネットワーク・インターフェース上で、RDMA書き込み操作を介して、前記メッセージ・プロデューサから、前記共有メモリ領域の前記データ部分の1つにメッセージを受信することと、
前記メッセージの受信に応答して、前記共有メモリ領域の前記データ部分の前記1つから前記メッセージを取り出し、前記メッセージング・ハブにおいて前記受信したメッセージを処理することと、
を含む、方法。 - 前記メッセージは、前記RDMA書き込み操作によりトリガされるデータ利用可能イベントを検出することに応答して、取り出され、処理される、請求項17に記載の方法。
- 前記データ部分は等しいサイズのものである、請求項17に記載の方法。
- 前記データ部分の各々は、前記データ部分が有効状態であるか又は無効状態であるかを示す状態語を含む、請求項17に記載の方法。
- 前記メッセージは、次の利用可能データ部分の前記状態が有効である場合、前記次の利用可能データ部分に書き込まれず、ひとたび前記次の利用可能データ部分の前記状態が無効になって初めて、前記次の利用可能データ部分に書き込まれる、請求項20に記載の方法。
- 前記メッセージは、第1に前記メモリの共有領域の前記アドレスから前記制御部分の位置を計算し、第2に前記制御部分の前記位置にRDMA 読み出し追加操作を行って前記制御部分からのインデックス・データを獲得し、第3に前記インデックス・データのモジュロを計算して前記データ部分の次の利用可能な部分の位置をもたらし、第4に前記データ部分の前記次の利用可能な部分に対して前記メッセージのRDMA書き込み操作を行うことによって、前記ネットワーク・インターフェース上でRDMA書き込み操作を介して受信される、請求項17に記載の方法。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することによって、前記メッセージを処理する、請求項17に記載の方法。
- 前記メッセージング・ハブは、前記メッセージを1つ又は複数の購読しているメッセージ・コンシューマに転送することなく、前記メッセージを廃棄することによって、前記メッセージを処理する、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/144,537 US9495325B2 (en) | 2013-12-30 | 2013-12-30 | Remote direct memory access (RDMA) high performance producer-consumer message processing |
US14/144,537 | 2013-12-30 | ||
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 true JP2017500669A (ja) | 2017-01-05 |
JP6403782B2 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 (13)
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 | 北京国科天迅科技有限公司 | 消息处理方法、装置、电子设备及介质 |
CN118283114B (zh) * | 2024-06-03 | 2024-10-18 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063060A (ja) * | 2000-06-08 | 2002-02-28 | Hitachi Ltd | 計算機システムおよびそのデータ転送方法 |
JP2013042247A (ja) * | 2011-08-11 | 2013-02-28 | Fujitsu Ltd | 通信装置、通信方法、および通信プログラム |
US20130086183A1 (en) * | 2011-09-30 | 2013-04-04 | Oracle International Corporation | System and method for providing message queues for multinode applications in a middleware machine environment |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP4561800B2 (ja) * | 2007-09-25 | 2010-10-13 | 沖電気工業株式会社 | データ同期システム及び方法 |
US20090083392A1 (en) * | 2007-09-25 | 2009-03-26 | Sun Microsystems, Inc. | Simple, efficient rdma mechanism |
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 |
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 |
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 JP JP2016542942A patent/JP6403782B2/ja active Active
- 2014-10-15 WO PCT/CN2014/088604 patent/WO2015101078A1/en active Application Filing
-
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
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063060A (ja) * | 2000-06-08 | 2002-02-28 | Hitachi Ltd | 計算機システムおよびそのデータ転送方法 |
JP2013042247A (ja) * | 2011-08-11 | 2013-02-28 | Fujitsu Ltd | 通信装置、通信方法、および通信プログラム |
US20130086183A1 (en) * | 2011-09-30 | 2013-04-04 | Oracle International Corporation | System and method for providing message queues for multinode applications in a middleware machine environment |
Also Published As
Publication number | Publication date |
---|---|
US9471534B2 (en) | 2016-10-18 |
US20170004109A1 (en) | 2017-01-05 |
US10019408B2 (en) | 2018-07-10 |
US10521393B2 (en) | 2019-12-31 |
US20150186331A1 (en) | 2015-07-02 |
US20180329860A1 (en) | 2018-11-15 |
WO2015101078A1 (en) | 2015-07-09 |
US9495325B2 (en) | 2016-11-15 |
US20150186330A1 (en) | 2015-07-02 |
JP6403782B2 (ja) | 2018-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6403782B2 (ja) | リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理 | |
JP5479802B2 (ja) | ハイブリッド・コンピューティング環境におけるデータ処理のための方法、装置、およびプログラム | |
WO2019095655A1 (zh) | 一种数据交互方法和计算设备 | |
Kalia et al. | Using RDMA efficiently for key-value services | |
US9417905B2 (en) | Terminating an accelerator application program in a hybrid computing environment | |
WO2015070640A1 (zh) | 设备远程访问的方法、瘦客户端和虚拟机 | |
US10114723B2 (en) | Synchronous input/output measurement data | |
EP4052126A1 (en) | Management of multiple physical function non-volatile memory devices | |
US20230188464A1 (en) | Traffic service threads for large pools of network addresses | |
WO2017095820A1 (en) | Methods and devices for acquiring data using virtual machine and host machine | |
KR20210108973A (ko) | 입/출력 저장 명령의 처리 | |
US9448827B1 (en) | Stub domain for request servicing | |
WO2014056329A1 (zh) | 内存数据的推送方法及装置 | |
EP3542519A1 (en) | Faster data transfer with remote direct memory access communications | |
WO2019109922A1 (zh) | 资源处理方法及系统、存储介质、电子设备 | |
US10133691B2 (en) | Synchronous input/output (I/O) cache line padding | |
US10009423B2 (en) | Synchronous input/output initialization exchange sequences | |
US11940917B2 (en) | System and method for network interface controller based distributed cache | |
US8095628B2 (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 | |
JP2014026315A (ja) | 情報処理装置、データ提供方法、及びデータ提供プログラム | |
US11870668B1 (en) | System and method for managing data processing systems and hosted devices | |
US20240311442A1 (en) | System and method for managing data processing systems and hosted devices |
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 |