(57)【要約】【課題】分散処理を行う各処理部に温度差が生じる場合に処理性能を向上させ得る処理装置等の提供。【解決手段】設定装置は、各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する取得部と、対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する設定部と、を備える。【選択図】      図２
2020042504.tif 000002
【特許請求の範囲】
【請求項１】
各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する取得部と、
対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する設定部と、
を備える設定装置。
【請求項２】
前記設定部は、前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度を選択することにより行う、請求項１に記載された設定装置。
【請求項３】
前記設定部は、前記設定を、すべての前記分散処理部の前記温度から調整した前記稼働状況のうち最も低いものを選択することにより行う、請求項１に記載された設定装置。
【請求項４】
前記設定部は、前記分散処理部の各々について、その前記分散処理部について前記設定が行われた前記稼働状況を適用する適用部を備える、請求項１乃至請求項３のうちのいずれか一に記載された設定装置。
【請求項５】
前記設定部は前記分散処理部と独立に動作し得る、請求項１乃至請求項４のうちのいずれか一に記載された設定装置。
【請求項６】
前記設定部の各々は、前記分散処理部の各々の前記温度を共有することにより前記設定を行う、請求項１乃至請求項５のうちのいずれか一に記載された設定装置。
【請求項７】
請求項１乃至請求項６のうちのいずれか一に記載された設定装置と前記対象分散処理部とを備える処理装置。
【請求項８】
各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得し、
対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する、
設定方法。
【請求項９】
前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度を選択することにより行う、請求項８に記載された設定方法。
【請求項１０】
前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度の前記分散処理部の候補となる候補分散処理部を選ぶ第一の選択を行い、さらに、前記候補分散処理部から前記温度が最も高い前記分散処理部を選ぶ第二の選択を行うことにより行う、請求項９に記載された設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理を行う処理装置に関する。
【背景技術】
【０００２】
近年人工知能やビッグデータの普及により、あらゆる産業で、コンピュータの処理性能の高性能化への要求が高まっている。しかし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の性能向上が緩やかなため、ＣＰＵの性能向上によるサーバの処理能力向上は困難である。
【０００３】
そのため、サーバにＧＰＧＰＵ（Ｇｅｎｅｒａｌ−ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ）等の補助演算器を実装して計算処理能力を増強する手法が用いられる。
【０００４】
一方、設備投資を抑えるために、サーバの設置面積あたりの性能を高めるニーズが高い。そのため、高性能と高密度の二つのニーズを充足するためにラックマウント型サーバにＧＰＧＰＵ等のカードを横置きに設置して、高密度実装するサーバが増えている。
【０００５】
ＧＰＧＰＵ等のカードを横置きにする場合、標準的なラックでは、カードを横に３枚しか並べられない。そこで、カードの実装数を４枚以上にするためには、縦列にカードを実装することになる。
【０００６】
ここで、カードの冷却がサーバのファンにより行われるパッシブ型のカードの場合、吸気口に近い前段のカードは良好に冷却される。一方、前段のカードの後段に設置されたカードは前段のカードにより加熱された空気により冷却される。そのため、後段のカードは冷却されにくくなり、前段のカードよりも温度が高くなる。ＧＰＧＰＵ等のカードはＣＰＵと同等に消費電力が大きく、発熱も大きい。
【０００７】
そこで、パッシブ型のカードは、一定以上の温度になると、高温になり過ぎないように、動作率を下げて発熱を抑えるスロットリング動作を行うのが一般的である。スロットリング動作としては、動作周波数を下げる、コア数を間引いて処理する、命令の発行レートを抑える等の動作を行う場合が想定される。そして、温度の上昇に対してより精度の高い制御を行うために、スロットリング動作に複数のレベルが設定される場合が多い。
【０００８】
ここで、特許文献１は、自装置における拡張カードの実装状態についての属性を拡張カードスロットごとに判定し、拡張カードの実装状態についての属性に応じて冷却部の冷却度を制御する電子装置を開示する。
【０００９】
また、特許文献２は、個々のグリッドの温度に基づいて、発熱源上で並列化されたデバイスの動作を変更することにより発熱源を集中又は分散させるとともに、発生する発熱量に対応させて冷却制御を行う冷却システムを開示する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１８−０１８３４０号公報
【特許文献２】特開２０１４−１６５３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、スロットリング動作のレベルを高くすると、発熱は抑えられても、計算処理性能が低下する。例えば４枚のカードがＭＰＩ（Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ）で協調して並列処理を行う場合に、前段のカードに対して後段のカードはより高いスロットリングレベルになる場合が多い。そのため、後段のカードは、協調して行われる並列処理のシステムのボトルネックになり、当該システムが十分な処理能力を発揮できないという課題がある。
【００１２】
本発明は、各分散処理部に温度差が生じる場合の処理性能を向上させ得る設定装置等の提供を目的とする。
【課題を解決するための手段】
【００１３】
本発明の設定装置は、各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する取得部と、対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する設定部と、を備える。
【発明の効果】
【００１４】
本発明の設定装置等は、各分散処理部に温度差が生じる場合の処理性能を向上させ得る。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の配置構造の構成例を表す概念図である。
【図２】本実施形態のサーバの構成例を表すブロック図である。
【図３】本実施形態のサーバの構成例を表す概念図である。
【図４】カードの構成例を表す概念図である。
【図５】スロットリングレベル設定のためにＣＰＵが行う処理の処理フロー例を表す概念図である。
【図６】カードが行う係数導出処理の処理フロー例を表す概念図である。
【図７】実施形態の処理装置の最小限の構成を表すブロック図である。
【発明を実施するための形態】
【００１６】
＜第一実施形態＞
［構成と動作］
図１は、本実施形態の配置構造の例である配置構造１０１の構成を表す概念図である。
【００１７】
配置構造１０１は、例えば、複数の補助演算処理用のカードによる分散処理を行うサーバ等におけるカードの配置構造である。
【００１８】
配置構造１０１は、筐体１５１とカード２０１ａ乃至２０１ｄとを備える。
【００１９】
カード２０１ａ乃至２０１ｄの各々は、配置構造１０１を含む図示しないサーバにおいて行われる処理について分散処理を行う分散処理カードである。カード２０１ａ乃至２０１ｄの各々（各カード）は、例えばＧＰＧＰＵを備える補助演算処理用カードである。各カードは、また、気流により冷却されるパッシブタイプのカードである。カード２０１ａ乃至２０１ｄの各々は、筐体１５１の底面に、同図に表すように設置されている。
【００２０】
筐体１５１には、開口部９０６ａ及び９０６ｂが形成されている。開口部９０６ａには、筐体１５１の外部に設置された図示しないファン等により、気流９０１ａが発生している。気流９０１ａは、カード２０１ａ及び２０１ｂを冷却することによりカード２０１ａ及び２０１ｂにより加熱される。加熱された気流は、さらに、カード２０１ｃ及び２０１ｄを冷却することによりカード２０１ｃ及び２０１ｄにより加熱され、気流９０１ｂとして、開口部９０６ｂから、筐体１５１の外に排出される。
【００２１】
図２は、本実施形態のサーバの例であるサーバ１５６の構成を表すブロック図である。
【００２２】
サーバ１５６は、ＣＰＵ１１０と、メモリ群１１２と、スイッチ１１１と、カード２０１ａ乃至２０１ｄとを備える。
【００２３】
カード２０１ａ乃至２０１ｄは、図１に表すカード２０１ａ乃至２０１ｄである。カード２０１ａ乃至２０１ｄの各々は、スイッチ１１６を介してＣＰＵ１１０に接続されている。スイッチ１１６は、例えばＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）スイッチである。各カードは、そのカードの所定の位置の温度であるカード温度をある時間間隔で計測する。各カードは、自カードのカード温度を、他のカードと共有する。そして、各カードは、自カード又は他のカードのカード温度に応じた処理性能のスロットリングレベルの調整を行う。
【００２４】
ここで、スロットリングレベルは、カードの備える処理部が実行する処理に係る稼働状況を表す情報である。スロットリングレベルは、前記処理部の前記稼働状況を低下させる程度を表すものである。スロットリングレベルが高いほど、前記稼働状況は低下する。スロットリングレベルは、例えば、カードが備える処理部の動作周波数を下げる程度（割合）を表す。前記スロットリングレベルは、あるいは、例えば、カードの処理部が複数の副分散処理部を備える場合において、処理を実行する副処理部の数を抑える程度（割合）を表す。前記スロットリングレベルは、あるいは、例えば、カードの処理部において発行される命令の発行レートを抑える程度（割合）を表す。
【００２５】
スイッチ１１６は、例えば、ＰＣＩ  ＥｘｐｒｅｓｓのスイッチＬＳＩである。ここで、ＰＣＩは、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔの略である。
【００２６】
ＣＰＵ１１０は、各カード間のメモリライトやメモリリードをスイッチ１１１に実行させる。以下、ＣＰＵ１１０に相当する処理部を「第一処理部」ということもある。
【００２７】
ＣＰＵ１１０及びカード２０１ａ乃至２０１ｄの各々は、メモリ群１１２に、共通にアクセス可能なメモリ空間を有する。そして、スイッチ１１１は、ライト又はリードのリクエストの宛先を、当該メモリ空間のアドレスにより指定することができる。
【００２８】
図１は、筐体１５１の内部に、各カードが気流の向きに対して左右対称に配置されている例であるが一般的には、各カードは、気流の向きに対して左右対称に配置されているとは限らない。
【００２９】
図３は、後段の１枚のカードが前段の３枚のカードの熱の影響を受け得るサーバの例であるサーバ１５６の構成を表す概念図である。
【００３０】
サーバ１５６は、筐体１５１とカード２０１ａ乃至２０１ｄと電子部品群２１３とを備える。
【００３１】
カード２０１ａ乃至２０１ｄの各々は、筐体１５１の底面に、同図に表すように設置されている。
【００３２】
電子部品群２１３は、図２に表すＣＰＵ１１０、スイッチ１１１、メモリ群１１２や、図示しない電源のような、サーバ１５６の動作に必要な電子部品を抽象的に表したものである。電子部品群２１３は、気流の遮蔽物となる。すなわち、電子部品群２１３に到達した気流は、空気の遮蔽物である電子部品群２１３により、主に左右に分けられて、開口部９０６ｂに向けて進行する。
【００３３】
筐体１５１には、開口部９０６ａ及び９０６ｂが形成されている。開口部９０６ａには、筐体１５１の外部に設置された図示しないファン等により、気流９０１ａが発生している。気流９０１ａは、カード２０１ａ乃至２０１ｃを冷却する際に、カード２０１ａ乃至２０１ｃから受ける熱により加熱される。
【００３４】
加熱された気流の一部は、カード２０１ｄの近傍を通過し、カード２０１ｄによりさらに加熱された上で、開口部９０６ｂから筐体１５１の外へ放出される。カード２０１ｄの近傍に到達する気流には、カード２０１ａにより加熱されたものに加えて、カード２０１ｂやカード２０１ｃにより加熱されたものも、ある程度含まれていることが想定される。
【００３５】
図１又は図３に表すカード配置の場合、各カードが、各カードのカード温度のうちの最も高いカード温度により、そのカードのスロットリングレベルを決定すれば、各カードのスロットリングレベルは等しい値に設定され得る。
【００３６】
上記を式により表現すると次の式１になる。
【００３７】
各カードのスロットリングレベル＝ＦＳＬ（Ｍａｘ（各カードのカード温度））
・・・  式１
ここで、Ｍａｘ（）は、（）内の数値の最大値を出力する関数である。
【００３８】
また、ＦＳＬ（）は（）内のカード温度に応じてスロットリングレベルを導出する関数である。
【００３９】
カード温度が何度の時にスロットリングレベルをいくつに設定するかの対応情報は、予め、測定により定められている。ＦＳＬ（）は当該対応情報を表す関数である。
【００４０】
式１に代えて、上記動作を次に表す式２により表現することもできる。
【００４１】
各カードのスロットリングレベル＝Ｍａｘ（ＦＳＬ（各カードのカード温度））
・・・  式２
スロットリングレベルは、カード温度が高いほどより高いものになるので、式１と式２とは、各カードのカード温度に対し、同一のスロットリングレベルを導出する。
【００４２】
以上説明した動作を行うためには、各カード間でカード温度を共有した上で各カードが式１乃至式２に表すスロットリングレベルの導出及び適用を行えば良い。次に、当該動作を行い得るカードの構成について説明する。
【００４３】
図４は、図１乃至図３に表すカード２０１ａ乃至２０１ｄの各々の例であるカード２０１の構成を表す概念図である。ここで、カード２０１ａ乃至２０１ｄの各々は同等の構成と処理性能を有することを前提とする。
【００４４】
カード２０１は、メモリ群１０７と、プロセッサ１０５と、センサ１０６と、プロセッサ１０９とを備える。
【００４５】
センサ１０６は、例えば、プロセッサ１０５に隣接してプロセッサ１０５の上部に設置されている。そして、センサ１０６は、カード温度を表すアナログ信号を、逐次、プロセッサ１０９へ送付する。
【００４６】
プロセッサ１０９は、例えば、マイクロコンピュータのように、ＣＰＵ１１０とは独立な自立処理動作を行うことが可能である。プロセッサ１０９は、ローカルなインタフェースでプロセッサ１０５と接続されている。当該インタフェースは比較的低速なものであっても構わない。
【００４７】
プロセッサ１０９は、センサ１０６から送付されるアナログ信号を、デジタルのカード温度情報に変換し、メモリ群１０７に格納させる。
【００４８】
プロセッサ１０９は、また、プロセッサ１０５のスロットリングレベルを導出するために必要なカード温度情報を、メモリ群１０７から読み込む。当該カード温度情報は、カード２０１が図１に表すカード２０１ｃ及び２０１ｄのうちのいずれかである場合は、プロセッサ１０９がメモリ群１０７に格納させた、そのカードのカード温度情報である。
【００４９】
一方、プロセッサ１０９が取得するカード温度情報は、カード２０１が図１に表すカード２０１ａ及び２０１ｂのうちのいずれかである場合は、カード２０１ｃ及び２０１ｄの各々のカード温度情報である。当該カード温度情報は、そのプロセッサ１０９が属するカード２０１（自カード）のプロセッサ１０５が、他カードのプロセッサ１０５を介して、メモリリードにより、当該他カードのプロセッサ１０５のメモリ群１０７から取得したものである。当該カード温度情報は、自カードのプロセッサ１０５が、自カードのメモリ群１０７に格納させている。
【００５０】
プロセッサ１０５は、他カードのプロセッサ１０５がメモリリードにより自カードのカード温度情報を取得する際には、その他カードへメモリライトにより自カードのカード温度情報の共有化を図る。プロセッサ１０５は、当該共有化を図るための図示しない副共有化部を備えている。そして、全カードの前記副共有化部の集合体が、全カードについてのカード温度の共有化を図る、図示しない共有化部である。
【００５１】
プロセッサ１０５は、図２に表すスイッチ１１１に接続されている。プロセッサ１０５は、ＣＰＵ１１０の指示とスイッチ１１１の動作により、ＣＰＵ１１０が行う処理の一部を分担するものであり、単独では処理を行わない。
【００５２】
プロセッサ１０５は、前述のように、他カードのカード温度情報をスイッチ１１１経由で当該他カードからのスイッチ１１１経由のメモリリードにより取得し、メモリ群１０７に格納させる。
【００５３】
プロセッサ１０５は、また、そのプロセッサ１０５の属するカードのカード温度情報をスイッチ１１１経由のメモリライトにより他のカードの各々のプロセッサ１０５に対応するメモリ群１０７に格納させる。
【００５４】
プロセッサ１０９は、プロセッサ１０５のスロットリングレベルを導出するために必要なカード温度情報により、スロットリングレベルを導出する。そして、プロセッサ１０９は、導出したスロットリングレベルにより、プロセッサ１０５の稼働状況に、当該スロットリングレベルに対応して予め定められた内容を適用する。プロセッサ１０９は、当該適用を行う図示しない適用部を備えている。
【００５５】
プロセッサ１０９は、自カードが他のいずれのカードよりも温度が高い最高温度カードの場合は、自カードのカード温度等により自カードのスロットリングレベルを設定する。その際に、プロセッサ１０９は、例えば、自カードカード温度とカード温度の時間変化から、そのカード温度がカードの上限を超えそうな場合は、その自カードのカード温度が前記上限を超えないように、より高いスロットリングレベルを設定する。また、プロセッサ１０９は、例えば、自カードカード温度とカード温度の時間変化から、そのカード温度が前記上限と比較して過度に低い場合は、スロットリングレベルをより低く設定する。プロセッサ１０９は、スロットリングレベルの上記設定により、自カードのカード温度が前記上限を超えないようにしつつ、スロットリングレベルを設定可能な最小レベルに設定する。
【００５６】
一方、他のカード（他カード）は、前記最高温度カードのカード温度により、その他カードのスロットリング設定を行う。当該スロットリング設定は、前記最高温度カードにおいて行われる設定とは独立ではあるが、設定の動作は、上記前記最高温度カードの場合と同様である。そのため、他カードのスロットリングレベルは、前記最高温度カードのものと同じ値に設定される。
【００５７】
メモリ群１０７の各アドレスは、図２に表すメモリ群１１２の各アドレスと共に、ＣＰＵ１１０及び各カードで共通の前述のメモリ空間に含まれている。メモリ群１０７には、ＣＰＵ１１０が動作するためのプログラムや情報を保持する。メモリ群１０７は、例えば、半導体メモリから構成される。
【００５８】
次に、図４に表すカード２０１の制御に関する動作の具体例を説明する。
【００５９】
図２に表すサーバ１５６を起動する際に、ＣＰＵ１１０は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が実行させる処理により、以下の各定義を設定するコンフィグファイルを、メモリ群１１２から読み込む。ここで、定義は、その定義の送付先の各カードが動作を行うために必要な情報である。そして、ＣＰＵ１１０は、当該ＢＩＯＳにより、各カードに対し、以下の定義の設定を行う。コンフィグファイルは、メモリ群１１２に、予め、例えば、人により格納されたものである。
【００６０】
カード２０１ａ用の定義
ＰＣＩメモリアドレス２、ＰＣＩメモリアドレス３、ＰＣＩメモリアドレス４・・・（１）
関数ＦＳＬ（）、メモリアドレス３・・・（２）
カード２０１ｂ用の定義
ＰＣＩメモリアドレス１、ＰＣＩメモリアドレス３、ＰＣＩメモリアドレス４・・・（１）
関数ＦＳＬ（）、メモリアドレス４・・・（２）
カード２０１ｃ用の定義
ＰＣＩメモリアドレス１、ＰＣＩメモリアドレス２、ＰＣＩメモリアドレス４・・・（１）
関数ＦＳＬ（）・・・（２）
カード２０１ｄ用の定義
ＰＣＩメモリアドレス１、ＰＣＩメモリアドレス２、ＰＣＩメモリアドレス３・・・（１）
関数ＦＳＬ（）・・・（２）
上記定義のうち（１）は、あるカードのカード温度情報をＰＣＩメモリライトにより、他のカードへライトする場合に用いられるアドレスである。これらのＰＣＩメモリアドレスは、システム起動時にカードの実装数が変更される場合は、固定値にはできない。その場合、ＣＰＵ１１０は、これらのＰＣＩメモリアドレスを、カードの先頭アドレスに対するオフセット値で定義する。それにより、カード２０１のプロセッサ１０５は、カードの番号と先頭アドレスから、そのカードのＰＣＩメモリアドレスを導出することが可能である。
【００６１】
一方、（２）の一番目の情報は、スロットリングレベルを導出するための選択関数である。当該選択関数は、そのカードのスロットリングレベルを、そのカードの後段のカードのカード温度情報により設定するカード２０１ａ及び２０１ｂと、そのカードのカード温度情報により設定するカード２０１ｃ及び２０１ｄとで異なる。
【００６２】
カードのスロットリングレベルを、そのカードの後段のカードのカード温度情報により設定するカード２０１ａ及び２０１ｂの場合は、その後段のカードのアドレスを、（２）の二番目の情報として加える。ここで定義されるアドレスは、ＰＣＩメモリアドレス空間のものではなく、カード２０１内のローカルアドレスでもよい。
【００６３】
ＣＰＵ１１０は、これらの定義情報を、各カードのプロセッサ１０５に対し、システム起動時に送付する。
［効果］
本実施形態のサーバは、サーバを構成する各カードが、各カードのうち最もカード温度が高いカードのカード温度により、そのカードのスロットリングレベルの設定を行う。そのため、前記サーバは、各カード間でスロットリングレベルを同等にしつつ、そのスロットリングレベルを、カード温度がその許容値以下に収まるようにできる、最小レベルになるように制御することができる。
【００６４】
発明が解決すべき課題の項で説明したように、サーバで行われる処理の一部について分散処理を行う場合は、前記サーバでの処理性能を上げるためには、分散処理を行う各カードのスロットリングレベルを略等しくすることが有効である。
【００６５】
前記下流のカードのスロットリングレベルの最大値は、当該下流のカードのカード温度に依存する。そこで、前記サーバは、上述のように、前記上流のカード温度が低く処理能力に余裕のあるカードのスロットリングレベルを前記下流の温度が高く処理能力に余裕がないカードのカード温度で調整する。それにより、前記サーバは、前記上流のカード温度の低いカードのスロットリングレベルを前記下流のカード温度の高いカードのスロットリングレベルと同等にしつつそのスロットリングレベルを最大にすることが可能になる。そのため、前記サーバは、処理性能を最大に設定し得る。
＜第二実施形態＞
第二実施形態の各カードの配置例、サーバの構成例及びカードの構成例は、図１乃至図４に表す第一実施形態のものと同じである。以下、主として、第二実施形態のサーバの第一実施形態のサーバと異なる点について説明する。なお、第一実施形態の説明と以下の説明が矛盾する場合は、以下の説明を優先する。
【００６６】
第一実施形態の例の場合は、各カードのスロットリングレベルが等しく、かつ、最もカード温度等が高いカードのカード温度が許容値以下に収まるようにしつつ、スロットリングレベルを最小値になるように設定する。しかしながら、同場合において、スロットリングレベルが上記のように設定されるまでに時間を要する場合がある。ここで、「カード温度等」は、前述の式１によりスロットリングレベルを導出する場合はカード温度をいう。また、「カード温度等」は、前述の式２によりスロットリングレベルを導出する場合はＦＳＬ（カード温度）をいう。
【００６７】
上記の理由は、カード温度の最大値等を導出する際に対象とするカード温度の数が多く、さらに各カードが独立にスロットリングレベルの導出を行うためである。
【００６８】
この課題は、各カードが、スロットリングレベルの導出に用いるカード温度等の数を少なく絞る絞込みを行うことにより解決し得る。
【００６９】
例えば、図１に表す配置構造１０１においては、カード２０１ｃ及び２０１ｄの各々は、カード２０１ａ及び２０１ｂの各々の、気流９０１ａの向きについての下流に位置することが分かっている。そのため、カード２０１ｃ及び２０１ｄの各々はカード２０１ａ及び２０１ｂの各々の発熱の影響を受ける。一方、カード２０１ａ及び２０１ｂの各々は、カード２０１ｃ及び２０１ｄの各々の発熱の影響を受けない。さらに、カード２０１ｃ及び２０１ｄの各々がカード２０１ａ及び２０１ｂの各々から受ける発熱の影響は、カード２０１ａ及び２０１ｂが相手方から受ける発熱の影響より大きい。
【００７０】
以上により、そのため、各カードは、スロットリングレベルを導出する際に、各カードのうち最もカード温度が高くなる可能性があるカード２０１ｃ及び２０１ｄの各々のカード温度等によりスロットリングレベルを決定すればよい。すなわち、カード２０１ａ及び２０１ｂの各々は、式１や式２によりスロットリングレベルを導出する際に、カード２０１ａ及び２０１ｂのカード温度等を用いる必要はないことになる。
【００７１】
上記動作を式で表すと以下のようになる。
【００７２】
各カードのスロットリングレベル＝ＦＳＬ［Ｍａｘ｛（カード２０１ｃの温度）、（カード２０１ｄの温度）｝］  ・・・  式３
ここで、Ｍａｘ（）は、（）内の数値の最大値を出力する関数である。
【００７３】
また、ＦＳＬ（）は（）内のカード温度に応じてスロットリングレベルを導出する関数である。
【００７４】
カード温度とその変化率との組合せに対して設定すべきスロットリングレベルを表す対応情報は、例えば、予め、測定により定められている。ＦＳＬ（）は当該対応情報を表す関数である。
【００７５】
当該対応情報は、例えば、図２に表すサーバ１５６のメモリ群１１２が予め保持する。その場合、サーバ１５６の起動時に、ＣＰＵ１１０が、当該対応情報を各カードへ送付する。
【００７６】
式３に代えて、上記動作を次に表す式４により表現することもできる。
【００７７】
各カードのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ｃの温度）、ＦＳＬ（カード２０１ｄの温度）］  ・・・  式４
スロットリングレベルは、カード温度が高いほどより高いものになるので、式３と式４とは、いずれも、同一のスロットリングレベルを導出し得る。
【００７８】
一方、図３に表す場合は、気流の向きを考慮すると、カード温度が最も高いものはカード２０１ｄである。従い、いずれのカードもカード２０１ｄのカード温度等により、スロットリングレベルを調整する。
【００７９】
当該動作を式で表すと次の式５又は式６になる。
【００８０】
各カードのスロットリングレベル＝ＦＳＬ［Ｍａｘ｛（カード２０１ｃの温度）、（カード２０１ｄの温度）｝］  ・・・  式５
各カードのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ｃの温度）、ＦＳＬ（カード２０１ｄの温度）］  ・・・  式６
［効果］
第二実施形態のサーバの各カードは、そのスロットリングレベルを導出する際に用いる各カードのカード温度のうちの最も高いカード温度に係るカード温度等を導出する対象とするカード温度を、各カードの配置により絞り込む。そのため、前記サーバは、各カードのスロットリングレベルが、最も高いカード温度が許容値以内に収まる最小値に等しく設定されるまでの時間を短縮することができる。
＜第三実施形態＞
第三実施形態の各カードの配置例、サーバの構成例及びカードの構成例は、図１乃至図４に表す第一実施形態及び第二実施形態のものと同じである。第三実施形態のサーバは、以下の説明が第一実施形態及び第二実施形態のサーバと異なる。なお、第一実施形態及び第二実施形態の説明と以下の説明が矛盾する場合は、以下の説明を優先する。
【００８１】
第二実施形態は、各カードは、予め各カードの配置が分かっている場合に、気流から考えて、最もカード温度が高い可能性があるカードのカード温度等から、そのカードのスロットリングレベルを導出する。しかしながら、カードの枚数が多い場合や気流が複雑な場合等、又は、そもそも各カードの配置が分からない場合は、見ただけでは、どのカードの温度が最も高くなり得るかが分からない場合があり得る。その場合は、各カード間の熱依存関係を調べる。そして、各カードは、そのカードの熱の影響がある単数又は複数のカードのカード温度等の最大値から、そのカードのスロットリングレベルを導出する。
【００８２】
上記動作に対応する処理の例は、例えば以下のようなものである。
【００８３】
各カードは、独立したスロットリングレベル設定のための関数を保持し得る。それらの関数についてのデフォルト関数は、予め、図２に表すメモリ群１１２が保持している。そして、サーバ１５６のシステム起動時に、各カードのプロセッサ１０５のドライバがメモリ群１１２から読み込む。
【００８４】
前記デフォルトの関数は、例えば、以下のものである。
カード２０１ａのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ａのカード温度×係数１１）、ＦＳＬ（カード２０１ｂのカード温度×係数１２）、
ＦＳＬ（カード２０１ｃのカード温度×係数１３）、ＦＳＬ（カード２０１ｄのカード温度×係数１４）］  ・・・  式７
カード２０１ｂのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ｂのカード温度×係数２１）、ＦＳＬ（カード２０１ａのカード温度×係数２２）、
ＦＳＬ（カード２０１ｃのカード温度×係数２３）、ＦＳＬ（カード２０１ｄのカード温度×係数２４）］  ・・・  式８
カード２０１ｃのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ｃのカード温度×係数３１）、ＦＳＬ（カード２０１ａのカード温度×係数３２）、
ＦＳＬ（カード２０１ｂのカード温度×係数３３）、ＦＳＬ（カード２０１ｄのカード温度×係数３４）］  ・・・  式９
カード２０１ｄのスロットリングレベル＝Ｍａｘ［ＦＳＬ（カード２０１ｄの温度×４１）、ＦＳＬ（カード２０１ａのカード温度×係数４２）、
ＦＳＬ（カード２０１ｂの温度×係数４３）、ＦＳＬ（カード２０１ｃのカード温度×係数４４）］  ・・・  式１０
ここで、関数Ｍａｘ［］及び関数ＦＳＬ（）の説明は、実施形態１で述べた通りである。
【００８５】
式７乃至式１０における各係数は、０又は１の値である。係数が０の場合は、その係数が乗算されたカード温度はそのカードのスロットリングレベルの導出に用いられないことを意味する。一方、係数が１の場合は、その係数が乗算されたカード温度はそのカードのスロットリングレベルの導出に用いられることを意味する。
【００８６】
例えば、図３に表すサーバ１５６の場合、カード２０１ａのプロセッサ１０９は、カード２０１ａの発熱のカード２０１ｂ及び２０１ｃのカード温度への影響がほとんどないことを判定する。カード２０１ａの発熱のカード２０１ｂ及び２０１ｃのカード温度への影響がほとんどない理由は、カード２０１ｂ及び２０１ｃはカード２０１ａの風下にないためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式７の係数１２及び係数１３を０に設定する。
【００８７】
また、カード２０１ａのプロセッサ１０９は、カード２０１ａの発熱のカード２０１ｄのカード温度への影響が大きいことを判定する。カード２０１ａの発熱のカード２０１ｄのカード温度への影響が大きい理由は、カード２０１ｄが、カード２０１ａの風下にあるためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式７の係数１４を１に設定する。
【００８８】
さらに、カード２０１ａのプロセッサ１０９は、式７の係数１４を１に設定したことを受けて、式７の係数１１を０に設定する。これは、カード２０１ｄのカード温度がカード２０１ａの発熱の影響によりカード２０１ａのカード温度より高いことが分かったので、スロットリングレベルの導出の際にカード２０１ａのカード温度を考慮する必要がないためである。
【００８９】
また、カード２０１ｂのプロセッサ１０９は、カード２０１ｂの発熱のカード２０１ａ及び２０１ｃのカード温度への影響がほとんどないことを判定する。カード２０１ｂの発熱のカード２０１ａ及び２０１ｃのカード温度への影響がほとんどない理由はカード２０１ａ及び２０１ｃが、カード２０１ｂの風下にないためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式７の係数２１及び係数２３を０に設定する。
【００９０】
また、カード２０１ｂのプロセッサ１０９は、カード２０１ｂの発熱のカード２０１ｄのカード温度への影響が大きいことを判定する。カード２０１ｂの発熱のカード２０１ｄのカード温度への影響が大きい理由は、カード２０１ｄがカード２０１ｂの風下にあるためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式８の係数２４を１に設定する。
【００９１】
さらに、カード２０１ｂのプロセッサ１０９は、式８の係数１４を１に設定したことを受けて、式８の係数２２を０に設定する。これは、カード２０１ｄのカード温度がカード２０１ｂの発熱の影響によりカード２０１ｂのカード温度より高いことが分かったので、スロットリングレベルの導出の際にカード２０１ｂのカード温度を考慮する必要がないためである。
【００９２】
また、カード２０１ｃのプロセッサ１０９は、カード２０１ｃの発熱のカード２０１ａ及び２０１ｂのカード温度への影響がほとんどないことを判定する。カード２０１ｃの発熱のカード２０１ａ及び２０１ｂのカード温度への影響がほとんどない理由は、カード２０１ａ及び２０１ｂがカード２０１ｃの風下にないためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式９の係数２１及び係数２２を０に設定する。
【００９３】
また、カード２０１ｃのプロセッサ１０９は、カード２０１ｃの発熱のカード２０１ｄのカード温度への影響が大きいことを判定する。カード２０１ｃの発熱のカード２０１ｄのカード温度への影響が大きい理由は、カード２０１ｄがカード２０１ｃの風下にあるためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式９の係数３４を１に設定する。
【００９４】
さらに、カード２０１ｂのプロセッサ１０９は、式９の係数３４を１に設定したことを受けて、式９の係数３２を０に設定する。これは、カード２０１ｄのカード温度がカード２０１ｃの発熱の影響によりカード２０１ｃのカード温度より高いことが分かったので、スロットリングレベルの導出の際にカード２０１ｃのカード温度を考慮する必要がないためである。
【００９５】
また、カード２０１ｄのプロセッサ１０９は、カード２０１ｄの発熱のカード２０１ａ乃至２０１ｃのカード温度への影響がほとんどないことを判定する。カード２０１ｄの発熱のカード２０１ａ乃至２０１ｃのカード温度への影響がほとんどない理由は、カード２０１ｄがカード２０１ａ乃至２０１ｃの風下にあるためである。なお、各カード間の熱依存関係を調べる具体的な方法は、図５及び図６を参照して後述する。この場合、プロセッサ１０９は、式１０の係数４１、係数４２及び係数４３をいずれも０に設定する。
【００９６】
また、カード２０１ｂのプロセッサ１０９は、式１０の係数２１、係数２２及び係数２３をいずれも０に設定したことを受けて、式１０の係数４４を１に設定する。これは、カード２０１ｄの発熱の影響を受けるカードが他にないので、カード２０１ｄのカード温度が、カード温度の最大値になるためである
以上により、図３に表すサーバ１５６の場合は、式７乃至１０はいずれも式４に等しくなる。
【００９７】
以上の動作を行うためには、各カードのプロセッサ１０９は、他のカードのカード温度が自カードの発熱の影響を有意に受けるかを判定する必要がある。
【００９８】
そのために、各カードのプロセッサ１０９は、例えば、他の各カードのプロセッサ１０５が実行する前記分散処理を実行する。そして、各カードのプロセッサ１０９は、自カードのプロセッサ１０５が前記分散処理を停止し、他カードのカード温度の、自カードのプロセッサ１０５が前記分散処理を行わない状態からの変化量を測定する。そして、各カードのプロセッサ１０９は、その変化量の大小を判定することにより行う。
【００９９】
次に、当該判定を行うための処理の例について説明する。
【０１００】
図５は、スロットリングレベルの設定のために図２に表すＣＰＵ１１０が行う処理フロー例を表す概念図である。以下の処理は、図２に表すメモリ群１１２が予め保持する所定のプログラムがＣＰＵ１１０に実行させるものである。
【０１０１】
ＣＰＵ１１０は、例えば、ＣＰＵ１１０の起動の完了を判定することにより図５に表す処理を開始する。
【０１０２】
そして、ＣＰＵ１１０は、Ｓ１０１の処理として、スロットリングレベルの設定を各カードに実行させるかについての判定を行う。ＣＰＵ１１０は、当該判定を、例えば、各カードに指示している単位時間当たりの処理の量が、予め設定された閾値を超えたことを判定することにより行う。処理量が多いときの方が、あるカード発熱の他のカードのカード温度の影響が顕著に現るため、当該影響の有無についての判定が容易になるためである。Ｓ１０１の処理は、各カードの単位時間当たりの処理量がある程度多いときにスロットリングレベルの調整を行うために行うものである。
【０１０３】
ＣＰＵ１１０は、Ｓ１０１の処理による判定結果がｙｅｓの場合は、Ｓ１０２の処理を行う。
【０１０４】
一方、ＣＰＵ１１０は、Ｓ１０１の処理による判定結果がｎｏの場合は、Ｓ１０１の処理を再度行う。
【０１０５】
ＣＰＵ１１０は、Ｓ１０２の処理を行う場合は、同処理として、カードの識別子であるカード番号ｎに１を代入する。カードの総数がｍ枚であるとした場合、ｎは１以上ｍ以下の整数である。
【０１０６】
そして、ＣＰＵ１１０は、Ｓ１０３の処理として、カード番号がｎのカードに、第一通知を行う。当該第一通知は、カード番号がｎのカードに、後述の図６に表すＳ２０２の処理を行わせる時間を確保する趣旨で行われるものである。
【０１０７】
そして、ＣＰＵ１１０は、Ｓ１０４の処理として、Ｓ１０３の処理が終了してから時間Ｔ１が経過したかについての判定を行う。Ｓ１０４の処理は、後述の図６に表すＳ２０２の処理が完了するのを待つ趣旨で行われるものである。
【０１０８】
ＣＰＵ１１０は、Ｓ１０４の処理による判定結果がｙｅｓの場合は、Ｓ１０５の処理を行う。
【０１０９】
一方、ＣＰＵ１１０は、Ｓ１０４の処理による判定結果がｎｏの場合は、Ｓ１０４の処理を再度行う。
【０１１０】
ＣＰＵ１１０は、Ｓ１０５の処理を行う場合は、同処理として、カード番号がｎのカードに第二通知を行う。当該第二通知は、カード番号がｎのカードに、後述の図６に表すＳ２０４乃至Ｓ２０６の処理を行わせるための時間を確保する趣旨で行われるものである。
【０１１１】
ＣＰＵ１１０は、Ｓ１０６の処理による判定結果がｙｅｓの場合は、Ｓ１０７の処理を行う。
【０１１２】
一方、ＣＰＵ１１０は、Ｓ１０６の処理による判定結果がｎｏの場合は、Ｓ１０６の処理を再度行う。
【０１１３】
ＣＰＵ１１０は、Ｓ１０７の処理を行う場合は、同処理として、カード番号ｎを一つ増やす。
【０１１４】
そして、ＣＰＵ１１０は、Ｓ１０８の処理として、カード番号ｎは、カードの枚数でありカード番号の最大値であるカード番号ｍを超えたかについての判定を行う。
【０１１５】
ＣＰＵ１１０は、Ｓ１０８の処理による判定結果がｙｅｓの場合は、図５に表す処理を終了する。
【０１１６】
一方、ＣＰＵ１１０は、Ｓ１０８の処理による判定結果がｎｏの場合は、Ｓ１０３の処理を再度行う。
【０１１７】
図６は、図４に表す各カードのプロセッサ１０９が行う係数導出処理の処理フロー例を表す概念図である。
【０１１８】
プロセッサ１０９は、例えば、起動完了を表す信号を図２に表すＣＰＵ１１０からプロセッサ１０５経由で受領することにより、図６に表す処理を開始する。
【０１１９】
そして、プロセッサ１０９は、Ｓ２０１の処理として、前述の第一通知が送付されたかについての判定を行う。当該指示は、図５に表すＳ１０３の処理によりＣＰＵ１１０が自カードに対して行うものである。
【０１２０】
プロセッサ１０９は、Ｓ２０１の処理による判定結果がｙｅｓの場合はＳ２０２の処理を行う。
【０１２１】
一方、プロセッサ１０９は、Ｓ２０１の処理による判定結果がｎｏの場合は、Ｓ２０１の処理を再度行う。
【０１２２】
プロセッサ１０９は、Ｓ２０２の処理を行う場合は、同処理として、他の各カードのカード温度を、メモリ群１０７に格納させる。当該格納は、プロセッサ１０９が行う、カード温度情報のメモリ群１０７への通常の格納とは区別された格納である。
【０１２３】
そして、プロセッサ１０９は、Ｓ２０３の処理として、ＣＰＵ１１０から、第二通知が送付されたかについての判定を行う。
【０１２４】
プロセッサ１０９は、Ｓ２０３の処理による判定結果がｙｅｓの場合はＳ２０４の処理を行う。
【０１２５】
一方、プロセッサ１０９は、Ｓ２０３の処理による判定結果がｎｏの場合は、Ｓ２０３の処理を再度行う。
【０１２６】
プロセッサ１０９は、Ｓ２０４の処理を行う場合は、同処理として、プロセッサ１０５に分散処理を停止させる。
【０１２７】
そして、プロセッサ１０９は、Ｓ２０５の処理として、Ｓ２０４の処理が終了してから時間Ｔ３が経過したかについての判定を行う。ここで、時間Ｔ３は同処理のために予め設定された時間である。同処理は、自カードの分散処理を停止して自カードの温度が下がった影響が他カードに現れるのを待つ趣旨で行われるものである。
【０１２８】
プロセッサ１０９は、Ｓ２０５の処理による判定結果がｙｅｓの場合はＳ２０６の処理を行う。
【０１２９】
一方、プロセッサ１０９は、Ｓ２０５の処理による判定結果がｎｏの場合は、Ｓ２０５の処理を再度行う。
【０１３０】
プロセッサ１０９は、Ｓ２０６の処理を行う場合は、同処理として、閾値Ｔｔｈ以上カード温度が下がった他カードがあるかについての判定を行う。プロセッサ１０９は、当該判定の際に、同処理の時点での各他カードのカード温度を特定し、各他カードについてＳ２０２の処理で格納したカード温度との差を求る。そして、プロセッサ１０９は、その差が閾値Ｔｔｈ以上のものがあるかを判定する。閾値Ｔｔｈは、Ｓ２０６の処理のために予め定められたカード温度についての閾値である。
【０１３１】
プロセッサ１０９は、Ｓ２０６の処理による判定結果がｙｅｓの場合はＳ２０７の処理を行う。
【０１３２】
一方、プロセッサ１０９は、Ｓ２０６の処理による判定結果がｎｏの場合は、Ｓ２０９の処理を行う。
【０１３３】
プロセッサ１０９は、Ｓ２０７の処理を行う場合は、同処理として、Ｓ２０６の処理の過程でカード温度が閾値Ｔｔｈ以上下がったことを判定したカードについての係数を１にする。
【０１３４】
そして、プロセッサ１０９は、Ｓ２０８の処理として、自カードについての係数を０にする。そして、プロセッサ１０９は、図６に表す処理を終了する。
【０１３５】
プロセッサ１０９は、Ｓ２０９の処理を行う場合は、同処理として、自カードについての係数を１にする。そして、プロセッサ１０９は、図６に表す処理を終了する。
［効果］
第三実施形態のサーバは、第二実施形態のサーバと同様に、そのスロットリングレベルを導出する際に用いる各カードのカード温度のうちの最も高いカード温度に係るカード温度等を導出する対象とするカード温度を、各カードの配置により絞りこむ。従い、第三実施形態のサーバは、第二実施形態のサーバと同様の効果を奏する。
【０１３６】
第三実施形態のサーバは、前記絞りこみを、各カードにおいて、自カードの発熱の他カードのカード温度への影響が有意であるかを判定することにより行う。そのため、第三実施形態のサーバは、カードの枚数が多い場合や気流が複雑な場合等、又は、各カードの配置が分からない場合においても、第二実施形態のサーバと同様の効果を奏する。
【０１３７】
以上の説明においては、各カード間のカード温度差は風により生じる場合の例を説明した。しかしながら、当該カード温度差が生じる原因は、他のものであっても構わない。当該原因は、例えば、あるカードの近傍に他の発熱体が存在する等であっても構わない。
【０１３８】
以上の説明においては、分散処理部であるプロセッサ１０５ごとにその分散処理部のスロットリングレベルの設定を、そのプロセッサ１０５が属するカードのプロセッサ１０９により行う場合の例を説明した。しかしながら、各分散処理部のスロットリングレベルの設定を行う部分の数と位置は任意である。
【０１３９】
図７は、実施形態の設定装置の最小限の構成である設定装置１０９ｘの構成を表す概念図である。
【０１４０】
設定装置１０９ｘは、取得部１０９ａｘと、設定部１０９ｂｘとを備える。
【０１４１】
取得部１０９ａｘは、分散処理部群に含まれる分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する。前記分散処理部群は、各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる前記分散処理部からなる。
【０１４２】
設定部１０９ｂｘは、対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えない調整可能な最高レベルに設定する。
【０１４３】
発明が解決すべき課題の項で説明したように、サーバ等の処理性能を上げるためには、各分散処理部のスロットリングレベル等の稼動状況を略等しくし、その稼働状況を可能な限り高くすることが重要である。設定装置１０９ｘは、各分散処理部のスロットリングレベル等の稼動状況を略等しくし、その稼働状況を可能な限り高く設定するので、前記分散処理部群を備えるサーバ等は、処理性能を向上させる。
【０１４４】
そのため、設定装置１０９ｘは、各分散処理部に温度差が生じる場合の処理性能を向上させ得る。
【０１４５】
そのため、設定装置１０９ｘは、前記構成により、［発明の効果］の項に記載した効果を奏する。
【０１４６】
なお、設定装置１０９ｘは、例えば、図４に表すプロセッサ１０９である。また、取得部１０９ａｘは、例えば、プロセッサ１０９の、分散処理部群に含まれる分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する部分である。また、設定部１０９ｂｘは、例えば、プロセッサ１０９の、対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する部分である。また、前記分散処理部は、例えば、図４に表すカード２０１又はプロセッサ１０５である。
【０１４７】
以上、本発明の各実施形態を説明したが、本発明は、前記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で更なる変形、置換、調整を加えることができる。例えば、各図面に示した要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【０１４８】
また、前記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
（付記１）
各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得する取得部と、
対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する設定部と、
を備える設定装置。
（付記２）
前記設定部は、前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度を選択することにより行う、付記１に記載された設定装置。
（付記３）
前記設定部は、前記設定を、すべての前記分散処理部の前記温度から調整した前記稼働状況のうち最も低いものを選択することにより行う、付記１に記載された設定装置。
（付記４）
前記温度は、前記分散処理部の所定の部分のものである、付記１乃至付記３のうちのいずれか一に記載された設定装置。
（付記５）
前記設定部は、前記分散処理部の各々について、その前記分散処理部について前記設定が行われた前記稼働状況を適用する適用部を備える、付記１乃至付記４のうちのいずれか一に記載された設定装置。
（付記６）
前記設定部は前記分散処理部と独立に動作し得る、付記１乃至付記５のうちのいずれか一に記載された設定装置。
（付記７）
前記設定部の各々は、前記分散処理部の各々の前記温度を共有することにより前記設定を行う、付記１乃至付記６のうちのいずれか一に記載された設定装置。
（付記８）
前記共有に係る共有化を行う共有化部をさらに備える、付記７に記載された設定装置。
（付記９）
前記共有化部は、前記分散処理部の各々について、その前記分散処理部の前記温度についての前記共有化を行う副共有化部を備える、付記８に記載された設定装置。
（付記１０）
前記分散処理部の各々の近傍に温度センサをさらに備え、前記副共有化部は前記温度センサにより前記温度を取得する、付記９に記載された設定装置。
（付記１１）
前記稼働状況を表す情報が、スロットリングレベルである、付記１乃至付記１０のうちのいずれか一に記載された設定装置。
（付記１２）
前記スロットリングレベルは、前記分散処理における、動作周波数を下げる程度、前記分散処理を実行する副分散処理部の数を抑える程度、及び、前記分散処理において発行される命令の発行レートを抑える程度、のうちの、少なくともいずれかを表す、付記１１に記載された設定装置。
（付記１３）
前記分散処理部の各々はカード状のものに設置されている、付記１乃至付記１２のうちのいずれか一に記載された設定装置。
（付記１４）
前記分散処理部の各々はＧｅｎｅｒａｌ−ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔに含まれている、付記１乃至付記１３のうちのいずれか一に記載された設定装置。
（付記１５）
前記分散処理を行わせる第一処理部をさらに備える、付記１乃至付記１４のうちのいずれか一に記載された設定装置。
（付記１６）
前記分散処理に係る分散を行うスイッチをさらに備える、付記１５に記載された設定装置。
（付記１７）
前記差が、気流に関する前記分散処理部の位置の違いにより生じる、付記１乃至付記１６のうちのいずれか一に記載された設定装置。
（付記１８）
前記分散処理部からなる第一処理部群を冷却した前記気流が、他の前記分散処理部からなる第二処理部群を冷却し、前記第二処理部群を冷却した前記気流は、前記第一処理部群を冷却しない場合において、
前記第一処理部群に属する前記分散処理部の前記稼働状況を、前記第二処理部群に属する前記分散処理部の前記稼働状況と略等しくする、付記１７に記載された設定装置。
（付記１９）
付記１乃至付記１８のうちのいずれか一に記載された設定装置と前記対象分散処理部とを備える処理装置。
（付記２０）
各々が、互いに処理能力が略等しく、共通の処理についての分散処理を行い、少なくとも二つは温度に差が生じる分散処理部からなる分散処理部群に含まれる前記分散処理部の各々の温度のうちの最も高い温度である最高温度を取得し、
対象とする前記分散処理部である対象分散処理部の稼働状況を、前記最高温度の前記分散処理部のものと略等しく、前記最高温度が許容温度を超えないようにできる、調整可能な最高レベルに設定する、
設定方法。
（付記２１）
前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度を選択することにより行う、付記２０に記載された設定方法。
（付記２２）
前記設定を、すべての前記分散処理部の前記温度から最も高い前記温度の前記分散処理部の候補となる候補分散処理部を選ぶ第一の選択を行い、さらに、前記候補分散処理部から前記温度が最も高い前記分散処理部を選ぶ第二の選択を行うことにより行う、付記２０に記載された設定方法。
（付記２３）
前記第一の選択を、前記分散処理部の各々の配置から行う、付記２２に記載された設定方法。
（付記２４）
前記第一の選択を、前記分散処理部の各々の他の前記分散処理部への熱的影響が有意であるかを判定することにより行う、付記２２に記載された設定方法。
（付記２５）
前記第一の選択を、前記分散処理部が前記分散処理を停止した場合の、他の前記分散処理部の前記温度の低下の程度により行う、付記２４に記載された設定方法。
【符号の説明】
【０１４９】
１０１    配置構造
１０５、１０９    プロセッサ
１０６    センサ
１０９ａｘ    取得部
１０９ｂｘ    設定部
１０９ｘ    設定装置
１１０    ＣＰＵ
１１１    スイッチ
１０７、１１２    メモリ群
１５１    筐体
１５６    サーバ
２０１、２０１ａ、２０１ｂ、２０１ｃ、２０１ｄ    カード
２１３    電子部品群
９０１ａ、９０１ｂ    気流
９０６ａ、９０６ｂ    開口部
【図１】
2020042504.tif 000003
【図２】
2020042504.tif 000004
【図３】
2020042504.tif 000005
【図４】
2020042504.tif 000006
【図５】
2020042504.tif 000007
【図６】
2020042504.tif 000008
【図７】
2020042504.tif 000009