JP2016501414A5 - - Google Patents

Download PDF

Info

Publication number
JP2016501414A5
JP2016501414A5 JP2015546462A JP2015546462A JP2016501414A5 JP 2016501414 A5 JP2016501414 A5 JP 2016501414A5 JP 2015546462 A JP2015546462 A JP 2015546462A JP 2015546462 A JP2015546462 A JP 2015546462A JP 2016501414 A5 JP2016501414 A5 JP 2016501414A5
Authority
JP
Japan
Prior art keywords
synchronization
controller
processor
processors
response
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
Application number
JP2015546462A
Other languages
English (en)
Other versions
JP6317365B2 (ja
JP2016501414A (ja
Filing date
Publication date
Application filed filed Critical
Priority claimed from PCT/US2013/064366 external-priority patent/WO2014088698A2/en
Publication of JP2016501414A publication Critical patent/JP2016501414A/ja
Publication of JP2016501414A5 publication Critical patent/JP2016501414A5/ja
Application granted granted Critical
Publication of JP6317365B2 publication Critical patent/JP6317365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. 複数のプロセッサであって、前記複数のプロセッサの各プロセッサは、複数のプロセッサポートおよび1つの同期アダプタを備え、前記同期アダプタが複数のアダプタポートを備える、プロセッサと;
    複数のコントローラであって、前記複数のコントローラの各コントローラは、複数のコントローラポートを備え、前記複数のコントローラポートの各コントローラポートは、前記複数のプロセッサの隣接するプロセッサのアダプタポートに接続している、コントローラと;
    を備えるシステムであって、
    前記複数のプロセッサの各プロセッサは、
    選択的に、1つ以上のアダプタポートを介して同期信号を前記複数のコントローラのそれぞれの1つ以上のコントローラに送信し;
    1つ以上のコントローラからの応答に応じてプログラム命令の実行を停止する;
    ように設定され、
    前記複数のコントローラの各コントローラは、
    前記複数のプロセッサのそれぞれの1つ以上のプロセッサから1つ以上の同期信号を受信し;
    前記受信した1つ以上の同期信号に応じて前記複数のプロセッサの前記それぞれの1つ以上のプロセッサの各々に応答を送信するように設定される、システム。
  2. 前記複数のコントローラの各コントローラは、1つ以上の設定データビットを受信するように設定された設定ポートを備える、請求項1に記載のシステム。
  3. 前記それぞれの1つ以上のプロセッサの各々に前記応答を送信するために、前記複数のコントローラの各コントローラは、さらに、前記1つ以上の設定データビットに応じて前記それぞれの1つ以上のプロセッサに前記応答を送信するように設定される、請求項2に記載のシステム。
  4. 前記複数のコントローラの各コントローラは、レジスタを備える、請求項1に記載のシステム。
  5. 前記複数のコントローラの各コントローラに対する前記1つ以上の設定ビットは、各コントローラの前記レジスタに格納される、請求項4に記載のシステム。
  6. マルチプロセッサシステムを動作させるための方法であって、前記マルチプロセッサシステムは、複数のプロセッサおよび複数の同期コントローラを備え、前記複数のプロセッサの各プロセッサは、同期アダプタを備え、前記方法は:
    1つ以上のグループのプロセッサの各グループに対して設定データおよびソフトウェアを設計することであって、前記1つ以上のグループのプロセッサの各グループは、前記複数のプロセッサのサブセットを備え、前記設定データおよび前記ソフトウェアを設計することが:
    前記1つ以上のグループのプロセッサの所与のグループを特定し、前記所与のグループの各プロセッサの前記ソフトウェア内に少なくとも1つの場所を特定して、同期バリアを挿入すること;
    前記所与のグループの各プロセッサの各同期アダプタに接続している、前記複数の同期コントローラのうちの1つの同期コントローラを特定すること;
    前記特定した同期コントローラに接続している各同期アダプタに向かう方向に応じて、前記特定した同期コントローラに対する設定データを決定し、前記設定データは、前記特定した同期コントローラと、前記所与のグループの選択されたプロセッサの前記同期アダプタとの間で複数の同期信号を伝送することを可能にすること;および
    前記所与のグループの各プロセッサに対して、前記ソフトウェア内で前記特定した場所の各々に同期バリアを挿入し、各同期バリアは一連の1つ以上の同期命令を含み、各同期命令は1つ以上の引数を含み、前記1つ以上の引数の各引数は、前記所与のグループの各プロセッサの前記同期アダプタから、前記特定した同期コントローラの1つ以上の方向のうちの所与の1つを指定すること
    を含むように設計することと;
    前記設計した設定データおよびソフトウェアを前記マルチプロセッサシステムにロードすることと;
    前記ロードしたソフトウェアを実行することと;
    前記挿入した同期命令の所与の1つを実行している前記所与のグループの各プロセッサに応答して、前記所与のグループの各プロセッサの実行を停止することと;
    前記所与のグループが前記挿入した同期命令の1つ1つを全プロセッサが実行したかどうかという判断に応答して、前記所与のグループの各プロセッサの実行を再開することとを含む、方法。
  7. 前記判断した設定データは、複数の設定データビットを備え、前記複数の設定データビットのそれぞれの組み合わせに対応する各データパターンは、前記特定した同期コントローラに接続しているプロセッサの前記所与のグループの所与のプロセッサの前記同期アダプタへ向かう方向に一致する、請求項6に記載の方法。
  8. 設定データを前記マルチプロセッサシステムにロードすることは、前記複数の設定データビットを前記特定した同期コントローラのレジスタに格納することを含む、請求項7に記載の方法。
  9. 前記所与のグループの各プロセッサの実行を再開することは、前記特定した同期コントローラによって停止信号をデアサートすることを含む、請求項6に記載の方法。
  10. 前記所与のグループの各プロセッサの実行を停止することは、前記所与のグループの各プロセッサの前記同期アダプタによって同期リクエスト信号をアサートすることを含む、請求項6に記載の方法。
  11. 同期コントローラであって:
    複数の設定ビットを格納するように設定されたレジスタであって、前記複数の設定ビットは、複数のデータパターンを符号化し、前記複数のデータパターンの各データパターンは、接続した方向の複数のサブセットの所与の1つに一致する、レジスタと;
    1つ以上の論理回路であって、前記1つ以上の論理回路の各論理回路は:
    1つ以上の同期リクエスト信号を受信し;
    前記受信した1つ以上の同期リクエストおよび前記複数のデータパターンの対応するデータパターンに応じて、少なくとも1つのプロセッサに対する停止信号を生成し、前記少なくとも1つのプロセッサは、接続した方向の前記複数のサブセットの対応する1つの所与の方向で同期コントローラに接続される
    ように設定される、論理回路とを備える、同期コントローラ。
  12. 1つ以上の入力の各入力は、ラッチを含む、請求項11に記載の同期コントローラ。
  13. 前記受信した1つ以上の同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、接続した方向の前記複数のサブセットのうちの対応する1つの方向に対応する1つ以上の停止信号を生成するように設定される、請求項11に記載の同期コントローラ。
  14. 前記受信した同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、前記受信した同期信号のうちの選択した1つのアサートに応答して前記停止信号を生成するように設定され、前記受信した同期信号のうちの前記選択した1つは、前記複数のデータパターンの前記対応するデータパターンの方向に対応する、請求項11に記載の同期コントローラ。
  15. 前記受信した同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、前記残りの受信した同期信号がアサートされていないという判断に応答して前記停止信号を生成するように設定される、請求項14に記載の同期コントローラ。
JP2015546462A 2012-12-06 2013-10-10 同期命令を含む処理システム Active JP6317365B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261734190P 2012-12-06 2012-12-06
US61/734,190 2012-12-06
PCT/US2013/064366 WO2014088698A2 (en) 2012-12-06 2013-10-10 Processing system with synchronization instruction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018063728A Division JP6574865B2 (ja) 2012-12-06 2018-03-29 同期命令を含む処理システム

Publications (3)

Publication Number Publication Date
JP2016501414A JP2016501414A (ja) 2016-01-18
JP2016501414A5 true JP2016501414A5 (ja) 2016-11-17
JP6317365B2 JP6317365B2 (ja) 2018-04-25

Family

ID=49517643

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015546462A Active JP6317365B2 (ja) 2012-12-06 2013-10-10 同期命令を含む処理システム
JP2018063728A Active JP6574865B2 (ja) 2012-12-06 2018-03-29 同期命令を含む処理システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018063728A Active JP6574865B2 (ja) 2012-12-06 2018-03-29 同期命令を含む処理システム

Country Status (5)

Country Link
US (2) US9323714B2 (ja)
EP (1) EP2929434B1 (ja)
JP (2) JP6317365B2 (ja)
CN (1) CN104823164B (ja)
WO (1) WO2014088698A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104919442B (zh) * 2012-12-13 2017-10-10 相干逻辑公司 具有改进的辅互连网络的多处理器系统
US9760410B2 (en) * 2014-12-12 2017-09-12 Intel Corporation Technologies for fast synchronization barriers for many-core processing
US20160301634A1 (en) * 2015-04-11 2016-10-13 International Business Machines Corporation Controlling a delivery of messages to designated computing devices
US10216430B2 (en) * 2015-07-01 2019-02-26 Cavium, Llc Local ordering of instructions in a computing system
DE102015221064A1 (de) * 2015-10-28 2017-05-04 Robert Bosch Gmbh Anordnung aus wenigstens zwei Mikrocontrollern und Verfahren zur Herstellung einer solchen Anordnung
US9910716B2 (en) * 2016-03-11 2018-03-06 Knuedge Incorporated Synchronization in a multi-processor computing system
US20170364473A1 (en) * 2016-03-31 2017-12-21 Wave Computing, Inc. Program counter alignment across a reconfigurable hum fabric
US10783165B2 (en) 2017-05-17 2020-09-22 International Business Machines Corporation Synchronizing multiple devices
GB201717295D0 (en) * 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
US11795753B1 (en) * 2018-04-25 2023-10-24 Gmi Holdings, Inc. Remote monitoring and control of garage door opener incorporating jackshaft door operator drive assembly
EP3828698B1 (en) * 2019-04-04 2022-07-20 Cambricon Technologies Corporation Limited Data processing method and apparatus, and related product
CN112306945B (zh) * 2019-07-30 2023-05-12 安徽寒武纪信息科技有限公司 数据同步方法及装置以及相关产品
CN112130898A (zh) * 2019-06-24 2020-12-25 华为技术有限公司 一种插入同步指令的方法及装置
GB2597078B (en) * 2020-07-14 2022-07-13 Graphcore Ltd Communication between host and accelerator over network
CN112559054B (zh) * 2020-12-22 2022-02-01 上海壁仞智能科技有限公司 用于同步指令的方法和计算系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
JPH02264352A (ja) * 1989-04-05 1990-10-29 Hitachi Ltd マルチプロセッサ同期方式
US5345578A (en) * 1989-06-30 1994-09-06 Digital Equipment Corporation Competitive snoopy caching for large-scale multiprocessors
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5434995A (en) 1993-12-10 1995-07-18 Cray Research, Inc. Barrier synchronization for distributed memory massively parallel processing systems
JP2780623B2 (ja) * 1993-12-28 1998-07-30 日本電気株式会社 情報処理装置
AU1974795A (en) * 1994-03-03 1995-09-18 Proxim, Inc. Frequency hopping medium access control protocol
US5721921A (en) 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US7013454B2 (en) * 1999-02-22 2006-03-14 Sun Microsystems, Inc. Thread suspension system and method using trapping instructions
US6687756B1 (en) * 2000-05-25 2004-02-03 International Business Machines Corporation Switched-based time synchronization protocol for a NUMA system
US7415594B2 (en) 2002-06-26 2008-08-19 Coherent Logix, Incorporated Processing system with interspersed stall propagating processors and communication elements
US20040034858A1 (en) * 2002-08-14 2004-02-19 Kushlis Robert J. Programming a multi-threaded processor
US7810093B2 (en) * 2003-11-14 2010-10-05 Lawrence Livermore National Security, Llc Parallel-aware, dedicated job co-scheduling within/across symmetric multiprocessing nodes
US7398403B2 (en) * 2004-07-01 2008-07-08 Matsushita Electric Industrial Co., Ltd. Multiprocessor control apparatus, control method thereof, and integrated circuit
WO2006046482A1 (ja) * 2004-10-27 2006-05-04 Matsushita Electric Industrial Co., Ltd. マルチプロセッサシステム、同期制御装置及び同期制御方法
US7925791B2 (en) * 2006-07-17 2011-04-12 The Math Works, Inc. Recoverable error detection for concurrent computing programs
US20090327354A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Notification and synchronization of updated data
CN101634979B (zh) * 2008-07-22 2011-09-07 中国科学院计算技术研究所 一种满足SystemC语法的多核处理器
CN100568247C (zh) * 2008-07-22 2009-12-09 中国科学院计算技术研究所 一种满足systemC语法的多核处理器的事件处理单元组
US8483196B2 (en) * 2010-03-12 2013-07-09 Qualcomm Incorporated Methods and apparatus for supporting synchronization between groups of devices
WO2012051577A1 (en) * 2010-10-15 2012-04-19 Coherent Logix, Incorporated Disabling communication in a multiprocessor system
CN102200961B (zh) * 2011-05-27 2013-05-22 清华大学 一种动态可重构处理器内子单元的扩展方法
CN104813306B (zh) * 2012-11-21 2017-07-04 相干逻辑公司 具有散布处理器dma‑fifo的处理系统
WO2014093862A1 (en) * 2012-12-13 2014-06-19 Coherent Logix, Incorporated Reconfiguration of clock generation circuitry

Similar Documents

Publication Publication Date Title
JP2016501414A5 (ja)
GB2517877A (en) Controlling an order for processing data elements during vector processing
EP3186713B1 (en) Routing direct memory access requests in a virtualized computing environment
JP2016526220A5 (ja)
JP2015118468A5 (ja)
MY191841A (en) Processor with reconfigurable pipelined core and algorithmic compiler
JP2015522196A5 (ja)
JP2013235576A5 (ja)
RU2015151132A (ru) Команды, процессоры, способы и системы доступа множественных регистров к памяти
MX2016012531A (es) Area de control para gestionar multiples subprocesos en una computadora.
GB2520856A (en) Enabling Virtualization of a processor resource
JP2018518773A5 (ja)
GB2539600A (en) Exiting multiple threads in a computer
CN103870350A (zh) 一种基于watchdog的微处理器多核加固方法
JP2017045199A5 (ja) 情報処理装置
JP2017153683A5 (ja)
US10581973B2 (en) Computer system and bus arbitration method
JP2010146117A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US10776139B2 (en) Simulation apparatus, simulation method, and computer readable medium
US20170357705A1 (en) Performing a synchronization operation on an electronic device
JP2015184935A (ja) I2cバスの調停システムおよび調停方法
KR102531567B1 (ko) 데드락 회피 방법 및 시스템
US20240176616A1 (en) Processor and method of controlling processor
CN102521199A (zh) 一种基于numa的物理多分区计算机体系结构的时序控制方法
US10120737B2 (en) Apparatus for detecting bugs in logic-based processing devices