JP5225010B2 - プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 - Google Patents
プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 Download PDFInfo
- Publication number
- JP5225010B2 JP5225010B2 JP2008265180A JP2008265180A JP5225010B2 JP 5225010 B2 JP5225010 B2 JP 5225010B2 JP 2008265180 A JP2008265180 A JP 2008265180A JP 2008265180 A JP2008265180 A JP 2008265180A JP 5225010 B2 JP5225010 B2 JP 5225010B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- processor
- data
- shared memory
- cache
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- 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
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Description
本発明の一実施形態として、TCP/IP以下の下位層の通信処理を通信オフロード用プロセッサで処理し、アプリケーション用プロセッサの負担を軽減する通信オフロードシステムについて説明する。
転送情報書き込みステップS206において、アプリケーション用プロセッサ101は、共有メモリ103内の非キャッシュ領域である転送情報領域に領域Aと前記分割データ領域および付加情報領域を特定することができる転送情報を書き込む。キャッシュ追い出しステップS207において、アプリケーション用プロセッサ101は、キャッシュメモリ104から領域Aと分割データ領域のデータを共有メモリ103の転送データ領域に書き込む。通知ステップS208において、アプリケーション用プロセッサ101は、通信オフロード用プロセッサ102へ割り込み信号を発行し、転送準備が完了したことを通知する。ブロッキングステップS209において、アプリケーション用プロセッサ101は、SENDをコールしたタスクをブロッキングする。
転送情報書き込みステップS306において、アプリケーション用プロセッサ101は、共有メモリ103内の非キャッシュ領域である転送情報領域に領域Aと分割データ領域および付加情報領域を特定することができる転送情報を書き込む。キャッシュ追い出しステップS307において、アプリケーション用プロセッサ101は、キャッシュメモリ104の領域Aと分割データ領域のキャッシングしているデータを共有メモリ103へ書き戻す(または、キャッシングしているデータを破棄する)。第1の通知ステップS308において、アプリケーション用プロセッサ101は、通信オフロード用プロセッサ102へ割り込み信号を発行する。ブロッキングステップS309において、アプリケーション用プロセッサ101は、RECVをコールしたタスクをブロッキングする。
2 外部の通信装置
101 アプリケーション用プロセッサ
102 通信オフロード用プロセッサ
103 共有メモリ
104 アプリケーション用プロセッサのキャッシュメモリ
105 通信オフロード用プロセッサのキャッシュメモリ
106 割り込み信号の制御回路
107 ユーザインタフェイス
108 通信インタフェイス
Claims (20)
- 第1のキャッシュメモリを備えた第1のプロセッサと第2のキャッシュメモリを備えた第2のプロセッサとの間で共有メモリを介して通信するプロセッサ間通信方法であって、
前記第1のプロセッサは、
前記第2のプロセッサとの間で転送するデータを記憶する前記共有メモリにおける転送データ領域を、前記第1のキャッシュメモリの1キャッシュラインの全てが当該データで満たされる第1領域と、満たされない第2領域とに分類し、
前記第1のキャッシュメモリの1キャッシュライン分が確保された前記共有メモリにおける分割データ領域に、前記第2領域のデータがコピーされるようにし、
前記第2のプロセッサは、
前記分割データ領域のデータを前記第2のデータ領域のデータとして扱い、前記第1のデータ領域のデータと共に、前記第1のプロセッサからのデータとして処理を行うことを特徴とするプロセッサ間通信方法。 - 前記第1のプロセッサは、前記共有メモリと前記第1のキャッシュメモリのキャッシュラインとを解析し、前記転送データ領域を前記第1領域と前記第2領域に分類することを特徴とする請求項1に記載のプロセッサ間通信方法。
- 前記第1のプロセッサは、前記共有メモリの所定領域に、前記第1領域と前記分割データ領域とを特定するための情報を書き込み、
前記第2のプロセッサは、前記情報に基づいて、前記第1領域のデータと前記分割データ領域のデータに対応する前記第2のキャッシュメモリの領域を無効化することを特徴とする請求項1又は請求項2に記載のプロセッサ間通信方法。 - 前記所定領域は、前記第1のプロセッサにおける非キャッシュ領域であることを特徴とする請求項3に記載のプロセッサ間通信方法。
- 前記第2領域は前記転送データ領域の先頭を含む領域、最後を含む領域のどちらかまたは両方であることを特徴とする請求項1乃至請求項4の何れか1項に記載のプロセッサ間通信方法。
- 前記分割データ領域への前記第2領域のデータのコピーの後に、前記第1のプロセッサは、前記共有メモリの前記第1領域と前記分割データ領域に対応する前記第1のキャッシュメモリの領域のデータを前記共有メモリへ追い出すことを特徴とする請求項1乃至請求項5の何れか1項に記載のプロセッサ間通信方法。
- 前記第2のプロセッサは、前記第1のプロセッサから転送準備の完了の通知を受けてから、前記共有メモリの読出しを行うことを特徴とする請求項1乃至請求項6の何れか1項に記載のプロセッサ間通信方法。
- 前記通知は、前記第2のプロセッサに割り込み信号を送ることにより行われることを特徴とする請求項7に記載のプロセッサ間通信方法。
- 前記通知は、前記第1のプロセッサから書き込み可能であり、前記第2のプロセッサから参照可能であるレジスタを前記第1のプロセッサが所定値に変更し、
前記第2のプロセッサが、前記レジスタが所定値に変更されたことを検知することにより行われることを特徴とする請求項7に記載のプロセッサ間通信方法。 - 前記通知は、前記第1のプロセッサが、前記共有メモリの特定の領域を所定値に変更し、
前記第2のプロセッサが、前記共有メモリの前記特定の領域が前記所定値に変更されたことを検知することにより行われることを特徴とする請求項7に記載のプロセッサ間通信方法。 - 第1のキャッシュメモリを備えた第1のプロセッサと第2のキャッシュメモリを備えた第2のプロセッサとの間で共有メモリを介して通信するプロセッサ間通信方法であって、
前記第1のプロセッサは、
前記第2のプロセッサとの間で転送するデータを記憶する前記共有メモリにおける転送データ領域を、前記第1のキャッシュメモリの1キャッシュラインの全てが当該データで満たされる第1領域と、満たされない第2領域とに分類し、
前記第1のキャッシュメモリの1キャッシュライン分が確保された分割データ領域を前記共有メモリに確保し、
前記第2のプロセッサは、
前記第1のプロセッサとの間で転送するデータを前記共有メモリにおける前記第1領域と前記分割データ領域に書き込まれるようにし、
前記第1のプロセッサは、
前記分割データ領域のデータを前記第2のデータ領域のデータとして扱い、前記第1のデータ領域のデータと共に、前記第2のプロセッサからのデータとして処理を行うことを特徴とするプロセッサ間通信方法。 - 前記第1のプロセッサが読み出した前記共有メモリの前記分割データ領域のデータを、前記共有メモリの第2領域に対応する領域にコピーし、前記共有メモリの第1領域と第2領域のデータを前記第2のプロセッサからのデータとして処理することを特徴とする請求項11に記載のプロセッサ間通信方法。
- 前記第1のプロセッサは、前記共有メモリと前記第1のキャッシュメモリのキャッシュラインとを解析し、前記転送データ領域を前記第1領域と前記第2領域に分類することを特徴とする請求項12に記載のプロセッサ間通信方法。
- 前記第1のプロセッサは、前記分割データ領域を確保した後に、前記共有メモリの第1領域と分割データ領域に対応する前記第1のキャッシュメモリの領域のデータを前記共有メモリに追い出すか、無効化することを特徴とする請求項11乃至請求項13の何れか1項に記載のプロセッサ間通信方法。
- 前記第1のプロセッサは、前記共有メモリの所定領域に、前記第1領域と前記分割データ領域とを特定するための情報を書き込み、
前記第2のプロセッサは、前記情報に基いて、前記共有メモリにデータを書き込むことを特徴とする請求項11乃至請求項14の何れか1項に記載のプロセッサ間通信方法。 - 前記第2のプロセッサは、他の通信装置からのデータ受信処理を行う前に、前記共有メモリの第1領域と分割データ領域に対応する前記第2のキャッシュメモリの領域を無効化することを特徴とする請求項15に記載のプロセッサ間通信方法。
- 前記所定領域は、前記第1のプロセッサにおける非キャッシュ領域であることを特徴とする請求項15に記載のプロセッサ間通信方法。
- 前記第2領域は前記転送データ領域の先頭を含む領域、最後を含む領域のどちらかまたは両方であることを特徴とする請求項11乃至請求項17の何れか1項に記載のプロセッサ間通信方法。
- 第1のキャッシュメモリを備えた第1のプロセッサと第2のキャッシュメモリを備えた第2のプロセッサとの間で共有メモリを介して通信するマルチプロセッサシステムであって、
前記第1のプロセッサは、
前記第2のプロセッサとの間で転送するデータを記憶する前記共有メモリにおける転送データ領域を、前記第1のキャッシュメモリの1キャッシュラインの全てが当該データを満たされる第1領域と、満たされない第2領域とに分類する分類手段と、
前記第1のキャッシュメモリの1キャッシュライン分が確保された前記共有メモリにおける分割データ領域に、前記第2領域のデータがコピーされるようにするコピー手段と、を有し、
前記第2のプロセッサは、
前記分割データ領域のデータを前記第2のデータ領域のデータとして扱い、前記第1のデータ領域のデータと共に、前記第1のプロセッサからのデータとして処理する処理手段とを有することを特徴とするマルチプロセッサシステム。 - 第1のキャッシュメモリを備えた第1のプロセッサと第2のキャッシュメモリを備えた第2のプロセッサとの間で共有メモリを介して通信するマルチプロセッサシステムであって、
前記第1のプロセッサは、
前記第2のプロセッサとの間で転送するデータを記憶する前記共有メモリにおける転送データ領域を、前記第1のキャッシュメモリの1キャッシュラインの全てが当該データで満たされる第1領域と、満たされない第2領域とに分類する分類手段と、
前記第1のキャッシュメモリの1キャッシュライン分が確保された分割データ領域を前記共有メモリに確保する確保手段とを有し、
前記第2のプロセッサは、
前記第1のプロセッサとの間で転送するデータを前記共有メモリにおける前記第1領域と前記分割データ領域に書き込まれるようにする書込手段を有し、
前記第1のプロセッサは、
前記分割データ領域のデータを前記第2のデータ領域のデータとして扱い、前記第1のデータ領域のデータと共に、前記第2のプロセッサからのデータとして処理を行うことを特徴とするマルチプロセッサシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265180A JP5225010B2 (ja) | 2008-10-14 | 2008-10-14 | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
US12/577,594 US8504781B2 (en) | 2008-10-14 | 2009-10-12 | Methods and systems for inter-processor communication under a multiprocessor environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265180A JP5225010B2 (ja) | 2008-10-14 | 2008-10-14 | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010097252A JP2010097252A (ja) | 2010-04-30 |
JP5225010B2 true JP5225010B2 (ja) | 2013-07-03 |
Family
ID=42099938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008265180A Expired - Fee Related JP5225010B2 (ja) | 2008-10-14 | 2008-10-14 | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8504781B2 (ja) |
JP (1) | JP5225010B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9344335B2 (en) * | 2011-09-09 | 2016-05-17 | Microsoft Technology Licensing, Llc | Network communication and cost awareness |
KR102011137B1 (ko) * | 2012-12-07 | 2019-08-14 | 삼성전자주식회사 | 데이터 처리 장치와 회로 |
US9998536B2 (en) | 2013-05-29 | 2018-06-12 | Microsoft Technology Licensing, Llc | Metered network synchronization |
CN105183570A (zh) * | 2015-09-22 | 2015-12-23 | 上海斐讯数据通信技术有限公司 | 向核心进程发送大量qinq配置数据的***及其方法 |
CN109726017B (zh) * | 2017-10-30 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种应用程序之间共享缓存的方法及装置 |
US10559057B2 (en) * | 2018-09-27 | 2020-02-11 | Intel Corporation | Methods and apparatus to emulate graphics processing unit instructions |
US11204819B2 (en) | 2018-12-21 | 2021-12-21 | Samsung Electronics Co., Ltd. | System and method for offloading application functions to a device |
EP3941122A4 (en) * | 2019-03-11 | 2022-03-02 | Spreadtrum Communications (Shanghai) Co., Ltd. | DATA SENDING METHOD, TERMINAL DEVICE, AND STORAGE MEDIA |
KR102148448B1 (ko) * | 2019-08-08 | 2020-08-26 | 삼성전자주식회사 | 데이터 처리 장치와 회로 |
CN115119048B (zh) * | 2019-08-10 | 2024-02-23 | 荣耀终端有限公司 | 一种视频流处理方法及电子设备 |
JP7387335B2 (ja) * | 2019-08-28 | 2023-11-28 | キヤノン株式会社 | 通信装置、制御方法およびプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2778913B2 (ja) * | 1994-04-26 | 1998-07-23 | 株式会社東芝 | マルチプロセッサシステム及びメモリアロケーション方法 |
JP2953343B2 (ja) | 1995-04-29 | 1999-09-27 | 日本電気株式会社 | 分散メモリ型マルチプロセッサのキャッシュ制御システム |
JPH11238047A (ja) * | 1998-02-20 | 1999-08-31 | Nec Corp | 分散共有メモリシステム及びプログラムを記録した機械読み取り可能な記録媒体 |
JP3858492B2 (ja) | 1998-12-28 | 2006-12-13 | 株式会社日立製作所 | マルチプロセッサシステム |
US6971103B2 (en) * | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US8190796B2 (en) * | 2004-11-02 | 2012-05-29 | Standard Microsystems Corporation | Hardware supported peripheral component memory alignment method |
US20070143546A1 (en) * | 2005-12-21 | 2007-06-21 | Intel Corporation | Partitioned shared cache |
US7650471B2 (en) * | 2006-01-06 | 2010-01-19 | Hewlett-Packard Development Company, L.P. | Head of queue cache for communication interfaces |
US8095736B2 (en) * | 2008-02-25 | 2012-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures |
-
2008
- 2008-10-14 JP JP2008265180A patent/JP5225010B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-12 US US12/577,594 patent/US8504781B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010097252A (ja) | 2010-04-30 |
US20100095072A1 (en) | 2010-04-15 |
US8504781B2 (en) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5225010B2 (ja) | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 | |
EP3796179A1 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
KR102164223B1 (ko) | 메시지 다이제스트들을 계산하기 위한 시스템 및 방법 | |
US8423720B2 (en) | Computer system, method, cache controller and computer program for caching I/O requests | |
CN101178691B (zh) | 实施高速缓存一致性的***和方法 | |
TW542958B (en) | A method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system | |
US20080005484A1 (en) | Cache coherency controller management | |
TW200534110A (en) | A method for supporting improved burst transfers on a coherent bus | |
KR20010101193A (ko) | 판독 요청을 원격 처리 노드에 추론적으로 전송하는비정형 메모리 액세스 데이터 처리 시스템 | |
US7089362B2 (en) | Cache memory eviction policy for combining write transactions | |
JP3320312B2 (ja) | ディレクトリ・ベースのキャッシュ・コヒーレンス・プロトコルによるマルチプロセッサのための無効バス最適化 | |
US9372798B2 (en) | Data processing apparatus having first and second protocol domains, and method for the data processing apparatus | |
US20080052463A1 (en) | Method and apparatus to implement cache-coherent network interfaces | |
US6842828B2 (en) | Methods and arrangements to enhance an upbound path | |
GB2390710A (en) | Data maintenance of a distributed shared memory system | |
JP2005044342A5 (ja) | ||
JP2006260159A (ja) | 情報処理装置、情報処理装置におけるデータ制御方法 | |
EP1739561A1 (fr) | Cohérence de cache dans un système multiprocesseurs à mémoire partagée | |
US6862646B2 (en) | Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain | |
JP2015128207A (ja) | 画像読取装置、画像読取方法及びプログラム | |
US10318424B2 (en) | Information processing device | |
US7082501B2 (en) | Remote node accessing local memory by using distributed shared memory | |
US6976129B2 (en) | Mechanism for handling I/O transactions with known transaction length to coherent memory in a cache coherent multi-node architecture | |
US6601147B1 (en) | Computer system and method for maintaining an integrated shared buffer memory in a group of interconnected hosts | |
JP2005301714A (ja) | マルチcpuシステム、そのデータ転送方法、及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100201 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121203 |
|
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: 20130212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160322 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |