IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キューブロックス・ベー・フェーの特許一覧

特表2024-505262量子コンピュータのためのデータ処理装置のネットワークを制御すること
<>
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図1
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図2
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図3
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図4
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図5
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図6
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図7
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図8
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図9A
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図9B
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図10
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図11A
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図11B
  • 特表-量子コンピュータのためのデータ処理装置のネットワークを制御すること 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-05
(54)【発明の名称】量子コンピュータのためのデータ処理装置のネットワークを制御すること
(51)【国際特許分類】
   H04L 7/00 20060101AFI20240129BHJP
【FI】
H04L7/00 410
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023546537
(86)(22)【出願日】2022-02-03
(85)【翻訳文提出日】2023-09-13
(86)【国際出願番号】 NL2022050053
(87)【国際公開番号】W WO2022169360
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】2027492
(32)【優先日】2021-02-03
(33)【優先権主張国・地域又は機関】NL
(81)【指定国・地域】
(71)【出願人】
【識別番号】523290517
【氏名又は名称】キューブロックス・ベー・フェー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジュール・クリスティアーン・ファン・オフェン
(72)【発明者】
【氏名】ヨルディ・マリヌス・ヨゼーヒュス・グローデマンス
(72)【発明者】
【氏名】コーネリス・クリスティアーン・ブルティンク
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA08
5K047JJ08
(57)【要約】
データ処理装置の階層ネットワーク、好ましくはスターネットワークにおけるデータ送信を制御するための方法であって、データ処理装置がコントローラ、例えば量子コントローラおよびディストリビュータを含み、本方法が、ディストリビュータによって、ネットワーク内のデータ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、ディストリビュータによって、ディストリビュータのクロックがコントローラのクロックと同期されるように、基準クロック信号に基づいてディストリビュータのクロックを同期させるステップと、ディストリビュータによって、送信されるデータメッセージがコントローラに同時に到着するようにコントローラの少なくとも一部へのデータメッセージの時間遅延送信を制御し、時間遅延送信が、ディストリビュータとコントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、ステップとを含む。
【特許請求の範囲】
【請求項1】
データ処理装置の階層ネットワークにおけるデータ送信を制御するための方法であって、前記データ処理装置が、量子コンピュータの量子素子を制御するための量子コントローラおよび前記量子コントローラに通信的に接続されるディストリビュータを含み、前記量子コントローラの各々が、前記量子コンピュータにアナログ信号を送るようにおよび前記量子コンピュータから受信されるアナログ信号を処理するように構成され、前記方法が、
前記ディストリビュータによって、前記ネットワーク内の前記データ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、
前記ディストリビュータによって、前記ディストリビュータのクロックが前記ネットワーク内の他のデータ処理装置のクロックと同期されるように、前記基準クロック信号に基づいて前記ディストリビュータの前記クロックを同期させるステップと、
前記ディストリビュータによって、同じクロックサイクル内で前記ディストリビュータによって送信されるデータメッセージが前記量子コントローラの少なくとも一部に到着するように前記量子コントローラへの前記データメッセージの時間遅延送信を制御し、前記ディストリビュータによる前記時間遅延送信が、前記ディストリビュータと前記量子コントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、ステップとを含む、方法。
【請求項2】
前記ディストリビュータによって前記制御するステップが、
前記ネットワーク内の第1の量子コントローラによって送られる第1のデータメッセージを受信するステップと、
前記遅延予定に基づいて前記量子コントローラの前記少なくとも一部、好ましくは前記ネットワーク内の全ての量子コントローラに前記第1のデータメッセージを送信するステップとを更に含む、請求項1に記載の方法。
【請求項3】
前記ディストリビュータによって前記制御するステップが、
前記ネットワーク内の第1の量子コントローラからの第1のデータメッセージを受信し、前記第1のデータメッセージが1つまたは複数の第1のデータ値を備える、ステップと、
前記ネットワーク内の更なるデータ処理装置に前記第1のデータメッセージを送信し、前記更なるデータ処理装置が、前記1つまたは複数の第1のデータ値に基づいて1つまたは複数の第2のデータ値を算出するように構成される、ステップと、
前記1つまたは複数の第2のデータ値を備える前記更なるデータ処理装置からの第2のデータメッセージを受信するステップと、
前記遅延予定に基づいて前記量子コントローラの少なくとも一部、好ましくは前記ネットワーク内の全ての量子コントローラに前記第2のデータメッセージを送信するステップとを更に含む、請求項1に記載の方法。
【請求項4】
前記更なるデータ処理装置が量子誤りデコーダを含み、そして前記1つまたは複数の第1のデータ値が、前記量子素子の少なくとも一部と関連付けられた誤り情報を含み、前記1つまたは複数の第2のデータ値が、前記量子素子の少なくとも一部と関連付けられた少なくとも1つの誤りを訂正するための誤り訂正情報を含む、請求項3に記載の方法。
【請求項5】
前記ディストリビュータによって前記制御するステップが、
前記ネットワーク内の第2のコントローラによって送られる第2のデータメッセージを受信するステップであり、前記第2のデータメッセージが前記第1のデータメッセージと同じクロックサイクル内で前記ディストリビュータによって受信される、ステップと、
前記遅延予定に基づいて前記量子コントローラの少なくとも一部に前記第1および第2のデータメッセージを送信するステップであり、前記第1のメッセージおよび第2のメッセージが前記量子コントローラの前記少なくとも一部に送信される順序が調停方式、好ましくはラウンドロビン、ランダムおよび/または優先度スケジューリングに基づく調停方式に基づく、ステップとを更に含む、請求項2に記載の方法。
【請求項6】
前記ディストリビュータによって前記制御するステップが、
前記ディストリビュータによって、前記遅延予定に基づいて遅延素子を構成し、好ましくは前記遅延素子が前記ディストリビュータの出力と関連付けられる、ステップを更に含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第1のデータメッセージの前記送信がブロードキャスト送信方式に基づく、または前記第1のデータメッセージの前記送信がユニキャストもしくはマルチキャスト方式、好ましくは装置アドレスおよび前記ネットワーク内の前記データ処理装置のアドレスを備えるルーティングテーブルに基づくユニキャストもしくはマルチキャスト方式に基づく、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記同期させるステップが、
前記ディストリビュータの前記クロックに基づいて計数し始めるためにタイマをトリガし、前記タイマの計数値が前記ディストリビュータのための絶対クロック時間を表現する、ステップを更に含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記ディストリビュータが、前記ディストリビュータと前記コントローラとの間の前記2地点間接続を形成するデータ線に接続される送受信器を備え、前記送受信器が、入力データ線を備える入力および出力データ線を備える出力を含み、好ましくは前記入力データ線がバッファと関連付けられかつ/または前記出力データ線が遅延素子と関連付けられる、請求項1から8のいずれか一項に記載の方法。
【請求項10】
データ処理装置の階層ネットワークにおけるデータ送信を制御するための方法であって、前記データ処理装置が、量子コンピュータの量子素子を制御するための量子コントローラおよびディストリビュータを含み、前記量子コントローラの各々が、前記量子コンピュータにアナログ信号を送るようにおよび前記量子コンピュータから受信されるアナログ信号を処理するように構成され、前記方法が、
第1のディストリビュータによって、前記ネットワーク内の前記データ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、
前記第1のディストリビュータによって、前記第1のディストリビュータのクロックが前記ネットワーク内の他のデータ処理装置のクロックと同期されるように前記基準クロック信号に基づいて前記ディストリビュータの前記クロックを同期させるステップと、
前記第1のディストリビュータによって、前記第1のディストリビュータに接続される量子コントローラへのデータメッセージの時間遅延送信を制御するステップとを含み、前記制御するステップが、
- 第2のディストリビュータからの第1のデータメッセージを受信し、前記第2のディストリビュータが前記第1のディストリビュータのネットワーク階層より高いネットワーク階層を有する、ステップと、
- 送信される前記第1のデータメッセージが前記第1のディストリビュータに接続される前記量子コントローラに同じクロックサイクル内で到着するように遅延予定に基づいて前記第1のデータメッセージを送信し、前記遅延予定が、前記第1のディストリビュータと前記第1のディストリビュータに接続される前記量子コントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む、ステップとを含む、方法。
【請求項11】
前記制御するステップが、
前記第1のデータメッセージが受信された同じクロックサイクル内で前記第1のディストリビュータに接続される量子コントローラからの第2のデータメッセージを受信するステップであって、前記第2のデータメッセージが、前記第1のディストリビュータに接続される前記量子コントローラの少なくとも一部に前記第1のディストリビュータによって送信される必要がある、ステップと、
前記第1のデータメッセージが前記量子コントローラに前記遅延予定を基にして送信される期間の間前記第2のデータメッセージをバッファに記憶するステップと、
前記第1のディストリビュータに接続される前記量子コントローラの少なくとも一部に前記第2のデータメッセージを送信するステップとを更に含む、請求項10に記載の方法。
【請求項12】
前記ディストリビュータの少なくとも1つが前記階層ネットワークのルートを形成し、更なるディストリビュータが前記階層ネットワークのノードを形成し、そして前記コントローラが前記階層ネットワークのリーフを形成する、請求項10または11に記載の方法。
【請求項13】
同期されたデータ処理装置の階層ネットワーク、好ましくはスターネットワークにおけるデータ送信を制御するようにディストリビュータを構成するための方法であって、前記データ処理装置が、量子コンピュータの量子素子を制御するための量子コントローラを含み、前記量子コントローラの各々が、前記量子コンピュータにアナログ信号を送るようにおよび前記量子コンピュータから受信されるアナログ信号を処理するように構成され、前記方法が、
前記ディストリビュータによって、送信時間インスタンスに、前記データ処理装置に時間ロギングメッセージを送信、好ましくはブロードキャストし、前記ディストリビュータおよび前記データ処理装置が同期されたデータ処理装置の階層ネットワークの一部である、ステップと、
各データ処理装置から前記それぞれのデータ処理装置での前記時間ロギングメッセージの到着時間についての情報を受信するステップと、
前記送信時間および到着時間に基づいて遅延予定を決定し、前記遅延予定が、前記ディストリビュータと前記データ処理装置との間の2地点間接続を形成するデータ線における伝搬遅延についての情報を含む、ステップと、
前記データ線を介して前記ディストリビュータによって送信されるデータメッセージが前記データ処理装置に同じクロックサイクル内で到着するように前記遅延予定に基づいて前記ディストリビュータの前記データ線、好ましくは前記ディストリビュータの前記出力データ線と関連付けられた遅延素子を構成するステップとを含む、方法。
【請求項14】
データ処理装置の階層ネットワークにおけるデータ送信を制御するためのディストリビュータ装置であって、前記データ処理装置が、量子コンピュータの量子素子を制御するための量子コントローラおよび前記量子コントローラに通信的に接続されるディストリビュータを含み、前記量子コントローラの各々が、前記量子コンピュータにアナログ信号を送るようにおよび前記量子コンピュータから受信されるアナログ信号を処理するように構成され、前記ディストリビュータ装置が、
クロック、プログラムの少なくとも一部が具現化されたコンピュータ可読記憶媒体、およびコンピュータ可読プログラムコードが具現化されたコンピュータ可読記憶媒体、ならびに前記コンピュータ可読記憶媒体に結合されるプロセッサ、好ましくはマイクロプロセッサを備え、前記コンピュータ可読プログラムコードを実行したことに応じて、前記プロセッサが、
前記ネットワーク内の前記データ処理装置のクロックを同期させるための基準クロック信号を受信することと、
前記ディストリビュータの前記クロックが前記量子コントローラの前記クロックと同期されるように、前記基準クロック信号に基づいて前記ディストリビュータ装置の前記クロックを同期させることと、
前記ディストリビュータによって送信されるデータメッセージが前記量子コントローラの少なくとも一部に同じクロックサイクル内で到着するように前記量子コントローラの少なくとも一部への前記データメッセージの時間遅延送信を制御し、前記ディストリビュータによる前記時間遅延送信が、前記ディストリビュータと前記量子コントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、こととを含む実行可能な動作を行うように構成される、ディストリビュータ装置。
【請求項15】
請求項1から11に記載のステップのいずれかを行うように構成されるディストリビュータ装置。
【請求項16】
前記ディストリビュータ装置の少なくとも一部がFPGAまたはASICとして構成される、請求項14または15に記載のディストリビュータ装置。
【請求項17】
調停方式、好ましくはラウンドロビン、ランダムおよび/もしくは優先度スケジューリングに基づく調停方式に基づいてデータメッセージを処理するように構成される調停機能、ならびに/または前記階層ネットワーク内の前記データ処理装置のアドレスを含むルーティングテーブルを備えるルーティング機能を更に備える、請求項14から16のいずれか一項に記載のディストリビュータ装置。
【請求項18】
コンピュータのメモリ内で走らされると、請求項1から13のいずれか一項に記載の方法ステップを実行するために構成されるソフトウェアコード部分を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、データ処理装置のネットワーク、好ましくは量子コンピュータのためのコントローラのネットワークを制御することに関し、特に、排他的ではないが、データ処理装置のネットワークを管理するための方法およびシステムならびにそのような方法を実行するためのコンピュータプログラム製品に関する。
【背景技術】
【0002】
量子系は、量子回路、例えばキュービットのアレイを操作するおよび読み出すのに古典制御システムを必要とする。そのような制御システムは、読出しおよび制御のための綿密に調時された高周波パルスを発生させるように構成される。スケーラビリティのために、制御システムは、各々独立して動き、そしてキュービットのアレイ内のキュービットの1つまたは1組の状態を制御するまたは読み出すことができる多くのモジュール、例えば量子コントローラに沿って分散される。条件付帯タイミング要件により、そのような量子コントローラは、典型的に、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または専用プロセッサなどのデジタル回路として実装される大部分のためである。そのような制御システムにおいて、異なるモジュールの信号間の相対的タイミングに対する完全制御が非常に重要であるのは、量子アルゴリズムの実行中、モジュールによる特定のタスクの実行が、モジュール間でまたはモジュールと量子コンピュータとの間で交換されている情報を条件とし得るからである。
【0003】
一旦起動されると、モジュールは、パルスの整列を維持するために既知の所要時間のタスク、すなわち決定論的に作用するタスクを実行してよい。しかしながら時には、モジュールは、未知の所要時間のタスクを実行しなければならない。例えば、US1055055524は、未知の所要時間のキュービット動作、例えばキュービットの成功するまで繰り返す種類のリセット動作を行うように適合される分散された1組の量子コントローラを記載している。そのような場合、量子アルゴリズムの実行中にモジュール間の同時性を失うことを防止するために、モジュールは、未知の所要時間の量子演算を実行するモジュールが終了するまで待つ必要がある。一旦モジュールがそのタスクを行い、次に進む準備ができると、それは、準備ができたことを全ての他のモジュールに通知する。モジュールは、1周期がシステムにおいて観察される2地点間転送時間の間の最長差以上である遅周期グリッド上で、それら自体のステータスを更新し、そしてその他のモジュールの準備を評価できるようにされるだけである。これは、評価の瞬間に全てのモジュール上で全ての情報が更新されていることを保証する。
【0004】
そのような手法の不利点は、モジュールが遅周期グリッド点の僅かな時間の後に準備ができた場合、それがそのステータスをその他のモジュールに送れるようにされる前に次のグリッド点まで待たなければならないということである。キュービットが環境雑音に非常に敏感であり、したがって非常に限られた寿命を有するので、この追加の待ち時間は、誤り率上昇に至り、したがって極めて望ましくない。それ故、以上から、モジュール間で情報を交換するときに未知の所要時間の量子演算の実行を可能にし、かつ遅時間グリッド上でのステータス更新および評価の必要なく保証される、量子コントローラなどのデータ処理装置のネットワークの改善された制御の必要が当該技術にあるということになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】US1055055524
【特許文献2】WO2020/197396
【発明の概要】
【課題を解決するための手段】
【0006】
当業者によって認識されるであろうが、本発明の態様は、システム、方法またはコンピュータプログラム製品として具現化されてよい。それに応じて、本発明の態様は、本明細書において全て全体的に「回路」、「モジュール」または「システム」と称されてよい完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)またはソフトウェアおよびハードウェア態様を組み合わせた実施形態の形態をとってよい。本開示に記載される機能は、コンピュータのマイクロプロセッサによって実行されるアルゴリズムとして実装されてよい。更には、本発明の態様は、コンピュータ可読プログラムコードが具現化、例えば記憶された1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとってよい。
【0007】
本出願における実施形態を参照しつつ記載される方法、システム、モジュール、機能および/またはアルゴリズムは、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組合せで実現されてよい。上記方法、システム、モジュール、機能および/またはアルゴリズムは、少なくとも1つの計算システムに集中的に、または幾つかの相互接続された計算システムにわたって種々の要素が展開されて分散的に実現されてよい。本出願に記載される実施形態(またはその一部)を実施するために適合された任意の種類の計算システムまたは他の装置が適している。典型的な実装例は、特定用途向け集積回路(ASIC)、1つもしくは複数のフィールドプログラマブルゲートアレイ(FPGA)ならびに/または1つもしくは複数のプロセッサ(例えば、x86、x64、ARM、PICおよび/もしくは任意の他の適切なプロセッサアーキテクチャ)などの1つまたは複数のデジタル回路ならびに関連した支援回路網(例えば、ストレージ、DRAM、FLASH、バスインタフェース回路等)を備えてよい。各個別のASIC、FPGA、プロセッサまたは他の回路は「チップ」と称されてよく、そして複数のそのような回路は「チップセット」と称されてよい。一実装例において、プログラマブル論理デバイスは、高速RAM、特にブロックRAM(BRAM)が設けられてよい。別の実装例は、機械によって実行されると、機械に本開示に記載されるようにプロセスを行わせる1または複数行のコードを記憶した非一時的機械可読(例えば、コンピュータ可読)媒体(例えば、FLASHドライブ、光ディスク、磁気記憶ディスク等)を備えてよい。
【0008】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態による方法、システムおよび/またはモジュールの考え得る実装例のアーキテクチャ、機能性および動作を表現してよい。この点で、フローチャートまたはブロック図内の各ブロックは、コードのモジュール、セグメントまたは一部分を表現してよく、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組合せとして実装される。
【0009】
一部の代替実装例において、ブロックに示される機能が図に示される順序と異なって発生してよいことも留意されるべきである。例えば、連続して図示される2つのブロックが、実際には、実質的に並行して実行されてよく、またはそのブロックは、時に逆順に実行されてよく、関与する機能性次第である。ブロック図および/またはフローチャート例の各ブロック、ならびにブロック図および/またはフローチャート例内のブロックの組合せが、指定される機能もしくは作用、または専用ハードウェアおよびコンピュータ命令の組合せを行う専用ハードウェアベースのシステムによって実装できることも留意されるであろう。
【0010】
本出願における実施形態は、データ処理装置、例えば量子コンピュータのための制御スタックを形成する量子コントローラの分散ネットワーク内の決定論的低レイテンシデータ交換のための方法およびシステムを記載する。そのようなデータ交換は、分散ネットワーク、例えばスターネットワーク内の異なるコントローラの動作が、コントローラ間で交換される情報(例えばキュービット測定結果)を条件とする場合に必要とされる。この情報は、全てのコントローラにおいて同時に利用可能である必要がある。
【0011】
第1の態様において、本発明は、データ処理装置の階層ネットワークにおけるデータ送信を制御するための方法に関してよい。一実施形態において、本方法は、ディストリビュータによって、ネットワーク内のデータ処理装置のクロックを同期させるための基準クロック信号を受信するステップを含んでよい。本方法は、ディストリビュータによって、ディストリビュータのクロックがコントローラのクロックと位相整列されるように、基準クロック信号に基づいてディストリビュータのクロックを同期させるステップを更に含んでよい。本方法は、ディストリビュータによって、送信されるデータメッセージがコントローラに同時に到着するようにネットワーク内のコントローラの少なくとも一部へのデータメッセージの時間遅延送信を制御し、時間遅延送信が、ディストリビュータとコントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、ステップも含んでよい。
【0012】
更なる態様において、本発明は、データ処理装置の階層ネットワークにおけるデータ送信を制御するための方法に関してよく、データ処理装置は、量子コンピュータの量子素子を制御するための量子コントローラおよび量子コントローラに通信的に接続されるディストリビュータを含み、量子コントローラの各々は、量子コンピュータにアナログ信号を送るようにおよび量子コンピュータから受信されるアナログ信号を処理するように構成される。
【0013】
一実施形態において、本方法は、ディストリビュータによって、ネットワーク内のデータ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、ディストリビュータによって、ディストリビュータのクロックがネットワーク内のその他のデータ処理装置のクロックと同期されるように、基準クロック信号に基づいてディストリビュータのクロックを同期させるステップと、ディストリビュータによって、同じクロックサイクル内でディストリビュータによって送信されるデータメッセージが量子コントローラの少なくとも一部に到着するように量子コントローラへのデータメッセージの時間遅延送信を制御し、ディストリビュータによる時間遅延送信が、ディストリビュータと量子コントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、ステップとを含んでよい。
【0014】
実施形態は、先行技術から公知の遅時間グリッド上でのステータス更新および評価の必要なくネットワーク内のデータ処理装置間の同期情報交換を提供する。ここで、データ処理装置は、量子コンピュータの量子素子を制御するための量子コントローラおよび量子コントローラに通信的に接続されるディストリビュータを含み、量子コントローラの各々は、量子コンピュータに信号を送るようにおよび量子コンピュータから受信される信号を処理するように構成される。
【0015】
量子コントローラは、量子コンピュータの量子素子、例えば1つまたは複数のキュービットを独立して制御するための高速制御エレクトロニクス、例えばFPGAベースのエレクトロニクスを含んでよい。量子素子は、量子コンピュータにアナログ信号を送ることによって制御されてよい。一実施形態において、アナログ信号は、所定の一連の高周波アナログパルスを含んでよい。量子コントローラは、メモリに記憶されるデジタルパルス信号に基づいてデジタルパルス列を構築するためのパルス列発生器およびデジタル信号をアナログ信号へ変換するためのデジタルアナログ変換器DACを備えてよい。更に、量子コンピュータから発する応答信号、例えばキュービットの量子状態を表現する測定値は、量子コントローラのアナログデジタル変換器ADCによってデジタル化されてよい。量子コントローラは、応答信号を処理するためのデータ分析器を更に含んでよい。量子コントローラは、プロセッサ、例えばCPU、およびコントローラによって実行されるプロセスを調時するために使用されるクロックを更に含んでよい。量子コントローラは、量子コンピュータ上で実行されることになるアルゴリズム(量子アルゴリズム)を表現する高級プログラムを量子コントローラのための命令へ翻訳するように構成されるコンピュータプログラム、例えばコンパイラを実行するように構成されてよいコンピュータに接続されてよい。これらの命令は、量子コントローラのメモリに記憶されてよく、一連の量子ゲート演算を備える量子回路を表現してよい。
【0016】
量子コントローラは、命令(例えば量子ゲート演算)を、キュービットの初期状態を設定するための、キュービットを互いと相互作用させるための、およびキュービットの終了状態を読み出すためのアナログ信号、例えば一連のアナログパルスへ翻訳するように構成されてよい。命令は、メモリに記憶され、そして量子コントローラのプロセッサによって独立して実行されてよい。量子コントローラによる命令の実行中に、1つの量子コントローラによって受信および/または処理されるデータは、1つまたは複数の他の量子コントローラまたは他のデータ処理装置に対する入力として必要とされてよい。それ故、量子コントローラによる量子コンピュータ上での量子アルゴリズムの実行中に、量子コントローラのネットワーク内の組織化および同期されたデータ分配が必要とされる。
【0017】
これを達成するために、データ処理装置は、(拡張)スターネットワークなどの階層ネットワークに接続される。データ処理装置が他のデータ処理装置にメッセージを送信したい場合、メッセージは、まず、スターネットワークのハブを形成する、いわゆるディストリビュータに送られる。ディストリビュータは、最初にメッセージを送ったデータ処理装置を含め、それに接続される全てのデータ処理装置にメッセージを送信してよい。ディストリビュータは、各接続上でメッセージを遅延させることによって、例えば異なるケーブル長に起因する、送信待ち時間の差を補償するようにメッセージの送信を制御する。これらの遅延を達成するためにアナログまたはデジタル遅延素子が使用されてよい。これらの遅延素子は、ディストリビュータの一部ならびに/またはディストリビュータの外部、すなわち2地点間接続におけるどこか、例えばデータ線の入力側および/もしくは出力側の近くでよい。このように、1つのデータ処理装置から送られるメッセージは、ディストリビュータに接続されるデータ処理装置の入力に同時に(すなわち同じクロックサイクルで)到着する。
【0018】
一実施形態において、ディストリビュータによって制御するステップは、ネットワーク内の第1のコントローラによって送られる第1のデータメッセージを受信するステップと、遅延予定に基づいてコントローラの少なくとも一部、好ましくはネットワーク内の全てのコントローラに第1のデータメッセージを送信するステップとを更に含んでよい。それ故、本実施形態において、1つのコントローラから発するメッセージは、それらが実質的に同じ時間インスタンスに、すなわち共通のクロックカウントでコントローラに到着するように、全てのデータ処理装置、例えば元のメッセージを送ったコントローラを含むコントローラに効果的に送信されてよい。
【0019】
ディストリビュータによる送信に元々送られたデータを含んで、メッセージの元の発信側を含め、全てのデータ処理装置が、それらが同期された仕方で更なるデータプロセスを始めることができるように同時に情報を受信する。本方法が特定の時間グリッド上でメッセージを送ることに依存しないので、それは、先行技術から公知の不利点を被らない。本発明は、低レイテンシ通信が必須である分散量子コントローラにおいてデータを交換するために特に有用である。本方法は、階層ネットワークの全てのデータチャネルを通しての遅延が綿密に特徴付けられることを必要とする。これは、システムにおいてディストリビュータからモジュールに送られるメッセージの到着時間を測定および比較することによって容易に達成されてよい。
【0020】
一実施形態において、ディストリビュータによって制御するステップは、ネットワーク内の第1のコントローラからの第1のデータメッセージを受信し、第1のデータメッセージが1つまたは複数の第1のデータ値を備える、ステップと、ネットワーク内の別のデータ処理装置に第1のデータメッセージを送信し、上記データ処理装置が、1つまたは複数の第1のデータ値に基づいて1つまたは複数の第2のデータ値を算出するように構成される、ステップと、1つまたは複数の第2のデータ値を備える上記データ処理装置からの第2のデータメッセージを受信するステップと、遅延予定に基づいてコントローラ、好ましくはネットワーク内の全てのコントローラに第2のデータメッセージを送信するステップとを更に含んでよい。本実施形態において、メッセージで搬送される情報は、それが全てのデータ処理装置に送られる前にネットワーク内のデータ処理装置によって処理されてよい。
【0021】
一実施形態において、データ処理装置は、量子誤りデコーダを含んでよく、そして1つまたは複数の第1のデータ値は、論理キュービットと関連付けられた誤り情報を含み、1つまたは複数の第2のデータ値は、論理キュービットと関連付けられた少なくとも1つの誤りを訂正するための誤り訂正情報を含む。
【0022】
本発明は、量子コントローラにキュービット測定結果を分配するまたは量子コントローラに量子誤りデコーダの結果(パウリフレーム更新)を分配するために特に有用である。別の応用は、1つまたは複数のモジュールが未知の所要時間のタスク、例えばキュービットのリセット等を行わなければならない後のモジュールの再同期を含んでよい。
【0023】
一実施形態において、ディストリビュータによって制御するステップは、伝搬遅延についての情報に基づいてディストリビュータの出力と関連付けられた遅延バッファを設定するステップを更に含む。
【0024】
一実施形態において、ディストリビュータによって制御するステップは、ネットワーク内の第2のコントローラによって送られる第2のデータメッセージを受信するステップであって、第2のデータメッセージが第1のデータメッセージと同じクロックカウントでディストリビュータによって受信される、ステップと、遅延予定に基づいてコントローラの少なくとも一部に第1および第2のデータメッセージを送信するステップであって、第1のメッセージおよび第2のメッセージがコントローラの少なくとも一部に送信される順序が調停方式、好ましくはラウンドロビン、ランダムおよび/または優先度スケジューリングに基づく調停方式に基づく、ステップとを更に含んでよい。それ故、ディストリビュータが異なるメッセージを送信する順序を決定するために調停方式が使用されてよい。
【0025】
一実施形態において、第1のデータメッセージの送信は、ブロードキャスト送信方式に基づいてよい。別の実施形態において、第1のデータメッセージの送信は、ユニキャストまたはマルチキャスト方式に基づいてよい。
【0026】
一実施形態において、ユニキャストまたはマルチキャスト方式は、装置アドレスおよびネットワーク内のデータ処理装置のアドレスを備えるルーティングテーブルを含んでよい。
【0027】
一実施形態において、同期させるステップは、ディストリビュータの内部クロックをタイマにリンクし、タイマがネットワーク内の全てのディストリビュータおよびデータ処理装置のための絶対クロック時間を表現する、ステップを更に含んでよい。
【0028】
一実施形態において、ディストリビュータの内部クロックは、ネットワーク内のデータ処理装置の内部クロックと位相整列されてよい。
【0029】
本発明は、データ処理装置の内部クロックの同期を含む。一実施形態において、データ処理装置の内部クロックは、互いに関して位相ロックおよび位相整列されてよい。更なる実施形態において、データ処理装置は、同時に(位相整列された内部クロックの同じクロックエッジに基づいて)起動されてよい。
【0030】
同期は、同期モジュールによって発生されるトリガ信号に基づいて実現されてよい。トリガ信号が全てのデータ処理装置を同時に起動するために使用される場合、トリガ信号が同じクロックサイクル内で全てのデータ処理装置に到着するように方策が必要とされ得る。100MHz以上のクロック周波数の高速デジタルシステムでは、これは、トリガがほんの数ns以下のうちに到着するべきであるウィンドウに至る。この目的で、一実施形態において、トリガモジュールおよびデータ処理装置を接続する線は、ケーブルにおける不均等な伝搬遅延に起因するスキューを排除するために長さ整合されてよい。
【0031】
別の変形例において、同期は、より遅いクロック信号(コントローラの内部クロックより整数倍遅くてよい)の立上りまたは立下りエッジに基づいてネットワーク内のデータ処理装置の内部タイマをトリガすることによって達成されてよい。好ましくは、より遅いクロック信号は、データ処理装置の内部クロックと位相ロックおよび位相整列されてよい。そのような技術の一例が、本出願に参照により組み込まれるWO2020/197396に記載されている。
【0032】
一実施形態において、コントローラの少なくとも一部は、量子コンピュータの量子素子を制御するための量子コントローラとして構成されてよい。
【0033】
一実施形態において、ディストリビュータは、ディストリビュータとコントローラとの間の2地点間接続を形成するデータ線に接続される送受信器を備えてよく、送受信器は、入力データ線を備える入力および出力データ線を備える出力を含む。
【0034】
一実施形態において、入力データ線はバッファと関連付けられかつ/または出力データ線は遅延素子と関連付けられる。
【0035】
更なる態様において、本発明は、同期されたデータ処理装置の階層ネットワーク、好ましくは(拡張)スターネットワークにおけるデータ送信を制御するようにディストリビュータを構成することに関してよい。一実施形態において、本方法は、ディストリビュータによって、送信時間インスタンスに、ディストリビュータに接続されるデータ処理装置、例えばキュービットコントローラに時間ロギングメッセージを送信、好ましくはブロードキャストし、ディストリビュータおよびデータ処理装置が同期されたデータ処理装置の階層ネットワークの一部である、ステップを含んでよい。本方法は、各データ処理装置からそれぞれのデータ処理装置での時間ロギングメッセージの到着時間についての情報を受信するステップも含んでよい。本方法は、送信時間および到着時間に基づいて遅延予定を決定し、遅延予定が、ディストリビュータとデータ処理装置との間の2地点間接続を形成するデータ線における伝搬遅延についての情報を含む、ステップを更に含んでよい。本方法は、データ線を介してディストリビュータによって送信されるデータメッセージがデータ処理装置に同時に到着するように遅延予定に基づいてディストリビュータのデータ線の出力に遅延素子を構成するステップも含んでよい。
【0036】
ディストリビュータに接続できるモジュールの数は制限されてよい。モジュールの数がこの制限を超えるシステムを作成するために、コントローラの様々なスターネットワーク(サブネットワーク)が1つまたは複数の更なるディストリビュータを使用して新たなスターネットワークに接続される、分散階層ネットワーク、例えば拡張スターネットワークを作成できる。そのようなネットワークにおいて、コントローラは、階層ネットワークの末端リーフを形成するであろう。
【0037】
ネットワーク全体にわたるデータ処理装置の同時性を維持するために、データメッセージは、まず階層ネットワーク内で最高のディストリビュータに送られる。応答して、このディストリビュータは、ネットワークを通じてメッセージを送る一方、最上のディストリビュータから始まり、メッセージが通るあらゆるディストリビュータでの遅延を補償する。一部の場合には、同時性は、階層スターネットワークの1つのブランチにおけるモジュール間にだけ必要とされてよく、プロセスは、このサブネットワーク内のその他のモジュールにメッセージを送る前にこのサブネットワークのディストリビュータにメッセージを送るだけのことによって高速化できる。
【0038】
別の更なる態様において、本発明は、データ処理装置の階層ネットワークにおけるデータ送信を制御するための方法に関してよく、データ処理装置は、コントローラおよびディストリビュータを含んでよい。
【0039】
一実施形態において、本方法は、第1のディストリビュータによって、ネットワーク内のデータ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、第1のディストリビュータによって、第1のディストリビュータのクロックがネットワーク内のその他のデータ処理装置のクロックと同期されるように基準クロック信号に基づいてそのクロックを同期させるステップと、第1のディストリビュータによって、第1のディストリビュータに接続されるコントローラへのデータメッセージの時間遅延送信を制御するステップとを含んでよく、制御するステップは、第2のディストリビュータからの第1のデータメッセージを受信し、第2のディストリビュータが第1のディストリビュータの階層より高い階層を有する、ステップと、送信される第1のデータメッセージが第1のディストリビュータに接続されるコントローラに同時に到着するように遅延予定に基づいて第1のデータメッセージを送信し、遅延予定が、第1のディストリビュータとコントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む、ステップとを含む。
【0040】
一実施形態において、制御するステップは、第1のデータメッセージが受信された同じ時間インスタンスに第1のディストリビュータに接続されるコントローラからの第2のデータメッセージを受信するステップであって、第2のデータメッセージが、第1のディストリビュータに接続されるコントローラの少なくとも一部に第1のディストリビュータによって送信される必要がある、ステップと、第1のデータメッセージがコントローラに遅延予定を基にして送信される期間の間第2のデータメッセージをバッファに記憶するステップと、第1のディストリビュータに接続されるコントローラの少なくとも一部に第2のデータメッセージを送信するステップとを更に含んでよい。
【0041】
別の実施形態において、ディストリビュータの少なくとも1つ、好ましくは第2のディストリビュータが階層ネットワークのルートを形成してよく、更なるディストリビュータが階層ネットワークのノードを形成し、そしてコントローラは階層ネットワークのリーフを形成する。
【0042】
更なる態様において、本発明は、データ処理装置の階層ネットワークにおけるデータ送信を制御するためのディストリビュータ装置に関してよく、ディストリビュータ装置は、クロック、プログラムの少なくとも一部が具現化されたコンピュータ可読記憶媒体、およびコンピュータ可読プログラムコードが具現化されたコンピュータ可読記憶媒体、ならびにコンピュータ可読記憶媒体に結合されるプロセッサを備え、コンピュータ可読プログラムコードを実行することに応答して。
【0043】
一実施形態において、プロセッサは、ネットワーク内のデータ処理装置のクロックを同期させるための基準クロック信号を受信するステップと、ディストリビュータのクロックがコントローラのクロックと位相整列されるように、基準クロック信号に基づいてディストリビュータ装置のクロックを同期させるステップと、送信されるデータメッセージがコントローラに同時に到着するようにコントローラの少なくとも一部へのデータメッセージの時間遅延送信を制御し、時間遅延送信が、ディストリビュータとコントローラとの間の2地点間接続と関連付けられた伝搬遅延についての情報を含む遅延予定に基づく、ステップの1つまたは複数を実行するように構成されてよい。
【0044】
本発明は、コンピュータのメモリ内で走らされると、上記したプロセスステップのいずれかによる方法ステップを実行するために構成されるソフトウェアコード部分を備えるコンピュータプログラム製品にも関してよい。
【0045】
本発明は、本発明に係る実施形態を概略的に図示する添付の図面を参照しつつ更に例示されることになる。本発明がいかなる場合もこれらの具体的な実施形態に限定されないことが理解されるであろう。
【図面の簡単な説明】
【0046】
図1】量子系を制御するための制御システムを例示する。
図2】本発明の一実施形態に係る制御システムの一部を例示する。
図3】本発明の一実施形態に係るコントローラのネットワークを描く。
図4】本発明の一実施形態に係るデータ処理装置のネットワークの一例を例示する。
図5】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方法のフロー図を描く。
図6】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方法のブロック図を描く。
図7】本発明の一実施形態に係るデータ処理装置のネットワークにおける伝搬遅延を決定するための方式を描く。
図8】本発明の一実施形態に係るデータ処理装置のネットワークにおける伝搬遅延を決定する方法のブロック図を描く。
図9A】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方式を例示する。
図9B】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方式を例示する。
図10】本発明の別の実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方法のフロー図を描く。
図11A】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方式を例示する。
図11B】本発明の一実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方式を例示する。
図12】本発明の更なる実施形態に係るデータ処理装置のネットワークにおけるデータ送信を制御するための方法のフロー図を描く。
【発明を実施するための形態】
【0047】
図1は、量子系を制御するための制御システムを例示する。制御システム100は、マウント構造104、例えばラックに配置される複数のモジュール1021~n、データ処理装置を備えてよい。図に示されるように、各モジュールは、量子系の一部、例えば1つまたは複数のキュービットを独立して制御するための高速制御エレクトロニクス、例えばFPGAベースのエレクトロニクスを含んでよい。キュービットは、量子コンピュータに所定の一連の高周波アナログパルスを送ることによって制御されてよい。この目的で、モジュールは、メモリ114に記憶されるデジタルパルス信号に基づいてデジタルパルス列を構築するためのパルス列発生器106およびデジタル信号をアナログ信号へ変換するためのデジタルアナログ変換器DAC108を含んでよい。更に、量子装置から発する応答信号、例えばキュービットの量子状態を表現する測定値は、アナログデジタル変換器ADC110によってデジタル化されてよい。これらの信号は、続いてデータ分析器112によって処理される。
【0048】
モジュールは、プロセッサ116、例えばCPU、およびモジュールによって実行されるプロセスを調時するために使用されるクロック118を更に含んでよい。システムは、量子コンピュータ上で実行されることになるアルゴリズム(量子アルゴリズム)を表現する高級プログラムをモジュールのための命令へ翻訳するように構成されるコンピュータプログラム、例えばコンパイラを実行するように構成されてよいコンピュータ(図示せず)に接続されてよい。これらの命令は、古典コンピュータによって実行される論理ゲート演算の量子バージョンである、一連の量子ゲート演算を備える量子回路を表現してよい。量子ゲート演算は、キュービットの初期状態を設定するための、キュービットを互いと相互作用させるための、およびキュービットの終了状態を読み出すための一連のアナログパルスへ翻訳される。命令は、メモリに記憶され、そしてモジュールのプロセッサによって独立して実行されてよい。モジュールによる命令の実行中に、1つのモジュールによって受信および/または処理されるデータは、1つまたは複数の他のモジュールに対する入力として必要とされてよい。それ故、モジュールによる量子コンピュータ上での量子アルゴリズムの実行中に、モジュールのネットワーク内の組織化および同期されたデータ分配が必要とされる。
【0049】
更に、制御システムが複数の接続されるモジュールを各々備える複数のサブシステムを含んでよいという意味で制御システムがモジュール式であることが所望される。これらのサブシステムは、階層ネットワークを形成して(またはそのように配置されて)よい。以下により詳細に記載されることになるように、制御システムは、ネットワーク内のモジュールがモジュール間の同期された、高速、低レイテンシデータ交換を可能にするように構成されてよい。このように、量子系の最適性能を保証でき、ネットワークのサイズおよび/または構成とは関係ない。
【0050】
図2は、本発明の一実施形態に係る制御システムの一部を例示する。特に、図は、古典コンピュータ202および量子装置204、例えばキュービット等を備える量子コンピュータに接続される制御システム200を例示する。コンピュータは、高級プログラミング言語のソフトウェアコードをコントローラモジュール2061~nのネットワークのための命令233に翻訳するための、例えばコンパイラまたはインタプリタを含む、ソフトウェアプログラムのスイートを実行してよい。1つまたは複数のモジュールは、図1を参照しつつ記載されたものと同様に実装されてよく、パルス発生器224、DAC226、ADC230、データ分析器228、メモリ、内部クロック232、および1組の命令を実行するように構成されるプロセッサ220を含むが、これらに限定されない。このように、モジュールは、或る量子回路に従ってキュービットが互いと相互作用する、例えばもつれることができるように、それらを制御するために量子装置に出力信号216としてパルス列を送信できる。更に、キュービットの状態を測定でき、そして量子装置から発する出力信号218がモジュールのデータ分析器によって読み込まれて処理されてよい。他のモジュールは、他の機能、例えば誤りデコーダなどの他のモジュールのデータを処理するための中央データプロセッサを行うように構成されてよい。
【0051】
クロック分配システム214が、複数のクロック分配線2151~nを介して基準クロック信号をモジュールの各々に提供するように構成されてよく、各々それらの内部クロックを同期させるために基準クロック信号を使用してよい。基準クロック信号は、モジュールの各々においてタイマ、例えばカウンタを同時に起動するために更に使用されてよく、カウンタを上げるために、同期された内部クロックが使用される。このように、モジュールは、モジュールの内部クロックが位相整列され得る共通のクロック源を有する。このように、タイマ信号は、ネットワーク内の全てのモジュールのための絶対時間基準として使用されてよい。各モジュールは、クロック分配システムに2地点間接続を介して接続されてよい。一実施形態において、データ線の長さおよび/または幾何形状は、モジュールに送信される基準クロック信号が異なるモジュールの入力に同時に到着するであろうように構成されてよい。
【0052】
モジュール間で共有される共通の絶対時間を達成するために異なる方式が使用されてよい。例えば、一実施形態において、同期は、クロックサイクルを計数するタイマを起動するトリガ信号に基づいて実現されてよい。トリガ信号が全てのデータ処理装置を同時に起動するために使用される場合、トリガ信号が同じクロックサイクル内で全てのデータ処理装置に到着するという方策がとられる必要がある。100MHz以上のクロック周波数の高速デジタルシステムでは、これは、トリガがほんの数ns以下のうちに目標に到着するべきであるウィンドウに至る。この目的で、トリガ線は、ケーブルにおける不均等な伝搬遅延に起因するスキューを排除するために長さ整合されてよい。
【0053】
別の実施形態において、PCT出願WO2020/197396に記載されているような同期方式が使用されてよい。このPCT出願の内容は、本出願に参照により組み込まれてよい。その同期方式では、同期は、より遅いクロック信号(コントローラの内部クロックより整数倍遅いように選択されてよい)の立上りまたは立下りエッジに基づいて内部タイマをトリガすることによって達成されてよい。一実施形態において、より遅いクロック信号は、データ処理装置の内部クロックと位相ロックおよび位相整列されてよい。
【0054】
一旦タイマが同期および設定されると、各モジュールは、タイマ信号を絶対時間指示として使用できる。これは、タイマが同期プロセス中にトリガされる瞬間から各クロックサイクルを計数することによって実現されてよい。そのため、各時間インスタンスで、全てのモジュールが同一のタイマ値を同時に経験するため、共通のクロックカウントと称されてよい。その場合、モジュールは同調されていると考えられてよく、その結果全てのタスク、例えば命令の実行を共通のクロックカウントに基づいてスケジュールできる。先行技術から公知であるような遅時間グリッド上でのステータス更新および評価の必要なくモジュール間の同期情報交換を提供するために、同期モジュールは、階層ネットワーク、例えばスターネットワークに接続されてよい。モジュールは、モジュールと同期もされる、ディストリビュータ212と称される中央ネットワーク要素と、2地点間接続を形成する、複数のデータ線2171~nを介して接続されてよい。モジュールが他のモジュールにメッセージを送信したい場合、メッセージは、まず、スターネットワークのハブを形成する、ディストリビュータに送られる。次いで、ディストリビュータは、最初にメッセージを送ったデータ処理装置を含め、それに接続される全てのデータ処理装置にデータ線を介してメッセージを送信してよい。
【0055】
ディストリビュータは、データ線の長さおよび/または幾何形状の差による送信時間の差が補償されるように各接続上でメッセージを遅延させることによってメッセージの送信を制御するように構成されてよい。ディストリビュータに接続される各データ線に対する正確な遅延は、別個の較正プロセスで決定されてよい。較正プロセスを実行することで1組の遅延時間に至ってよく、ディストリビュータの送信回路網に遅延素子を設定するために使用できる遅延予定213を形成する。このように、1つのデータ処理装置からディストリビュータに送られたデータメッセージがディストリビュータによってデータ処理装置に再送されて、ディストリビュータに接続されるデータ処理装置の入力に同時に(すなわち同じクロックサイクルで)到着してよい。
【0056】
図3は、本発明の一実施形態に係るデータ処理装置を描く。特に、図は、ディストリビュータ300を描いており、接続されるデータ処理装置(例えばコントローラおよび、任意選択で、更なるディストリビュータ)のスターネットワークのためのホストとして構成されてよい。ディストリビュータは、同期された仕方で接続されるデータ処理装置(元の発信側を含む)にデータを分配するように構成されてよい。所定数のデータ線がディストリビュータの入出力I/Oインタフェースに接続されてよい。データ線3161~n、3181~nがディストリビュータをコントローラ、例えば量子コンピュータの1つまたは複数のキュービットを制御するように構成される量子コントローラに接続してよい。一部の実施形態において、更なるデータ線3171~n、3191~nが1つまたは複数の更なるディストリビュータに接続されてよい。
【0057】
I/Oインタフェースは、送受信器として構成されてよい。このように、ディストリビュータは、ネットワーク内のデータ処理装置からまたはそこにデータ線を通じてデータを受信または送信してよい。典型的に、ディストリビュータは、専用の入力線および出力線を有する全二重モードで働くであろう。それ故、典型的に、ディストリビュータとデータ処理装置または更なるディストリビュータとの間の2地点間接続は、データメッセージを受信するための入力データ線およびデータメッセージを送信するための出力データ線を含む一対のデータ線を含んでよい。ディストリビュータの入力は、ディストリビュータにデータ線を介して送信されるメッセージのための入力を備える受信器302を含んでよい。コントローラの出力に接続されるデータ線Di,in i=1,..,n 3161~nは、ディストリビュータが1つまたは複数のコントローラによって送信される複数のメッセージを受信および処理できるようにバッファ、例えば先入れ先出しバッファfifoi i=1,..,nを含んでよい。ディストリビュータの出力は、データ処理装置にデータ線を介してメッセージを送信するための出力を備える送信器304を含んでよい。コントローラに接続される出力データ線Di,out i=1,..,nは、遅延時間に基づいて送信を遅延させるための遅延素子delayi i=1,...,nを含んでよい。データ線出力の遅延素子は、データ送信時間の差が補償されるように構成されてよい。それ故、送信中、各出力線においてデータメッセージが出力の準備ができていてよく、共通のクロックカウントに基づいて計数し始めるためにプログラムされた遅延素子をトリガしてよい。一旦特定の遅延素子の遅延期間が終わると、データ線を通じたデータ処理装置へのメッセージ。このプロセスは、時間遅延送信と称されてよい。
【0058】
I/Oコントローラ306が、ディストリビュータの所望の機能を提供するために送受信器の受信器および送信器モードを制御してよい。例えば、データ線が2つのディストリビュータを接続し、第1のディストリビュータから第1よりルートディストリビュータに近い第2のディストリビュータ、例えばルートディストリビュータにデータメッセージが送られる場合、遅延補償は使用されない。それ故、その場合、メッセージは、第2のディストリビュータに直接送信されてよい。逆に、第2のディストリビュータによって第1のディストリビュータに(ルートディストリビュータから離れて)データメッセージが送信されると、遅延補償が使用される。一部の実施形態において、コントローラは、ユニキャスト、マルチキャスト、ブロードキャスト等などの周知の方式を含む、種々のデータ送信方式をサポートするために1つまたは複数のルーティング機能を備えるモジュール307を含んでよい。ユニキャストおよびマルチキャストの場合、モジュールは、ネットワーク内のディストリビュータおよびコントローラのアドレスを含むルーティングテーブルを含んでよい。その場合、ディストリビュータは、目標データ処理装置、例えばディストリビュータまたはコントローラのアドレスを備えるメッセージを構築するように構成されてよい。一部の実施形態において、ディストリビュータは、調停方式、例えば異なる入力データ線に到着するデータメッセージが処理されるべきである順序に関連した規則を備えるモジュール309を含んでよい。例えば、ディストリビュータおよびコントローラが同じ時間インスタンスにデータ線を通じてデータメッセージを送信したい場合、ディストリビュータのデータメッセージが優先権を有してよい。同様に、ディストリビュータが同じ時間インスタンスにディストリビュータおよびコントローラからデータメッセージを受信する場合、それは、ディストリビュータから発するデータメッセージの処理を優先してよい。更に、ディストリビュータが2つ以上のコントローラからデータメッセージを受信する場合、それは、データメッセージを処理するために周知の調停方式、例えばラウンドロビンまたはランダム選択を使用してよい。更なる調停規則の例は、図10を参照しつつより詳細に記載される。
【0059】
一部の実施形態において、ディストリビュータは、時間ロギングモジュール312を備えてよく、データ処理装置のネットワークにおける2地点間接続のデータ線と関連付けられた伝搬遅延が決定されてよい時間ロギングプロセスをトリガしてよい。時間ロギングプロセス中に決定される伝搬遅延についての情報は、データストレージ310に遅延予定として記憶されてよい。時間ロギングプロセス中に、ディストリビュータの出力データ線における遅延補償がオフに切り替えられてよい。更に、ディストリビュータにおいて実行されるプロセスは、ディストリビュータの他の要素にバス314を介して接続されてよいプロセッサ308によって管理されてよい。図中のプロセッサが個別のエンティティとして描かれるが、プロセッサは、ディストリビュータの他の要素にわたって分散されかつ/またはそれらと集積されてもよく、例えばプロセッサの少なくとも一部がI/Oコントローラに実装されてよい。同様に、一部の実施形態において、時間ロギングモジュールは、ディストリビュータの外部でよい。
【0060】
そのため、送受信器は、コントローラからデータメッセージを受信してよい。その後、I/Oコントローラは、コントローラに出力データ線を介してメッセージを送信するように送信器を構成してよい。各出力データ線における送信のタイミングは、データメッセージがコントローラの入力に同じクロックカウントで到着するであろうように遅延予定の遅延時間に従って設定される遅延素子によって決定される。そのため、ネットワークのデータ線における伝搬遅延を補償することによって、ディストリビュータは、データメッセージが1つのクロックサイクルの精度内で同時に全てのモジュールによって受信されることを保証する。このように、ディストリビュータは、モジュールがメッセージを連続的に送り、評価できるようにし、それによって先行技術と比較して通信の待ち時間を削減する。コントローラがディストリビュータからデータメッセージを受信するとすぐに、コントローラは、それが量子アルゴリズムの次の段階での処理のためのそのデータを直ちに使用できることを知る。更に、それは、ネットワーク内のコントローラの全てまたは或る一部が同じデータメッセージにアクセスするであろうことも知っている。
【0061】
図2および図3におけるディストリビュータが個別のエンティティとして例示されるが、他の実施形態においてディストリビュータが別の機能エンティティ、例えばコントローラの一部でよいことが提起される。図3が非限定的な実施形態を記載しており、本発明の本質から逸脱することなく多くの異なる変形例が可能であることが提起される。例えば、図3が遅延素子をディストリビュータの一部として記載するが、遅延素子は、ディストリビュータの外部、例えばデータ線の入力側または出力側の近くなど、2地点間接続におけるどこかでもよい。
【0062】
図3に図示されるように、ディストリビュータは、その入出力の数によって、それが通信できるモジュールの最大数に物理的に制限されてよい。制御システムをスケーラブルにするために、複数のディストリビュータが直接接続され、かつ各ネットワークそれ自体で、それが接続されるデータ処理装置とスターネットワークを形成する、ネストスターネットワークが作成されてよい。それ故、ネットワークは、スターネットワーク構成でコントローラに接続される1つのディストリビュータを含んでよい。代替的に、ネットワークは、ネストスターネットワーク構成を形成する複数のディストリビュータを含んでよい。そのようなネストスターネットワークの一例が図4に図示される。図に示されるように、データ処理装置は、複数のディストリビュータ4021~3、特に3つのディストリビュータ、および複数のコントローラ4041~6を含んでよい。データ処理装置は、図1図3を参照しつつ記載されるようにディストリビュータおよびコントローラでよい。
【0063】
ネットワークは、ディストリビュータがネットワークのルートおよびノードを形成してよくかつその他のデータ処理装置、例えばコントローラが末端リーフを形成する階層ツリーネットワークとして組織化されてよい。ネットワークにおける最高階層を有するディストリビュータは、ルートディストリビュータ4021と称されてよい。各コントローラは、ディストリビュータにデータ線を介して接続されてよく、そのためコントローラとディストリビュータとの間に2地点間接続401を形成する。典型的に、データ線は、全二重データ送信方式に基づいてよい双方向通信チャネルとして構成されてよい。図に示されるように、ネットワークは、幾つかのサブネットワーク4081~3を備えてよく、各サブネットワークにおいてディストリビュータが送信を制御する:1つのコントローラ4041および2つのディストリビュータ4022,3へのデータメッセージの送信を制御するルートディストリビュータ4021を備える第1のサブネットワーク;3つのコントローラ4041~3へのデータメッセージの送信を制御するディストリビュータ4022を備える第2のサブネットワーク4082、ならびに2つのコントローラ4045,6へのデータの送信を制御するディストリビュータ4023を備える第3のサブネットワーク4083。これらのディストリビュータの各々は、各ディストリビュータに対して異なってよい、その遅延予定に基づいてデータ送信を制御するように構成されてよい。このように、その出力データ線を介して送信、例えばブロードキャストされるデータメッセージは、これらの出力データ線に接続されるデータ処理装置の入力に同時に到着するであろう。
【0064】
図4に描かれるようにネットワークにおける同時性を維持するために、コントローラのデータメッセージは、ツリーネットワークのリーフを形成するコントローラに向けて再び散開される前に、まずルートディストリビュータに送信されてよい。このプロセスは図5に描かれる。この図は、ネットワークトポロジが図4を参照しつつ記載されたものと同様でよい、同期されたデータ処理装置のネットワークにおけるデータ送信を制御するフロー図を描く。ここで、同期されたとは、データ処理装置が絶対クロック信号、例えば共通のクロックカウントを共有することを意味する。
【0065】
そのプロセスは、コントローラ、controller2が第1のディストリビュータ、distributor3に、コントローラを第1のディストリビュータに接続するデータ線を通じてデータメッセージを送信する第1のステップ502を含んでよい。応答して(ステップ504)、第1のディストリビュータは、第2のディストリビュータ、distributor1、ネットワークのルートディストリビュータにメッセージを転送してよい。ルートディストリビュータは、メッセージを受信してよく、そして下流に戻して第1のディストリビュータ、distributor3および第3のディストリビュータにデータメッセージを、これらのメッセージがそれぞれのディストリビュータに同時に、すなわち所定の第1のクロックカウントで到着するように(第1の破線5141によって示されるように)、その遅延予定に基づいて送信、この例ではブロードキャストする(ステップ5061,2)。それぞれのディストリビュータによるデータメッセージの受信に応じて、各ディストリビュータ、すなわちdistributor2および3は、続いてステップ508、5101,2および5121~3によって例示されるようにそれぞれのコントローラにデータメッセージを、全てのデータメッセージがそれぞれのディストリビュータに同時に、すなわち所定の第2のクロックカウントで到着するように(第2の破線5142によって示されるように)、その遅延予定に基づいてブロードキャストする。
【0066】
図6は、一実施形態に係る同期された、例えば位相整列された、データ処理装置のネットワークにおけるデータ送信を制御するための方法のブロック図を描く。階層ネットワークは、データ処理装置のスターネットワークでよく、データ処理装置の各々は、メッセージを送受信する管路として作用してよいホスト、ルートディストリビュータに接続される。一実施形態において、データ処理装置は、コントローラ、例えば量子コントローラおよび少なくとも1つのディストリビュータを含んでよく、ディストリビュータは、有線2地点間接続を形成するデータ線に基づいてコントローラの各々に接続されてよい。本方法は、ディストリビュータによって、データ処理装置がクロック信号に基づいてそれらのクロックを同期させるための基準クロック信号を受信することから始まってよい(ステップ602)。そのため、データ処理装置は、基準クロックに基づいてそれらのクロックを同期させるために基準クロック信号を使用してよい。このプロセスは、基準クロック信号に基づいて内部クロックを位相整列させることを含んでよい。このプロセスは、例えばWO2020/197396を参照しつつ記載されたように絶対時間指示(すなわち共通のクロックカウント)を作成するために内部タイマ(例えばカウンタ)を同期および設定することも含んでよい。このように、ディストリビュータの内部クロックは、その他のデータ処理装置の内部クロックと位相整列されてよく、そして共通のクロックカウントを生成するためにディストリビュータおよびその他のデータ処理装置の内部タイマが同期される(ステップ604)。次いで、ディストリビュータは、遅延予定に基づいて階層ネットワーク内のコントローラへのデータメッセージの送信を制御、例えばスケジュールおよび実行してよい。遅延予定は、ディストリビュータと他のデータ処理装置との間の2地点間接続と関連付けられた伝搬遅延に基づいて遅延素子をプログラムすることによって実装されてよい。その目的で、遅延予定は、各2地点間接続に対する伝搬遅延または伝搬遅延と関連付けられた情報を含んでよい。このように、ディストリビュータによって処理装置にメッセージが送信、例えばブロードキャストされる場合、データメッセージは、処理装置に、同期して、同時に到着するであろう(ステップ606)。
【0067】
データ処理装置の任意の(ネスト)スターネットワーク内のディストリビュータのための遅延予定を決定するために、ネットワークにおける伝搬遅延を決定することが可能である発見プロセスが実行されてよい。そのようなプロセスの一例が図7に描かれる。特に、図は、本発明の一実施形態に係るデータ処理装置の同期ネットワークにおける伝搬遅延を決定する方法のフロー図を描く。ネットワークは、図5および図6を参照しつつ記載されたような同期ネットワークと同様でよい。更に、ネットワーク内のデータ処理装置の各々が時間ロギングモジュールを備えてよく、図3を参照しつつ記載されたものと同様でよい。更に、時間ロギングモジュール、例えばルートディストリビュータなどの、ディストリビュータの1つにおける時間ロギングモジュールは、時間ロギングプロセスを始めるように構成されてよい。その目的で、時間ロギングモジュールは、時間ロギングメッセージを作成し、そしてそれが接続されるデータ処理装置に時間ロギングメッセージ7041~3を送信してよい。このプロセス中、メッセージがデータ線における異なる伝搬遅延により異なる時間インスタンス(ネットワークの共通のクロックカウントのクロックカウント)に到着してよいようにディストリビュータの出力データ線における時間遅延機能性はオフに切り替えられてよい。ルートディストリビュータは、時間ロギングメッセージがどんな時間に(クロックカウントで)送信(ブロードキャスト)されたかを決定し、そしてそのメモリに送信時間としてこの情報を記憶してよい。
【0068】
時間ロギングメッセージがデータ処理装置によって受信されれば、それは、データ処理装置による時間ロギングメッセージの受信時間を決定するためにデータ処理装置の時間ロギングモジュール7061~3をトリガするであろう。メッセージの受信時間は、クロックカウントで表されてよい。そのため、時間ロギングメッセージがネットワーク内のデータ処理装置によって受信されると、データ処理装置の時間ロギングモジュール7061~3によってタイムスタンプが作成される。データ処理装置がディストリビュータである場合、時間ロギングメッセージの受信は、ディストリビュータにその出力におけるその遅延補償機能性をオフに切り替えさせてもよい。このように、一旦時間ロギングメッセージがタイムスタンプされてタイムスタンプがディストリビュータのメモリに記憶されると、ディストリビュータは、ネットワーク内の更なるデータ処理装置に時間ロギングメッセージ(例えば時間ロギングメッセージ7081,2および7121~3)を転送してよく、これらのデータ処理装置の時間ロギングモジュール(例えば時間ロギングモジュール7101,2および7141~3)は、時間ロギングメッセージの到着時間を決定および記憶するように時間ロギングメッセージによってトリガされるであろう。
【0069】
このように、時間ロギングメッセージは、それらがツリーネットワークのリーフを形成するコントローラに到着するまでネットワークを通じて伝搬してよい。時間ロギングプロセスと関連付けられた発生された到着時間は、時間ロギングメッセージの送信時間および到着時間に基づいて伝搬遅延を決定してよいルートディストリビュータ(または別のモジュール)に送り返されてよい。伝搬遅延は、次いでネットワーク内のディストリビュータのための遅延予定を決定するために使用されてよい。本発明から逸脱することなく遅延予定を決定するために異なる仕方が使用されてよい。例えば、ルートディストリビュータの時間ロギングモジュールは、送信時間および到着時間を処理し、そして各ディストリビュータに遅延予定を提供してよい。代替的に、ルートディストリビュータは、受信した情報に基づいて遅延予定を各々決定するディストリビュータに送信時間および到着時間を送信してよい。
【0070】
図8は、本発明の一実施形態に係る同期されたデータ処理装置のネットワークにおける伝搬遅延を決定する方法のブロック図を描く。ネットワークは、例えば図7を参照しつつ説明されたように(分散)階層ネットワーク、例えばスターネットワークに組織化されるデータ処理装置の階層ネットワークでよい。データ処理装置のネットワークは、1つまたは複数のディストリビュータおよび1つまたは複数のディストリビュータにデータ線を介して接続されるコントローラを含んでよい。
【0071】
本方法は、ディストリビュータが、送信時間インスタンスに、それが接続されるデータ処理装置にデータ線を介して時間ロギングメッセージを送信、好ましくはブロードキャストすることを含んでよい(ステップ802)。時間ロギングメッセージを受信する各データ処理装置は、それぞれのデータ処理装置の入力における時間ロギングメッセージの到着時間を決定してよい。次いで、時間ロギングメッセージに応答して、ディストリビュータは、各データ処理装置から時間ロギングメッセージの到着時間についての情報を受信してよい(ステップ804)。次いで、送信時間および到着時間に基づいて、ディストリビュータは、遅延予定が決定されてよいと判定してよい(ステップ806)。遅延予定は、ディストリビュータとデータ処理との間の2地点間接続を形成するデータ線における伝搬遅延についての情報を含んでよい。更に、本方法は、データ線を介してディストリビュータによって送信されるデータメッセージがデータ処理装置に同時に到着するように遅延予定に基づいてディストリビュータのデータ線と関連付けられた遅延素子を構成することを含んでよい(ステップ808)。
【0072】
図5のデータ送信方式は、ディストリビュータのルータがアドレス指定機能性を有さず、単に任意の接続されたモジュールまたはディストリビュータにメッセージをブロードキャストするだけである例を記載している。より高度な応用を容易にするために、ルータは、2地点間データ通信を可能にするユニキャスト方式などの他の送信方式もサポートできる。これらの方式は、例えばディストリビュータのルータ機能にアドレステーブルを使用することによってかつデータメッセージにアドレス情報を追加することによって実装できる。同じディストリビュータに複数のメッセージが同時に送られることによるアクセス時間枯渇のような状況を防止するために、これらの異なるルーティング機能は、各種の異なる調停方式(例えばランダム、ラウンドロビン)と組み合わせて使用されてよい。
【0073】
アドレス指定機能性を有するディストリビュータを使用するデータ処理装置のネットワークの種々の部分への送信を描く例が図9Aおよび図9Bに示される。図9Aに図示されるネットワークは、単純な階層ネットワークを含み、各々2つのコントローラ9061~4に接続される、2つのディストリビュータ9022,3に接続されるルートディストリビュータ9021を含む。ディストリビュータおよびコントローラにおけるルーティング機能は、ネットワークの種々の部分にメッセージを直接送ることができるようにネットワーク内のディストリビュータおよびコントローラのアドレスを備えるアドレステーブルを含んでよい。メッセージがまずルートディストリビュータに送られることを必要とする、図5のブロードキャスト方式とは対照的に、ネットワーク内の1つまたは少数のコントローラだけを目標とする送信が、ローカルディストリビュータだけを介するメッセージのルーティングを可能にする。例えば、メッセージ910,912は、controller1からのデータメッセージがdistributor0に送られてよく、続いてdistributor0によって制御されるローカルサブネットワークのcontroller2にデータメッセージを送る2地点間データ送信方式を例示する。同様に、メッセージ914,9161,2は、controller1のデータメッセージがdistributor0に送られてよく、続いてdistributor0によって与えられるサブネットワークのコントローラにデータメッセージを送信する一対多データ送信方式を例示する。第1のサブネットワークのコントローラから、第2の(ルート)ディストリビュータを介して、distributor1によって与えられる第2のサブネットワークにデータメッセージを送信するときに、同じ種類の送信方式が使用されてよい。このように、第2のサブネットワークの個々のコントローラ(図9Bのフロー図のステップ918~924)か第2のサブネットワークの全てのコントローラ(図9Bのフロー図のステップ926~932)かがアドレス指定されてよい。図9に例示されるようなルーティング方式は、個々のサブネットまたはモジュールへのデータメッセージの同期送信を可能にし、それによってネットワークトラフィックを削減しかつ通信待ち時間を潜在的に改善する。
【0074】
決定論を保証しかつアクセス時間枯渇(すなわち、ディストリビュータが或るコントローラにデータメッセージを送信する前にコントローラがかなりの期間待たなければならない)を防止するために、ディストリビュータは調停方式を実装してよい。調停方式は、衝突の場合にどのメッセージが最初に処理されるかを判定するために使用されてよい。例えば、2つのコントローラまたはコントローラおよびディストリビュータが共に同じディストリビュータに同時にデータメッセージを送る場合、ディストリビュータは、どちらのメッセージが優先権を得るかを判定するために調停方式の1つまたは複数の規則を使用するであろう。複数のコントローラが同じディストリビュータに同時にデータメッセージを送信する場合、調停方式は、ラウンドロビン、ランダムまたは任意の他の形態の調停に基づくことができる。同様に、ディストリビュータがコントローラから第1のデータメッセージを受信し、これがディストリビュータに接続される全てのコントローラに送信される必要があり(すなわちこのディストリビュータによって制御されるサブネット内の送信)かつ同じ時間インスタンスに、ディストリビュータが別のディストリビュータ(ネットワーク階層が高い)から第2のデータメッセージを受信すると、第2のデータメッセージが第1のデータメッセージより優先されるであろう。そのため、下流に(ルートディストリビュータから離れて)送られる必要があるメッセージは、ローカルサブネット内で下流に送られる必要がある着信メッセージより優先される。そうするのに失敗することが、コントローラへのメッセージの同時配信の失敗の原因となり得る。
【0075】
単純な優先規則の一例が図10に例示され、図9Aを参照しつつ記載されたものと同様のデータ処理装置のネットワークにおけるメッセージのフロー図を示す。この図に示されるように、第1のメッセージが第1のコントローラによって第1のディストリビュータ、distributor0に送信されてよく、これが、その後のネットワーク内の全てのコントローラへの下方送信のためにルートディストリビュータ、distributor2にメッセージを転送するであろう。それ故、ルートディストリビュータは、両メッセージがディストリビュータに同じ時間インスタンスに到着するというように、distributor0および1にデータメッセージを送信するであろう。しかしながら、同時にcontroller2が、distributor0によって制御されるサブネットワーク内のコントローラ、すなわちcontroller1および2への送信のためにdistributor0にデータメッセージを送ってよい。その場合、distributor0における調停機能により、distributor0および1によるデータメッセージの送信がcontroller1~4でのデータメッセージの同時到着に至るように、ルートディストリビュータから発するデータメッセージ10061の処理が優先されるであろうことを確かめる。その場合、controller1から発するデータメッセージは、distributor0の入力において一時的にバッファに記憶されるであろう。この優先規則なしでは、distributor1は、それぞれcontroller3および4にそのメッセージを送信したであろうし、distributor0は、後の段階でデータメッセージを送信できるだけである。
【0076】
図を参照しつつ記載される方式が、本出願に記載される実施形態の教示に基づいて実現できる多くの種々の応用の例に過ぎないことが留意される。例えば、一実施形態において、全てのデータ処理装置間で事実上共有される分散メモリを作成するためにディストリビュータが使用されてよい。これは、ディストリビュータによって、1つのデータ処理装置のメモリ処理、例えば読出しまたは書込み動作をネットワーク内の全ての他のデータ処理装置に分散することによって達成される。このように、ディストリビュータは、分散メモリが常に事実上共有されたままであることを確かめる。言い換えれば、各データ処理装置は、共有メモリのローカルコピーにアクセスする。ローカルデータ処理装置がローカルコピー内のメモリ値を更新したい場合、メモリ値は、データメッセージでディストリビュータに送られ、そしてディストリビュータは、本出願における実施形態を参照して記載されるような方式を使用してネットワーク内の全てのデータ処理装置にデータメッセージを送信することによってネットワーク内のデータ処理装置の全てのコピーを更新するであろう。
【0077】
更なる実施形態において、量子素子測定結果を量子誤りデコーダに送信し、そして量子誤りデコーダの結果をネットワーク内のコントローラ(または少なくともその一部)に分配するためにディストリビュータが使用されてよい。そのような方式の一例が図11および図12を参照しつつより詳細に以下に記載される。図11Aは、図9Aを参照しつつ記載されたものと同様の構成の、ディストリビュータ11021~3およびコントローラ11061~4を備えるデータ処理装置のネットワークを描くが、しかしながらこの場合、量子誤りデコーダ11081と称される特別なデータ処理装置がルートディストリビュータに接続される。
【0078】
量子誤りデコード方式の概略図が図11Bに描かれる。キュービットが脆弱かつ雑音に非常に敏感であるので、雑音環境との不可避な相互作用が誤りを引き起こすであろう。これらの誤りを緩和するために、幾つかの物理キュービットにエンコードされるいわゆる論理キュービットが使用されてよい。物理キュービットは、集団状態|Ψ〉1110を有する。物理キュービットの誤りは、状態|Ψ〉を雑音影響状態|Ψ'〉1112へ変形させ得る。物理キュービットの誤りは、定期的パリティ測定1118,1120,1121を介してフラグ付けされてよく、1118において誤り情報をマッピングするためにいわゆる補助キュービット1116が使用され、それらを測定する1120ことによって読み出される。全ての繰り返されたパリティ測定結果の集合は、シンドローム1123と称される。測定された補助キュービットは、誤りおよびシンドローム測定についての情報を備えており、そのため物理キュービットが崩壊されたかどうか、そしてその場合は、どの1つか、およびそれが幾つかの考え得る経過の中のどれで影響されたかを判定する。
【0079】
どの基本的な物理的誤りがこれらのシンドロームと一致するかを識別するために、シンドロームを入力として使用する古典計算が行われる必要がある。この目的で、様々なモジュールから、FPGA等で実装されてよい誤りデコーダ1122に全てのパリティ測定結果が送られる必要がある。誤りデコーダは、どの誤りが発生したかを判定してよく、そしてこれらの結果を、いわゆるパウリフレーム1124、すなわちシステムの誤りを説明する誤りテーブルまたはレコードの更新の形態でコントローラに向けて分配し返す。任意の特定の時点で、この誤りレコードは、誤り訂正イベント1126のために使用されてよく、これには、誤り訂正イベントを誤りの訂正に至る1つまたは複数の量子ゲート演算へ翻訳すること、演算を一連の訂正パルスへ変換すること、訂正パルスを量子素子に適用すること、およびパウリフレームをフラッシュすることを含んでよい。
【0080】
誤りの蓄積を防止するために、図11Bに描かれるような誤り訂正サイクル、デコードおよびデータの送信が可能な限り高速に行われる必要がある。シンドロームの送信および更新されたパウリフレームの分配の待ち時間を最小化することが、したがって必須である。アーキテクチャにおいて、誤りデコーダは、当然ネットワークの最も中心点の近くに配置されるであろう。これは、例えば最も中心のディストリビュータをホストするFPGA内部で、またはこのディストリビュータに接続される別個のモジュールとしてであり得る。図12は、誤りデコーダを含む、データ処理装置のネットワークにおけるメッセージを制御するフロー図を描く。この図は、2つのコントローラ12061,2、controller1および2から発し、ローカルディストリビュータ12022(distributor0)およびルートディストリビュータ12021(distributor2)を介して、量子誤りデコーダ1208への補助キュービット測定データの送信を例示する。その後、誤りデコードプロセス1206の結果が次いで、全てのコントローラが量子誤りデコードプロセスの結果を厳密に同じ時間インスタンスに受信するようにルートおよびローカルディストリビュータ(送信12081,2)を介してコントローラ(送信12101,2および12121,2)に送信されてよい。
【0081】
そのため、図12に描かれる方式は、ディストリビュータに送られるデータメッセージの内容およびディストリビュータによってコントローラに送信されるデータメッセージの内容が必ずしも同じでなければならないわけではなく、例えば量子誤りデコードプロセスのような、データ処理ステップまたは方式の結果であることができることを例示する。図12に描かれる方式では量子誤りデコーダがルートディストリビュータに接続されることが常に必要であるわけではないことが留意される。他の実施形態において、量子誤りデコーダは、ローカルディストリビュータに接続されてよい。更に、量子誤りデコーダ方式が可能な限り高速に実行される必要があるので、これらのプロセスを実行することがディストリビュータの調停機能によって優先されてよい。
【0082】
本開示の技術は、無線ハンドセット、集積回路(IC)または一組のIC(例えば、チップセット)を含め、多種多様な素子または装置で実装されてよい。開示された技術を行うように構成される装置の機能態様を強調するために様々な部品、モジュールまたはユニットが本開示に記載されるが、必ずしも異なるハードウェアユニットによる実現を必要とするわけではない。むしろ、上記したように、様々なユニットが、コーデックハードウェアユニットに組み合わされ、または適切なソフトウェアおよび/もしくはファームウェアと併せて、上記したように1つもしくは複数のプロセッサを含め、一まとまりの相互動作するハードウェアユニットによって提供されてよい。
【0083】
本明細書で使用される技術用語は単に特定の実施形態を記載する目的であり、本発明を限定しているとは意図されない。本明細書で使用される場合、単数形「或る1つ(a)」、「或る1つ(an)」および「その(the)」は、文脈が別途明示しない限り、複数形も含むと意図される。用語「備える(comprises)」および/または「備え(comprising)」は、本明細書で使用されるとき、明言された特徴、完全体、ステップ、動作、要素および/または部品の存在を特定するが、1つまたは複数の他の特徴、完全体、ステップ、動作、要素、部品および/またはその群の存在または追加を排除しないことが更に理解されるであろう。
【0084】
以下の請求項における全ての手段またはステップに加えて機能要素の対応する構造、材料、行為および等価物は、詳細に特許請求される他の特許請求要素と組み合わせて機能を行うための任意の構造、材料または行為を含むと意図される。本発明の説明は例示および説明の目的で提示されたが、網羅的であるとも、または開示された形態の本発明に限定されるとも意図されない。本発明の範囲および趣旨から逸脱することなく、多くの変更および変形が当業者にとって明らかであろう。実施形態は、本発明の原理、実際的応用を最もよく説明するため、および企図された特定の使用に適した様々な変更を伴う様々な実施形態に関して当業者が本発明を理解することを可能にするために選ばれて説明された。
【符号の説明】
【0085】
100 制御システム
1021~n モジュール
104 マウント構造
106 パルス列発生器
108 デジタルアナログ変換器DAC
110 アナログデジタル変換器ADC
112 データ分析器
114 メモリ
116 プロセッサ
118 クロック
200 制御システム
202 古典コンピュータ
204 量子装置
2061~n コントローラモジュール
208 高級コンピュータプログラム
212 ディストリビュータ
213 遅延予定
214 クロック分配システム
2151~n クロック分配線
216 出力信号
2171~n データ線
218 出力信号
220 プロセッサ
222 メモリ
224 パルス列発生器
226 DAC
228 データ分析器
230 ADC
232 内部クロック
233 命令
234 結果
300 ディストリビュータ
302 受信器
304 送信器
306 I/Oコントローラ
307 ルーティングモジュール
308 プロセッサ
309 調停モジュール
310 データストレージ
312 時間ロギングモジュール
314 バス
3161~n データ線
3171~n データ線
3181~n データ線
3191~n データ線
324 クロック
401 2地点間接続
4021 ルートディストリビュータ
4022,3 ディストリビュータ
4041~6 コントローラ
4081~3 サブネットワーク
7061~3 時間ロギングモジュール
7101,2 時間ロギングモジュール
7141~3 時間ロギングモジュール
9021 ルートディストリビュータ
9022,3 ディストリビュータ
9061~4 コントローラ
11021~3 ディストリビュータ
11061~4 コントローラ
11081 量子誤りデコーダ
1110 集団状態
1112 雑音影響状態
1116 補助キュービット
1118 パリティマッピング
1120 パリティ測定
1121 n回繰り返す
1122 誤りデコーダ
1123 シンドローム
1124 パウリフレーム
1126 誤り訂正
12021 ルートディストリビュータ
12022 ローカルディストリビュータ
12061,2 コントローラ
1208 量子誤りデコーダ
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11A
図11B
図12
【国際調査報告】