JP2013174934A - 計算機システム - Google Patents
計算機システム Download PDFInfo
- Publication number
- JP2013174934A JP2013174934A JP2012037400A JP2012037400A JP2013174934A JP 2013174934 A JP2013174934 A JP 2013174934A JP 2012037400 A JP2012037400 A JP 2012037400A JP 2012037400 A JP2012037400 A JP 2012037400A JP 2013174934 A JP2013174934 A JP 2013174934A
- Authority
- JP
- Japan
- Prior art keywords
- access
- control module
- shared resource
- subsystem
- contention control
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Memory System (AREA)
Abstract
【課題】 SMP構成のような並列システムでは、サブシステムや共有リソースの数が多くなるとその制御と実装の複雑度が高くなり、システム拡張に伴うコストも増加する。
【解決手段】 共有リソースへのアクセス経路は単一のI/Fとし、各サブシステムから共有リソースへのアクセスI/Fを統合する競合制御モジュールを独立に設ける。競合制御モジュールは各サブシステムから共有リソースへのアクセス要求をシリアル化する。共有リソースへアクセス完了するために必要な期間を1タイムスロットとした場合、サブシステムのアクセス期間を「サブシステム数×タイムスロット」とする。これにより、任意のアクセス期間での共有リソースへのアクセス数はサブシステム数以上とならず、サブシステムから共有リソースへのアクセスは固定サイクルに見えるため、バス制御回路を単純に構成できる。
【選択図】 図1
【解決手段】 共有リソースへのアクセス経路は単一のI/Fとし、各サブシステムから共有リソースへのアクセスI/Fを統合する競合制御モジュールを独立に設ける。競合制御モジュールは各サブシステムから共有リソースへのアクセス要求をシリアル化する。共有リソースへアクセス完了するために必要な期間を1タイムスロットとした場合、サブシステムのアクセス期間を「サブシステム数×タイムスロット」とする。これにより、任意のアクセス期間での共有リソースへのアクセス数はサブシステム数以上とならず、サブシステムから共有リソースへのアクセスは固定サイクルに見えるため、バス制御回路を単純に構成できる。
【選択図】 図1
Description
この発明は複数の処理ノードを備え、各ノード間で共有するリソースにアクセスする際に競合制御が必要となる計算機システムに関するものである。
近年は、消費電力の増大を抑えつつ性能向上を図る必要性がより高まっており、CPU単体よりもCPUを含めた複数の演算ノードを使用した並列処理により性能向上を図る傾向がある。
並列処理を行なう際の課題としては、複数の処理ノード(以下、「サブシステム」という)で使用するメモリやI/O等の共有リソースの競合制御の実現が挙げられる。競合制御はシステム性能上のボトルネックになるため、H/W機能のサポートにより性能向上を図るものが多い。しかし、競合制御をH/Wで実現する場合、以下の課題が発生し、H/W実装量の増加や複雑化によるコストアップが生じる。
(1)制御の複雑化:高速化のための制御方法の複雑化は実装を困難にするという課題がある。
(2)物理空間上の制約:H/Wとしては各サブシステムが独立に動作するため、同時に共有リソースへのアクセスが発生する場合も想定される。その場合、共有リソースのアクセス経路を各サブシステムで独立に保持すると共有リソース回路とサブシステム間の配線量が膨大になりIC、PWB等で実装する場合に配置配線が困難になるという課題がある。
(3)想定される状況の増加:競合処理を実装するにあたり、各サブシステムから発生するアクセス状況を整理し、その状況に対処する回路を設計し、検証する必要がある。共有リソース内の全回路にそれを適用することを考慮すると、システム拡張に際して、サブシステムの追加、共有リソースの追加に伴う、競合制御の複雑度が増えた場合に再設計に要するコストが増大するという課題がある。
(2)物理空間上の制約:H/Wとしては各サブシステムが独立に動作するため、同時に共有リソースへのアクセスが発生する場合も想定される。その場合、共有リソースのアクセス経路を各サブシステムで独立に保持すると共有リソース回路とサブシステム間の配線量が膨大になりIC、PWB等で実装する場合に配置配線が困難になるという課題がある。
(3)想定される状況の増加:競合処理を実装するにあたり、各サブシステムから発生するアクセス状況を整理し、その状況に対処する回路を設計し、検証する必要がある。共有リソース内の全回路にそれを適用することを考慮すると、システム拡張に際して、サブシステムの追加、共有リソースの追加に伴う、競合制御の複雑度が増えた場合に再設計に要するコストが増大するという課題がある。
S/Wのみでの競合制御においては、競合制御による処理のペナルティが大きくシステム性能に大きな影響を与えることになる。
現状では複数のCPUコアを内蔵し、SMP構成のシステムを構成可能なICが販売されている。しかし現実に構成されるシステムは従来のシステムをサブシステムとし、サブシステムを統合する形で新たなシステムとして構成するケースが多い。その場合各サブシステムは異なるH/W、OSで構成されていることが多く、またサブシステムの処理間の独立性が高い。このため、システムとしてはAMP構成が採用される場合が多い。
並列処理を行なうシステムを構築する際、各サブシステム間の結合度が高く、サブシステム間の処理が密接に関連している場合はSMP構成を採用することになる。しかしながら、サブシステムや共有リソースの数が多くなるとその制御と実装の複雑度が飛躍的に高くなるという課題がある。
一方で、現実に構成されるシステムを考えると、システムを構成する各サブシステム間の結合度が比較的低く、サブシステム間の処理の独立性が高いものが多い。この場合は、サブシステム間の通信頻度も、共有リソースの競合制御の発生頻度も比較的に低くなる。このようなシステムにおいてもSMP構成でのシステム構築は可能であるが、サブシステムや共有リソースの増加に伴う制御と実装の複雑度の増加は避けられず、システム拡張に伴うコストの増加という課題がある。
このように、SMPからAMPまでを含む並列システム全般において、共有リソースの競合制御を実現し、かつ、システム拡張に対応する際のコストアップを抑えることが課題となっている。
一方で、現実に構成されるシステムを考えると、システムを構成する各サブシステム間の結合度が比較的低く、サブシステム間の処理の独立性が高いものが多い。この場合は、サブシステム間の通信頻度も、共有リソースの競合制御の発生頻度も比較的に低くなる。このようなシステムにおいてもSMP構成でのシステム構築は可能であるが、サブシステムや共有リソースの増加に伴う制御と実装の複雑度の増加は避けられず、システム拡張に伴うコストの増加という課題がある。
このように、SMPからAMPまでを含む並列システム全般において、共有リソースの競合制御を実現し、かつ、システム拡張に対応する際のコストアップを抑えることが課題となっている。
この発明は係る課題を解決するためになされたものであり、並列処理システムにおいて複数のサブシステム間で使用する共有リソースの競合制御処理を、その拡張性及び効率性の面で両立可能な計算機システムを提供することを目的とする。
この発明に係る計算機システムは、複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、前記競合制御モジュールは、前記処理ノードに設定した優先度に応じて前記アクセス要求をシリアル化し、前記処理ノードが前記共有リソースへアクセスするために要する期間をタイムスロットとする場合に、前記処理ノードの数と前記タイムスロットの積を前記複数の処理ノードが前記共有リソースにアクセスするアクセス期間として設定する。
この発明に係る競合制御モジュールによれば、並列処理システムにおける競合制御処理を、その拡張性及び効率性の面で両立した計算機システムを提供できる。
実施の形態1.
以下、図1〜図6を用いて本発明の実施の形態について説明する。図1は実施の形態1に係る計算機システムの構成例を示す図である。本実施の形態に係る計算機システムは、3つのサブシステム1、4、7と、メモリやI/O等の共有リソース12と、競合制御モジュール10を備える。
競合制御モジュール10は、サブシステム1、4、7から共有リソース12に向けて同時に発生しうるアクセス要求を保持するとともに、各アクセス要求を一連のシーケンスとして順次、実行制御するものであり、以下(1)〜(10)の機能を有する。
以下、図1〜図6を用いて本発明の実施の形態について説明する。図1は実施の形態1に係る計算機システムの構成例を示す図である。本実施の形態に係る計算機システムは、3つのサブシステム1、4、7と、メモリやI/O等の共有リソース12と、競合制御モジュール10を備える。
競合制御モジュール10は、サブシステム1、4、7から共有リソース12に向けて同時に発生しうるアクセス要求を保持するとともに、各アクセス要求を一連のシーケンスとして順次、実行制御するものであり、以下(1)〜(10)の機能を有する。
(1)アクセス要求の保持機能:
各サブシステム1、4、7からのアクセス要求の情報を、1)アクセス先の情報は共有リソース12のアドレス情報とし、2)読み出し時の情報は共有リソース12から要求元のサブシステム1,4、7への転送データとし、3)書き込み時の情報は要求元のサブシステム1、4、7から共有リソース12への転送データとして、サブシステム1、4、7からのアクセスが終了するまで、バッファとして保持する機能を持つ。
各サブシステム1、4、7からのアクセス要求の情報を、1)アクセス先の情報は共有リソース12のアドレス情報とし、2)読み出し時の情報は共有リソース12から要求元のサブシステム1,4、7への転送データとし、3)書き込み時の情報は要求元のサブシステム1、4、7から共有リソース12への転送データとして、サブシステム1、4、7からのアクセスが終了するまで、バッファとして保持する機能を持つ。
(2)アクセス要求先の判別機能とアクセス要求先への転送データの送受信機能:
各サブシステム1、4、7からのアクセス要求が発生した場合に、各サブシステムのアクセス要求を保持するバッファから、共有リソース12のアドレス情報に基づき特定される共有リソース12と共有リソース12内のアクセス対象を判別する機能を持つ。
また、読み出し時に共有リソース12に読み出し指示を出し、共有リソース12内のアクセス対象からの情報を転送データとして受信し、サブシステム1、4、7に対してそのデータを転送する機能を持つ。
また、書き込み時にサブシステム1、4、7からの情報を転送データとして受信し、共有リソース12内のアクセス対象への情報を転送データとして送信し、共有リソース12への書き込み指示を出す機能を持つ。
各サブシステム1、4、7からのアクセス要求が発生した場合に、各サブシステムのアクセス要求を保持するバッファから、共有リソース12のアドレス情報に基づき特定される共有リソース12と共有リソース12内のアクセス対象を判別する機能を持つ。
また、読み出し時に共有リソース12に読み出し指示を出し、共有リソース12内のアクセス対象からの情報を転送データとして受信し、サブシステム1、4、7に対してそのデータを転送する機能を持つ。
また、書き込み時にサブシステム1、4、7からの情報を転送データとして受信し、共有リソース12内のアクセス対象への情報を転送データとして送信し、共有リソース12への書き込み指示を出す機能を持つ。
(3)共有リソースへのアクセス時間固定化による実装容易化を実現する機能:
複数のサブシステム1、4、7が共有リソース12に同時にアクセスするには、各サブシステム1、4、7に個別にアクセス経路を持つことが必要である。これをFPGAのような論理回路で実装する場合、競合対象が増えるたびに回路を設計し直す必要が生じる。また、経路の増加は回路の配置配線の難易度が上がることになり、実装上不利となる。よって、共有リソース12へのアクセス経路は単一のI/Fとし、サブシステム1、4、7専用のI/Fを複数実装しない。
これは競合対象が増減した際に拡張が容易となるようにするためであり、各サブシステム1、4、7のアクセスI/Fを統合する機能を競合制御モジュール10に設ける。
競合制御モジュール10は、サブシステム1、4、7と接続する競合制御リンク3、6、9、及び、共有リソース12と接続するアクセスリンク11を持つ階層構成となる。
各競合制御リンク3、6、9からのアクセス要求に必要な情報は(1)アクセス要求の保持機能によって保持される。
競合制御モジュール10は、各サブシステム1、4、7からのアクセス要求情報を「共有リソース」へのアクセスをシリアル化することで順次処理する。アクセスをシリアル化するため、各「サブシステム」は順番が回ってくるまでアクセスが待たされることになる。
複数のサブシステム1、4、7が共有リソース12に同時にアクセスするには、各サブシステム1、4、7に個別にアクセス経路を持つことが必要である。これをFPGAのような論理回路で実装する場合、競合対象が増えるたびに回路を設計し直す必要が生じる。また、経路の増加は回路の配置配線の難易度が上がることになり、実装上不利となる。よって、共有リソース12へのアクセス経路は単一のI/Fとし、サブシステム1、4、7専用のI/Fを複数実装しない。
これは競合対象が増減した際に拡張が容易となるようにするためであり、各サブシステム1、4、7のアクセスI/Fを統合する機能を競合制御モジュール10に設ける。
競合制御モジュール10は、サブシステム1、4、7と接続する競合制御リンク3、6、9、及び、共有リソース12と接続するアクセスリンク11を持つ階層構成となる。
各競合制御リンク3、6、9からのアクセス要求に必要な情報は(1)アクセス要求の保持機能によって保持される。
競合制御モジュール10は、各サブシステム1、4、7からのアクセス要求情報を「共有リソース」へのアクセスをシリアル化することで順次処理する。アクセスをシリアル化するため、各「サブシステム」は順番が回ってくるまでアクセスが待たされることになる。
ここで、サブシステム間の競合制御の発生頻度は低く、競合制御の処理時間が長くなっても他のシステムに与える影響は小さい。このため、システム全体の性能への影響も小さくなることが想定される。
そこで各サブシステムの共有リソースへのアクセスが完了するために必要な期間を1タイムスロットとした場合に、実際のサブシステム1、4、7のアクセス期間を「サブシステム数×タイムスロット」とする。
これにより、各サブシステムのアクセス発生頻度も「サブシステム数×タイムスロット」間に1回となり、任意の「サブシステム数×タイムスロット」区間での共有リソース12へのアクセス数は「サブシステム」数以上となることはない。
よって、競合制御モジュール10へアクセスが集中して待たされる場合でも、「サブシステム数×タイムスロット」区間内で各サブシステム1、4、7の1アクセスの返り値の確定は保障され、システム全体としては共有リソース12へのアクセスは固定サイクルと扱うことができる。これにより、以下の効果がある。
1)通常の競合制御では、サブシステム1、4、7からの共有リソース12へのアクセスは競合制御に伴う待ち時間の発生のためにアクセス期間が可変サイクルになる。
本発明によれば、アクセス期間を固定サイクルとして扱うことが可能となり、バス制御を簡便することが出来る。
2)アクセス権取得の失敗を想定する必要がないため、FIFO等で履歴を保持する必要がなく、余分な制御回路が不要となる。
3)アクセスが必ず成功するため、特定のサブシステム1、4、7のアクセス集中の防止のために優先度を動的に変更するといった制御が不要となる。そのため優先度は固定としてもシステム性能への影響はないため、競合制御を簡便にすることが出来る。
4)サブシステム1、4、7のアクセス期間を固定サイクルにすることで、システム性能の低下要因であるアクセスサイクルの延長を考慮する必要がない。このため、システム性能の見通しが容易になる効果を持つ。
そこで各サブシステムの共有リソースへのアクセスが完了するために必要な期間を1タイムスロットとした場合に、実際のサブシステム1、4、7のアクセス期間を「サブシステム数×タイムスロット」とする。
これにより、各サブシステムのアクセス発生頻度も「サブシステム数×タイムスロット」間に1回となり、任意の「サブシステム数×タイムスロット」区間での共有リソース12へのアクセス数は「サブシステム」数以上となることはない。
よって、競合制御モジュール10へアクセスが集中して待たされる場合でも、「サブシステム数×タイムスロット」区間内で各サブシステム1、4、7の1アクセスの返り値の確定は保障され、システム全体としては共有リソース12へのアクセスは固定サイクルと扱うことができる。これにより、以下の効果がある。
1)通常の競合制御では、サブシステム1、4、7からの共有リソース12へのアクセスは競合制御に伴う待ち時間の発生のためにアクセス期間が可変サイクルになる。
本発明によれば、アクセス期間を固定サイクルとして扱うことが可能となり、バス制御を簡便することが出来る。
2)アクセス権取得の失敗を想定する必要がないため、FIFO等で履歴を保持する必要がなく、余分な制御回路が不要となる。
3)アクセスが必ず成功するため、特定のサブシステム1、4、7のアクセス集中の防止のために優先度を動的に変更するといった制御が不要となる。そのため優先度は固定としてもシステム性能への影響はないため、競合制御を簡便にすることが出来る。
4)サブシステム1、4、7のアクセス期間を固定サイクルにすることで、システム性能の低下要因であるアクセスサイクルの延長を考慮する必要がない。このため、システム性能の見通しが容易になる効果を持つ。
(4)優先度に基づくアクセス要求の実行制御機能:
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステム1、4、7から共有リソース12へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム1、4、7に設定した優先度に従って行なう機能を有する。
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステム1、4、7から共有リソース12へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム1、4、7に設定した優先度に従って行なう機能を有する。
(5)周期的に各サブシステムのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステム1、4、7から共有リソース12へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム1、4、7に対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステム1、4、7から共有リソース12へのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各サブシステム1、4、7に対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
(6)各サブシステムのアクセスインターフェースの相違を変換する機能
サブシステムが異なるインターフェースを持つ場合、先の(1)アクセス要求の保持機能:のモジュールが接続し、異なるインターフェースのアクセス情報を保持できるようにするためにアクセス方式の変換を行なう「プロトコル変換モジュール」を有する。
サブシステムが異なるインターフェースを持つ場合、先の(1)アクセス要求の保持機能:のモジュールが接続し、異なるインターフェースのアクセス情報を保持できるようにするためにアクセス方式の変換を行なう「プロトコル変換モジュール」を有する。
(7) 周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステムから共有リソースへのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各アクセスタイプに対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
先の(3) 競合リソースのアクセス時間固定化による実装容易化を実現する機能:において、各サブシステムから共有リソースへのアクセス要求情報をシリアル化することで順次処理する際の選択手法を、各アクセスタイプに対してサイクリックにアクセスタイミングをタイムスロット単位分開放する機能を有する。
(8)S/W制御による競合制御を利用することで競合制御部の制御を簡便にするための機能(その1)
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には「サブシステム」に設定された優先度の高い「サブシステム」の実行結果を反映するようにする。
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には「サブシステム」に設定された優先度の高い「サブシステム」の実行結果を反映するようにする。
(9)S/W制御による競合制御を利用することで、競合制御部の制御を簡便にするための機能(その2)
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式として、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には最後のアクセスに伴う実行結果を反映するようにする。
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式として、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には最後のアクセスに伴う実行結果を反映するようにする。
(10)S/W制御による競合制御を利用することで競合制御部の制御を簡便にするための機能(その3)
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には無効な値を書き込む、もしくは読み出すようにする。これにより実行結果を読み出すことで、異常状態が発生したことを容易に知ることができる。
先の(7)周期的にアクセスタイプに対してのアクセス可能期間を順次割り当てることによるアクセス要求の実行制御機能:において、競合制御方式としては、同時アクセスは発生しないことを想定した簡便な制御方式とする。具体的には複数の「サブシステム」からの同時アクセス発生時には無効な値を書き込む、もしくは読み出すようにする。これにより実行結果を読み出すことで、異常状態が発生したことを容易に知ることができる。
図1において、サブシステム1、4、7は共有リソース12にアクセスするために、上記機能を有する競合制御モジュール10を介してアクセスする。
各サブシステム1、4、7は競合制御モジュール10との間をそれぞれの競合制御リンク3、6、9で接続し、共有リソース12は競合制御モジュール10との間を1つのアクセスリンク11で接続する。
このように、本実施の形態に係る計算機システムは、各サブシステム1、4、7が競合制御モジュール10を競合制御リンク3、6、9、及びアクセスリンク11を介して共有リソース12へのアクセス制御を行なうシステムとして構成される。
各サブシステム1、4、7は競合制御モジュール10との間をそれぞれの競合制御リンク3、6、9で接続し、共有リソース12は競合制御モジュール10との間を1つのアクセスリンク11で接続する。
このように、本実施の形態に係る計算機システムは、各サブシステム1、4、7が競合制御モジュール10を競合制御リンク3、6、9、及びアクセスリンク11を介して共有リソース12へのアクセス制御を行なうシステムとして構成される。
各サブシステム1、4、7は独立に処理を実行可能であるが、サブシステム1、4、7間の連携をとりながら共有リソース12を必要に応じてアクセスする必要がある。
各サブシステム1、4、7が共有リソース12に実際のアクセスするために必要な期間をタイムスロットとした場合、各サブシステム1、4、7はアクセス要求のアクセス期間を「タイムスロット×サブシステム数」として発行する。
各サブシステム1、4、7が共有リソース12に実際のアクセスするために必要な期間をタイムスロットとした場合、各サブシステム1、4、7はアクセス要求のアクセス期間を「タイムスロット×サブシステム数」として発行する。
各サブシステム1、4、7は共有リソース12の一貫性維持のため、排他制御しながら共有リソース12へのアクセスが必要となるため、その排他制御を競合制御モジュール10が行なう。
競合制御モジュール10は、各サブシステム1、4、7からのアクセス要求を受け付ける競合制御リンク3、6、9を各サブシステム用に保持し、各サブシステムから受け付けたアクセス要求を競合制御モジュール10内でシリアル化する。
競合制御モジュール10からアクセスリンク11を介してアクセスする際はタイムスロット期間のアクセスで終了する。
競合制御モジュール10は、各サブシステム1、4、7からのアクセス要求を受け付ける競合制御リンク3、6、9を各サブシステム用に保持し、各サブシステムから受け付けたアクセス要求を競合制御モジュール10内でシリアル化する。
競合制御モジュール10からアクセスリンク11を介してアクセスする際はタイムスロット期間のアクセスで終了する。
この際、同時に発生したアクセス要求は各サブシステム1、4、7に設定された優先度順にアクセスされる。優先度の低いサブシステムはアクセス待ちとなるが、その期間は「タイムスロット×サブシステム数」を越えることはない。
各サブシステムのアクセス発生頻度は「タイムスロット×サブシステム数」に1回である。「競合制御モジュール」と「共有リソース」間の「アクセスリンク」は「タイムスロット」しか占有しないためである。
各サブシステムのアクセス発生頻度は「タイムスロット×サブシステム数」に1回である。「競合制御モジュール」と「共有リソース」間の「アクセスリンク」は「タイムスロット」しか占有しないためである。
図2は、タイムスロット数が2、サブシステム数が3となるシステムにおける競合制御の動作事例を示すタイムチャートである。
サブシステムの優先度は、サブシステム1>サブシステム4>サブシステム7とする。
図2において、サブシステムの間で競合がない場合は、サブシステム1の要求は2サイクルで終了し、後続の4サイクルは待ち状態となる。
サブシステムの優先度は、サブシステム1>サブシステム4>サブシステム7とする。
図2において、サブシステムの間で競合がない場合は、サブシステム1の要求は2サイクルで終了し、後続の4サイクルは待ち状態となる。
サブシステム1、サブシステム4、サブシステム7からの要求が同時に発生した場合、は優先度に従う。
サブシステム1の要求は2サイクルで終了し、後続の4サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム4の要求はサブシステム1の処理が終わるまでスタンバイ状態となり、2サイクル後に2サイクルのアクセスを実施し、その後の2サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム7の要求はサブシステム1、サブシステム2の処理が終わるまでスタンバイ状態となり、4サイクル後に2サイクルのアクセスを実施する。
サブシステム1の要求は2サイクルで終了し、後続の4サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム4の要求はサブシステム1の処理が終わるまでスタンバイ状態となり、2サイクル後に2サイクルのアクセスを実施し、その後の2サイクルは次のアクセス開始が可能な状態になるまで待ち状態となる。サブシステム7の要求はサブシステム1、サブシステム2の処理が終わるまでスタンバイ状態となり、4サイクル後に2サイクルのアクセスを実施する。
サブシステム1、サブシステム7からの要求が同時に発生し、1サイクル遅れてサブシステム4の要求が発生した場合、最初はサブシステム1、サブシステム7のみ存在するためサブシステム1が処理を実施する。サブシステム1の実行後は、サブシステム4、サブシステム7がスタンバイ状態として存在するので、サブシステム4が優先して処理され、続いてサブシステム7が処理される。
このように実施の形態1によれば、各サブシステムから見た共有リソース12へのアクセス期間は固定サイクルとなり、競合制御モジュール10の一貫性制御維持の機能を簡便にできる。
また、共有リソース12へのアクセスインターフェースは競合制御モジュール10との経路のみであるため、他のシステムとしての適用も容易となる。
また、サブシステムの追加の際も、競合制御モジュール10への競合制御リンクを追加し、各サブシステムのアクセス期間を追加されたサブシステムのタイムスロットを延長した期間とすることで基本的な制御方法はそのまま利用できるため、複雑度が上がることもない。
また、共有リソース12へのアクセスインターフェースは競合制御モジュール10との経路のみであるため、他のシステムとしての適用も容易となる。
また、サブシステムの追加の際も、競合制御モジュール10への競合制御リンクを追加し、各サブシステムのアクセス期間を追加されたサブシステムのタイムスロットを延長した期間とすることで基本的な制御方法はそのまま利用できるため、複雑度が上がることもない。
実施の形態2.
実施の形態1では、サブシステム1、4、7が競合制御モジュール10にアクセスするアクセス方式は同一であると仮定したが、実施の形態2では、サブシステムの共有リソースへの競合制御リンクのアクセス方式が異なる場合について説明する。
実施の形態1では、サブシステム1、4、7が競合制御モジュール10にアクセスするアクセス方式は同一であると仮定したが、実施の形態2では、サブシステムの共有リソースへの競合制御リンクのアクセス方式が異なる場合について説明する。
図3は、実施の形態2に係る計算機システムの構成を示す図である。本実施の形態に係る計算機システムは、複数のサブシステム13、16、19と、実施の形態1と同じ機能を備える競合制御モジュール23と、共有リソース25と、プロトコル変換モジュール21、22を備える。
図3で、プロトコル変換モジュール21、22はそれぞれサブシステム13、16用のプロトコル変換モジュールであり、競合制御モジュールへのアクセス方式が異なる場合に、アクセス方式の違いを変換する。サブシステム13、16は、それぞれプロトコル変換モジュール21、22を介して競合制御モジュール23にアクセスする。
図3で、プロトコル変換モジュール21、22はそれぞれサブシステム13、16用のプロトコル変換モジュールであり、競合制御モジュールへのアクセス方式が異なる場合に、アクセス方式の違いを変換する。サブシステム13、16は、それぞれプロトコル変換モジュール21、22を介して競合制御モジュール23にアクセスする。
このように実施の形態2に係る計算機システムはプロトコル変換モジュールを備えることにより、サブシステムが競合制御モジュールにアクセスする際のアクセス方式が異なる場合であっても、サブシステムはアクセス方式を変更することなく競合制御モジュールにアクセスが可能となる。これにより、アクセス方式の異なるサブシステムであっても、共有リソースの競合制御を実現できる。
実施の形態3.
実施の形態3に係る計算機システムでは、各々のサブシステムが競合モジュールにアクセスするタイミングを周期的に割り当てる構成を採用する。
図4は、実施の形態3に係る計算機システムの構成を示す図である。図5は、実施の形態3に係る競合制御の動作を説明する図である。
図4において実施の形態3に係る計算機システムは、複数のサブシステム26、28、30と、競合制御モジュール32と、共有リソース36からなる。競合制御モジュール32はセレクタ回路33を備え、周期的にアクセスリンクへの許可を変更する機能を有する。
実施の形態3に係る計算機システムでは、各々のサブシステムが競合モジュールにアクセスするタイミングを周期的に割り当てる構成を採用する。
図4は、実施の形態3に係る計算機システムの構成を示す図である。図5は、実施の形態3に係る競合制御の動作を説明する図である。
図4において実施の形態3に係る計算機システムは、複数のサブシステム26、28、30と、競合制御モジュール32と、共有リソース36からなる。競合制御モジュール32はセレクタ回路33を備え、周期的にアクセスリンクへの許可を変更する機能を有する。
次に、動作について説明する。図5においてサブシステム26、サブシステム28、サブシステム30からのアクセス要求は競合制御モジュール32内のセレクタ回路33で選択される。選択を行うセレクト信号34はカウンタ等を利用した選択信号であり、周期的に順番を選択する。
その際に、選択先を変更する変更周期はタイムスロット単位となり、競合制御モジュールに接続される全てのサブシステムが順に選択されるため、1周期は「サブシステム×タイムスロット」となる。
その際に、選択先を変更する変更周期はタイムスロット単位となり、競合制御モジュールに接続される全てのサブシステムが順に選択されるため、1周期は「サブシステム×タイムスロット」となる。
図5に示した例では、サブシステム30からの要求がどのタイミングで発生してもCASE1、CASE2、CASE3に示すように競合制御モジュール32にアクセス可能となる。
サブシステム30がアクセス可能となるタイミングは「タイムスロット×サブシステム数」の周期で訪れ、かつ、サブシステム30のアクセス期間を「タイムスロット×サブシステム数」だけ確保しているため、共有リソース36へのアクセスに必要な1タイムスロットの期間のアクセスが可能となる。
サブシステム26、28に関しても、サブシステム30と同様にして共有リソース36へアクセスすることが可能となる。
サブシステム30がアクセス可能となるタイミングは「タイムスロット×サブシステム数」の周期で訪れ、かつ、サブシステム30のアクセス期間を「タイムスロット×サブシステム数」だけ確保しているため、共有リソース36へのアクセスに必要な1タイムスロットの期間のアクセスが可能となる。
サブシステム26、28に関しても、サブシステム30と同様にして共有リソース36へアクセスすることが可能となる。
このように実施の形態3では、各サブシステムに対してサイクリックにアクセスタイミングをタイムスロット単位分開放するというように、周期的に各「サブシステム」に対してアクセス可能期間を順次割り当てるようにした。これにより、各サブシステムは周期的に共有リソースにアクセスすることが可能となる。
実施の形態4.
実施の形態3では、各々のサブシステムがアクセス可能となるアクセス期間を「タイムスロット×サブシステム数」としたが、実施の形態4ではサブシステムのアクセス期間を「アクセスタイプ数×タイムスロット」とする。
実施の形態3では、各々のサブシステムがアクセス可能となるアクセス期間を「タイムスロット×サブシステム数」としたが、実施の形態4ではサブシステムのアクセス期間を「アクセスタイプ数×タイムスロット」とする。
ここで、実施の形態4では、共有リソースへのアクセス制御を例えばセマフォ(semaphore)のようなS/W制御を併用することを前提とする。競合制御をS/W制御のセマフォを利用するとすることにより、競合は実際には発生しないという前提でH/Wを構成する。
競合が発生した場合は実行結果として不定扱いとなるが、その場合でもシステムとしてはアクセスが終了することを保障する。競合が発生した状態でのアクセス制御の方式としては、アクセスが同時に発生した場合は優先度に従った処理とし、優先度の高いサブシステムが処理され、他のサブシステムの要求は無視されるようにする。
競合が発生した場合は実行結果として不定扱いとなるが、その場合でもシステムとしてはアクセスが終了することを保障する。競合が発生した状態でのアクセス制御の方式としては、アクセスが同時に発生した場合は優先度に従った処理とし、優先度の高いサブシステムが処理され、他のサブシステムの要求は無視されるようにする。
図6は、サブシステム1、サブシステム2、サブシステム3の競合制御の選択する方式の動作の一例を説明する図である。
アクセスタイプは「READ」と「WRITE」の2種類であり、タイムスロットは2であるため「READ」、「WRITE」に対して2サイクルの実行区間と2サイクルの待ち区間が繰り返すことになる。これにより、各サブシステムのアクセス期間は4サイクルとなる。
競合が発生しない場合には、各サブシステムの要求は正常に処理される。各サブシステムからのアクセス発生タイミングと、「READ」、「WRITE」の実行区間がずれた場合であっても、各アクセスタイプの実行区間は4サイクルの周期で訪れ、各サブシステムのアクセス期間が4サイクルとなるため、共有リソースへのアクセスに必要なタイムスロット期間である2サイクルのアクセスは可能となる。
競合が発生した場合でも、優先度の高いサブシステムを処理するだけであるのでアクセスが終了しないような状態にはならない。
アクセスタイプは「READ」と「WRITE」の2種類であり、タイムスロットは2であるため「READ」、「WRITE」に対して2サイクルの実行区間と2サイクルの待ち区間が繰り返すことになる。これにより、各サブシステムのアクセス期間は4サイクルとなる。
競合が発生しない場合には、各サブシステムの要求は正常に処理される。各サブシステムからのアクセス発生タイミングと、「READ」、「WRITE」の実行区間がずれた場合であっても、各アクセスタイプの実行区間は4サイクルの周期で訪れ、各サブシステムのアクセス期間が4サイクルとなるため、共有リソースへのアクセスに必要なタイムスロット期間である2サイクルのアクセスは可能となる。
競合が発生した場合でも、優先度の高いサブシステムを処理するだけであるのでアクセスが終了しないような状態にはならない。
このように実施の形態4では、各サブシステムの共有リソース回路に対するアクセス要求情報をシリアル化する際の選択手法を、アクセスタイプ数に対して、サイクリックにアクセスタイミングをタイムスロット単位分開放するというような、アクセス可能期間を順次割り当てるようにし、各サブシステムのアクセス期間を「アクセスタイプ数×タイムスロット」とした。これにより、優先度に応じて共有リソースへの競合制御を行うことができる。
なお、競合が発生した状態でのアクセス制御の方式として、最後の要求処理を反映させる競合制御機能を持つようにしてもよい。
また、競合が発生した状態でのアクセス制御の方式として、無効のデータを返す、もしくは書き込む競合制御機能を持つようにしてもよい。
また、競合が発生した状態でのアクセス制御の方式として、無効のデータを返す、もしくは書き込む競合制御機能を持つようにしてもよい。
以上説明したように、本発明は、CPUコアのような処理ユニット間を接続する共有バスを利用したメモリ、I/Oのような共有リソースへのアクセス経路を持つ並列システムを1つのICとして構成する場合、複数のICを基板に実装した1ボードシステム場合の競合制御方式の実装方式として利用できる。
また、PC、サーバで構成される1つのコンピューターシステムを、通信ネットワークで結合した並列システムとして構成する場合でも各コンピューターシステム間の共有リソースの競合制御方式の実装方式としても利用できる。
1 サブシステム、2 サブシステム1からのアクセス要求、3 サブシステム1の競合制御リンク、4 サブシステム2、5 サブシステム2からのアクセス要求、6 サブシステム2の競合制御リンク、7 サブシステム3、8 サブシステム3からのアクセス要求、9 サブシステム3の競合制御リンク、10 競合制御モジュール、11 アクセスリンク、12 共有リソース、13 サブシステム1、14 サブシステム1の競合制御リンク、15 サブシステム3のアクセス方式に変換したサブシステム1の競合リンク、16 サブシステム2、17 サブシステム2の競合制御リンク、18 サブシステム3のアクセス方式に変換したサブシステム2の競合リンク、19 サブシステム3、20 サブシステム3の競合制御リンク、21 サブシステム1用のプロトコル変換モジュール、22 サブシステム2用のプロトコル変換モジュール、23 競合制御モジュール、24 アクセスリンク、25 共有リソース、26 サブシステム1、27 サブシステム1の競合リンク、28 サブシステム2、29 サブシステム2の競合リンク、30 サブシステム3、31 サブシステム3の競合リンク、32 競合制御モジュール、33 周期的にアクセスリンクへの許可を変更するセレクタ回路、34 セレクト信号、35 アクセスリンク、36 共有リソース。
Claims (6)
- 複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、前記処理ノードに設定した優先度に応じて前記アクセス要求をシリアル化し、前記処理ノードが前記共有リソースへアクセスするために要する期間をタイムスロットとする場合に、前記処理ノードの数と前記タイムスロットの積を前記複数の処理ノードが前記共有リソースにアクセスするアクセス期間として設定することを特徴とする計算機システム。 - 複数の前記処理ノードから同時にアクセス要求を受け付けた場合に、前記競合制御モジュールは、各処理ノードに対して、周期的にタイムスロットの期間のアクセス許可を与えることを特徴とする請求項1記載の計算機システム。
- 前記競合制御モジュールは、各処理ノードとのインターフェース部にプロトコル変換部を備え、
前記プロトコル変換部は、前記処理ノードから前記共有リソースへのアクセス方式が異なる場合に、当該処理ノードのアクセス方式を前記共有リソースが処理可能な共通のアクセス方式に変換することを特徴とする請求項1記載の計算機システム。 - 複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、S/W制御を併用し、各処理ノードから送られる「READ」または「WRITE」のアクセスタイプに対して1タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードから同時にアクセス要求を受け付けた場合に優先度の高い処理ノードのアクセス要求について処理し、他の処理ノードからのアクセス要求は無視することを特徴とする計算機システム。 - 複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、S/W制御を併用し、各処理ノードから送られる「READ」または「WRITE」のアクセスタイプに対して1タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードからアクセス要求を受け付けた場合に、最後にアクセスした処理ノードのみの結果を反映させることを特徴とする計算機システム。 - 複数の処理ノードと、前記複数の処理ノードが共有する共有リソースと、前記処理ノードの各々からアクセス要求を受け付け、前記アクセス要求をシリアル化し、シリアル化した順番で共有リソースにアクセスする競合制御モジュールを備える計算機システムであって、
前記競合制御モジュールは、S/W制御を併用し、各処理ノードから送られる「READ」または「WRITE」のアクセスタイプに対して1タイムスロットの期間のアクセス許可を与え、
前記競合制御モジュールは、複数の前記処理ノードからアクセス要求を受け付けた場合に、前記処理ノードに対して無効のデータを返すか、あるいは書き込むことを特徴とする計算機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012037400A JP2013174934A (ja) | 2012-02-23 | 2012-02-23 | 計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012037400A JP2013174934A (ja) | 2012-02-23 | 2012-02-23 | 計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013174934A true JP2013174934A (ja) | 2013-09-05 |
Family
ID=49267805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012037400A Pending JP2013174934A (ja) | 2012-02-23 | 2012-02-23 | 計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013174934A (ja) |
-
2012
- 2012-02-23 JP JP2012037400A patent/JP2013174934A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180095738A1 (en) | Method, device, and system for creating a massively parallilized executable object | |
US7971029B2 (en) | Barrier synchronization method, device, and multi-core processor | |
US9639409B2 (en) | Device and method for communicating between cores | |
US20090240915A1 (en) | Broadcasting Collective Operation Contributions Throughout A Parallel Computer | |
JP4182801B2 (ja) | マルチプロセサシステム | |
WO2014113646A1 (en) | Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of ip cores using high level specification | |
JP2010218364A (ja) | 情報処理システム、通信制御装置および方法 | |
CN103019838A (zh) | 一种基于多dsp处理器平台的分布式实时多任务操作系统 | |
US20140359195A1 (en) | Crossbar switch, information processing apparatus, and information processing apparatus control method | |
JP2021520578A (ja) | タスクスケジューリング | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
CN116028413A (zh) | 一种总线仲裁器、总线仲裁的方法、装置及介质 | |
JP2016173798A (ja) | 半導体装置 | |
CN101710311B (zh) | 一种非对称多元资源节点体系结构 | |
Jiang et al. | AXI-IC $^{\mathrm {RT}} $ RT: Towards a Real-Time AXI-Interconnect for Highly Integrated SoCs | |
JP6668993B2 (ja) | 並列処理装置及びノード間通信方法 | |
JP2014063278A (ja) | 同期処理回路及び同期処理方法 | |
KR20140096587A (ko) | 기능 유닛들 간의 기능 로직 공유 장치, 방법 및 재구성 가능 프로세서 | |
JP4687925B2 (ja) | 優先調停システム及び優先調停方法 | |
JP2013174934A (ja) | 計算機システム | |
Salcic et al. | A time predictable heterogeneous multicore processor for hard real-time GALS programs | |
CN112416053B (zh) | 多核架构的同步信号产生电路、芯片和同步方法及装置 | |
US20140013148A1 (en) | Barrier synchronization method, barrier synchronization apparatus and arithmetic processing unit | |
CN107370652B (zh) | 一种计算机节点动态互联平台及平台组网方法 | |
KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 |