JP7720013B2 - アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム - Google Patents

アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム

Info

Publication number
JP7720013B2
JP7720013B2 JP2024536659A JP2024536659A JP7720013B2 JP 7720013 B2 JP7720013 B2 JP 7720013B2 JP 2024536659 A JP2024536659 A JP 2024536659A JP 2024536659 A JP2024536659 A JP 2024536659A JP 7720013 B2 JP7720013 B2 JP 7720013B2
Authority
JP
Japan
Prior art keywords
accelerator
information
processing
setting
unit
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.)
Active
Application number
JP2024536659A
Other languages
English (en)
Other versions
JPWO2024024001A1 (ja
Inventor
奨悟 斎藤
輝 原澤
圭 藤本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2024024001A1 publication Critical patent/JPWO2024024001A1/ja
Priority to JP2025124225A priority Critical patent/JP2025137767A/ja
Application granted granted Critical
Publication of JP7720013B2 publication Critical patent/JP7720013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Description

本発明は、アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラムに関する。
プロセッサの種別に応じて、得意(処理能力が高い)とするワークロードが異なる。汎用性の高いCPU(Central Processing Unit)に対し、CPUが苦手(処理能力が低い)とする並列度の高いワークロードを、高速かつ高効率に演算可能なFPGA(Field Programmable Gate Array)/(以下の説明において、「/」は「または」を表記する)GPU(Graphics Processing Unit)/ASIC(Application Specific Integrated Circuit)等のアクセラレータ(以下、適宜ACCという)がある。これらの異種プロセッサを組み合わせ、CPUの苦手とするワークロードをACCへオフロードして演算することで、総合的な演算時間や演算効率を向上させるオフロード技術の活用が進んでいる。
vRAN(virtual Radio Access Network)等ではCPUのみでは性能が足りず要件を満たせない場合に、FPGAやGPUなどの高速演算可能なアクセラレータに一部の処理をオフロードすることが行われている。
ACCオフロードが行われる具体的ワークロードとしては、vRANにおける符号化/復号化処理(FEC:Forward Error Correction処理)、音声や映像のメディア処理、暗号化/復号化処理等が代表例として挙げられる。
計算機システムにおいて、計算機(以下、アクセラレータ搭載サーバ)上に、汎用処理に対応したハードウェア(CPU)と特定の演算に特化したハードウェア(アクセラレータ)を搭載し、ソフトウェアの動作する汎用プロセッサからアクセラレータに対し一部の演算処理をオフロードする構成をとることがある。
また、クラウドコンピューティングの進展に伴い、ユーザサイトに配備されたクライアントマシンから、ネットワーク(NW)を介して遠隔サイト(ユーザ近傍に位置するデータセンタなど)のサーバに対し、一部の演算量の大きな処理をオフロードすることで、クライアントマシンを単純な構成とすることが広まりつつある。
図17は、計算機システムを説明する図である。
図17に示すように、サーバ50は、ハードウェア10上にCPU11と、アクセラレータ演算回路・プログラム12aを有するアクセラレータ12と、入出力部13と、冷却機構(Fan等)14と、を搭載し、サーバ50上のCPU11上で動作するソフトウェア20のアプリケーション(以下、適宜APLという)1を備える。なお、冷却機構(Fan等)14は、図17のハードウェア10に搭載する例を示したが、ハードウェア10とは別のハードウェアに搭載されていてもよい。
サーバ50は、外部からの入力データを受け付け、サーバ内部で演算処理を行った後に、外部に出力する。
アプリケーション1は、標準として規定された関数群(API)を呼び出し、アクセラレータ12への一部処理のオフロードを行う。
アクセラレータ12は、FPGA/GPU等の計算アクセラレータデバイスである。アクセラレータ12は、アクセラレータ演算回路・プログラム12aを有し、アクセラレータ演算回路・プログラム12aを用いて演算を行う。
なお、アクセラレータ12は、冷却用Fan故障などにより、一定の確率で故障が発生する。
入出力部13は、入力データを受け付け、出力する。
図18は、サーバ50の入出力部13への入力データのトラヒック量の変動を説明する図である。
図18に示すように、入力データのトラヒック量は、時系列で変動する。例えば、RAN(Radio Access Network)における都市部トラヒックは、昼は多く、夜は少ない。
サーバ50において、入力データに対する一定時間内の応答性を保ちつつ、アクセラレータ12およびその冷却に関する消費電力を最小化する要件は、下記である。
・要件1:[電力効率]
サーバ50の入力データに対して、アクセラレータ12の演算と冷却に必要な消費電力が最小限となること。
・要件2:[応答性]
入力データに対して、入力から一定時間内にサーバ50での処理が完了すること。
・要件3:[多種のアクセラレータへの対応]
FPGA,ASIC,GPU等の各種アクセラレータに対応できること。
図19は、入力データのトラヒック量の変動におけるサーバの処理能力と余剰を示す図である。図19の実線は、入力データのトラヒック量を示し、図19の破線は、サーバ処理化能力(≒消費電力)を示す。図19の破線に示すように、サーバの処理能力および消費電力は一定である。このため、図19の実線に示すように、サーバの処理能力に対しトラヒック変動に伴う余剰が発生する。特に、夜では、トラヒック量が少なく、サーバ処理化能力(≒消費電力)が過大となって、電力上の非効率が発生する。
アクセラレータ搭載サーバにおいて、アクセラレータ種別ごとに、一定の処理量を対象に、応答性と電力効率の高さを実現する従来技術が存在する。
既存技術1:特定のトラヒック量に応じた省電力な回路設計技術
非特許文献1には、FPGA/ASICの回路設計において、特定の処理量・機種ごとに、必要最小限の回路規模を最適化し、最小規模にすることで、ACC消費電力を最小化する技術が記載されている。
既存技術2:クロック周波数の変更による、処理能力と電力消費量のバランス変更
非特許文献2には、動作周波数の変更により、処理性能と電力消費量のバランスを変更する(設定後は、一定値で推移する)技術が記載されている。
既存技術3:アクセラレータ安定動作に必要な冷却機構の出力設定
非特許文献3には、動作する回路情報を問わずに、安定動作させるため、常にファンを最大出力で動作させる構成が記載されている。
"Power-aware FPGA Design White Paper",[online],[令和4年7月6日検索],インターネット〈URL:https://www.microsemi.com/document-portal/doc_download/131579-power-aware-fpga-design-white-paper〉 "FPGA 周波数設定変更コマンドのガイド( Intel OPAE Tool kit",[online],[令和4年7月6日検索],インターネット〈URL:https://opae.github.io/latest/docs/fpga_tools/userclk/userclk.html〉 "インテルN3000 サーバ設定ガイド",[online],[令和4年7月6日検索],インターネット〈URL:https://jp.fujitsu.com/platform/server/primergy/products/note/svsdvd/dvd/pdf/intelpac_n3000-qsg-1.1-jp.pdf〉
非特許文献1~3記載の既存技術は、アクセラレータごとに一定量の処理量に対応した設定を準備・設定することで、応答性を保ち、かつ電力効率の高い構成を実現できる。
しかしながら、入力量が時系列で変動する場合、余剰な処理能力・消費電力が生じ、変動するトラヒックに対し、要件1:[電力効率]、要件2:[応答性]、要件3:[多種のアクセラレータへの対応]を同時に満たせないという課題がある。
このような背景を鑑みて本発明がなされたのであり、本発明は、変動する入力データ量に応じ、応答性を担保しつつ、各種アクセラレータの電力効率の高さを実現することを課題とする。
前記した課題を解決するため、本発明は、アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、アクセラレータの状態を制御するアクセラレータ状態制御装置であって、取得した入力データ量をもとに、当該入力データ量の変動を予測し、予測結果をトラヒック量およびその変動幅として出力する予測部と、アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答する処理能力設定記録部と、前記予測部から出力されたトラヒック量およびその変動幅と、前記処理能力設定記録部から読み出した前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断する判断部と、前記判断部が判断した前記アクセラレータへの設定情報をもとに、前記アクセラレータに、当該設定情報を反映する設定投入部と、を備えることを特徴とするアクセラレータ状態制御装置とした。
本発明によれば、変動する入力データ量に応じ、応答性を担保しつつ、各種アクセラレータの電力効率の高さを実現することができる。
本発明の実施形態に係るアクセラレータ状態制御システムの概略構成図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の配置のバリエーションを示す概略構成図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の電力削減手法の一覧情報を説明する図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の処理能力別ACC回路情報記録部が保持する処理能力別回路情報の一例を示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の処理能力別ACC回路情報記録部が保持するトラヒック量をもとにした処理性能算定テーブルを示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の処理能力別ACC回路情報記録部が保持するアクセラレータ搭載関係管理テーブルを示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の処理能力別ACC回路情報記録部が保持するアクセラレータ一覧管理テーブルを示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の処理能力別ACC回路情報記録部が保持するアクセラレータ種別管理テーブルを示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の省電力制御が機能1の入力量の予測から始まる場合の<動作シーケンス1>を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の省電力制御が定期的な実行から始まる場合の<動作シーケンス2>を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の電力削減手法の一覧情報の詳細を示す図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の電力削減手法の設定シーケンスの一例を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の電力削減手法の設定シーケンスの一例を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の電力削減手法の設定シーケンスの一例を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのLook-Aside型アクセラレータ状態制御装置の動作シーケンス1を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのInline型アクセラレータ状態制御装置の動作シーケンス1を示すフローチャートである。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置が実現する処理能力・消費電力と余剰について説明する図である。 本発明の実施形態に係るアクセラレータ状態制御システムのアクセラレータ状態制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。 計算機システムを説明する図である。 サーバの入出力部への入力データのトラヒック量の変動を説明する図である。 入力データのトラヒック量の変動におけるサーバの処理能力と余剰を示す図である。
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)におけるアクセラレータ状態制御システム等について説明する。
(実施形態)
[概要]
図1は、本発明の実施形態に係るアクセラレータ状態制御システムの概略構成図である。
図1に示すように、アクセラレータ状態制御システム1000は、サーバ200と、アンテナ装置210と、後段処理装置220と、を備える。
また、アクセラレータ状態制御システム1000は、アプリケーション1の特定処理をアクセラレータ12にオフロードして演算処理する際に、アクセラレータ12の状態を制御するアクセラレータ状態制御装置100と、アクセラレータ12を含む演算装置を冷却する冷却機構14と、を備える。
[サーバ200]
サーバ200は、5G信号処理におけるDistributed Unitである。
サーバ200は、ハードウェア(HW)10と、ソフトウェア20と、を備える。
《ハードウェア10》
ハードウェア10は、CPU(Central Processing Unit)11と、アクセラレータ12と、入出力部13と、冷却機構(Fan等)14と、を有する。
<CPU11>
CPU11は、アプリケーション1の処理を実行するとともに、サーバ200における、各機能部のソフトウェアを実行する。
<アクセラレータ12>
アクセラレータ12は、FPGA/GPU等の計算アクセラレータデバイスである。
アクセラレータ12は、サーバ200に搭載された、特定の処理に特化した演算機である。CPU11とバスを介して接続する形態としては、ASIC搭載型アクセラレータ、FPGA搭載型アクセラレータ、GPU等の形態がある。
アクセラレータ12で処理するデータは、CPU11から入力されるLook-Aside形態(シーケンス2-1:図13)に加え、NIC等の入出力部13から直接入力されるIn-Line形態(シーケンス2-2:図14)でもよい。図1のCPU11からアクセラレータ12に向かう矢印の信号線は、(シーケンス2-1:図13)に示すLook-Aside型のACCオフロードの場合の形態の場合に存在する。また、図1の入出力部13とアクセラレータ12とを結ぶ双方向の信号線は、(シーケンス2-2:図14)に示すIn-Line型のACCオフロードの場合の形態の場合に存在する。
アクセラレータ12は、アクセラレータ演算回路・プログラム12aを有する。アクセラレータ演算回路・プログラム12aは、アクセラレータ12にロードされる回路もしくはプログラムである。アクセラレータ演算回路・プログラム12aは、アクセラレータ12がFPGAの場合はFPGA回路情報、アクセラレータ12がGPUの場合はGPU用のプログラムを指す。
なお、アクセラレータ12は、冷却機構(Fan等)14の故障などにより、一定の確率で故障が発生する。
<入出力部13>
入出力部13は、NIC(Network Interface Card)などの入出力機構であり、外部装置(アンテナ装置210や後段処理装置220)とのデータ入出力を行う。また、入出力部13は、アプリケーション1に対して、現在のデータ入力量を通知するインターフェイスを持つ。
<冷却機構14>
冷却機構14は、サーバ200の各演算装置(CPU11やアクセラレータ12)全体を冷却する機構である。冷却機構14は、冷却性能の変更が可能であり、これに応じて消費電力が変化する。冷却機構14は、入力として、冷却性能の設定を受け付ける。
冷却機構14は、CPUおよびアクセラレータ等のサーバ全体を一括で冷却する機構であるが、CPUのみ、もしくはアクセラレータのみを冷却する独立した冷却機構でもよい。
《ソフトウェア20》
ソフトウェア20は、アプリケーション1と、アクセラレータの状態を制御するアクセラレータ状態制御装置100と、を有する。
<アプリケーション1>
アプリケーション1は、信号処理を行うプログラムであり、CPU11上で動作する。一部の並列演算処理など、CPUに適さない専用処理については、アクセラレータ12にオフロードを行う。例えば、アプリケーション1は、標準として規定された関数群(API)を呼び出し、アクセラレータ12への一部処理のオフロードを行う。
ここで、アクセラレータの設定変更時に、一時的に該当アクセラレータが使用不可となる場合には、ACC切替時処理継続部160にオフロードを行う。
アプリケーション1は、入力として、入出力部13から処理対象データを受け付ける。出力として、演算したデータを入出力部13に渡す。
[アクセラレータ状態制御装置100]
アクセラレータ状態制御装置100は、入力量取得・予測部110(予測部,予測手順)と、ACC処理能力・消費電力設定判断部120(判断部,判断手順)と、ACC処理能力・消費電力設定投入部130(設定投入部,設定投入手順)と、処理能力別ACC回路情報記録部140と、ACC情報・処理能力設定記録部150(処理能力設定記録部,処理能力設定記録手順)と、ACC切替時処理継続部160(処理継続部)と、を備える。
<入力量取得・予測部110>
入力量取得・予測部110は、アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する。本実施形態では、アクセラレータにオフロードする処理量を予測(推定)するための一態様として入力データ量の変動を予測する。アクセラレータにオフロードする処理量を予測(推定)できるものであれば、どのようなものでもよい。
入力量取得・予測部110は、取得した入力データ量をもとに、入力データ量の変動を予測し、予測結果をトラヒック量およびその変動幅として出力する。具体的には、入力量取得・予測部110は、サーバの入力データ量を取得し、その後の入力データ量の変動を予測する。入力量取得・予測部110は、入力として、サーバの入力データ量を受け付け、出力として今後のデータ量の予測結果として、一定時間経過後のトラヒック量と、変動時間の単位を出力する。
・予測機能の例1
過去のトラヒック量の変化をもとに、未来の変化を予測することが考えられる。例えば、一定の周期で取得した過去5回のトラヒック量をもとに、トラヒック量が増加傾向にあるか否かを判定する。5回のトラヒック量を線形近似し、得られた傾きが一定以上あれば増加、一定以下であれば減少とみなし、一定時間後のトラヒック量を予測する。さらに、各トラヒック量の分散をもとに、変動時間の単位を出力する。具体的には、分散が大きい場合には短時間でのトラヒック変動が想定されるため“秒オーダ”であることを出力し、分散が小さい場合には、“分”オーダであることを出力する。
・予測機能の例2
該当装置の曜日・時間帯ごとのトラヒック量を記録しておき、これに準じてトラヒック予測を行う形態でもよい。例えば、携帯電話の無線アクセスネットワークにおけるトラヒック量においては、地点ごとにトラヒック量の時間遷移が異なる。例えば、都心部は昼間のトラヒック量は多いが夜は少ない。また、鉄道沿線部は、電車運行時間以外のトラヒック量が極端に少ないなどである。このような結果を用いて、時間ごとのトラヒック量を予測してもよい。なお、この予測機能の例2の方法を用いた場合には、トラヒック量の変動時間の単位は長く、“分や時間”単位となる。
トラヒック量の予測においては、該当のサーバ装置のトラヒック量を決める別の要因を用いてもよい。例えば、携帯電話の無線アクセスネットワークにおけるトラヒック量は、屋外の人が密集する箇所に近いアンテナ装置に繋がれた装置は、天候によって人出の量が変動し、これに応じてトラヒック量が変動する。このようなユースケースでは、天候の予測結果をもとに、トラヒック量の変動を予測してもよい。なお、この方法を用いた場合には、トラヒック量の変動時間の単位は長く、“分や時間”単位となる。
・入力データサイズの予測機能について
入力データサイズの予測機能は、時間帯から推定する形態に加え、他の要因から推定する構成としてもよい。例えば、RAN(Radio Access Network)におけるRIC(RAN Intelligent Controller)の具備する、天候やイベントによるトラヒック量の変動などを情報源としてもよい。
・入力データ量の時系列での変動の例
vRANでは、サーバへの入力データの量は、そのサーバの担当するエリアにおける、携帯電話端末の数と、通信量に依存する。携帯電話端末の数や通信量はヒトの動きに依存し、ヒトが集まる時間帯・エリアは通信量が増加し、逆にヒトが集まらない時間帯・エリアには通信量が減少する。例えば、都心のオフィス街は、平日昼間のトラヒック量が大きい一方で、夜間や休日のトラヒック量は少ない。また、郊外の住宅街は、平日昼間のトラヒック量に比べ、休日のトラヒック量が大きくなる。
<ACC処理能力・消費電力設定判断部120>
ACC処理能力・消費電力設定判断部120は、入力量取得・予測部110から出力されたトラヒック量および変動幅と、ACC情報・処理能力設定記録部150から読み出した一覧情報(図3)に基づいて、アクセラレータの処理能力と変動時間の設定を判断する。
具体的には、ACC処理能力・消費電力設定判断部120は、入力量取得・予測部110から出力されたトラヒック量の予測結果と、想定される変動幅に応じて、アクセラレータの処理能力と変動時間の設定を判断する。
ACC処理能力・消費電力設定判断部120は、トラヒック量を、ACC情報・処理能力設定記録部150に入力し、適用可能なアクセラレータと設定の一覧情報(図3)を取得する。これら設定の一覧情報から、処理能力と変動時間に適合するアクセラレータの設定と、冷却機構14の設定を選び、ACC処理能力・消費電力設定投入部130に通知する。
ACC処理能力・消費電力設定判断部120は、入力として、入力量取得・予測部110からトラヒック量の予測と変動幅を受け付ける。ACC処理能力・消費電力設定判断部120は、出力として、ACC処理能力・消費電力設定投入部130にACC設定情報を渡す。
<ACC処理能力・消費電力設定投入部130>
ACC処理能力・消費電力設定投入部130は、ACC処理能力・消費電力設定判断部120が判断したアクセラレータ12への設定情報をもとに、アクセラレータ12に、設定情報を反映する。
具体的には、ACC処理能力・消費電力設定投入部130は、入力されたアクセラレータ12への設定と、冷却機構14への設定を、それぞれアクセラレータ12と冷却機構14に反映する。ACC処理能力・消費電力設定投入部130は、入力として、ACC処理能力・消費電力設定判断部120からアクセラレータ12への設定と冷却機構14への設定情報を受け付ける。ACC処理能力・消費電力設定投入部130は、出力として、アクセラレータ12と、冷却機構14それぞれに、設定情報を反映する。
また、ACC処理能力・消費電力設定投入部130は、アクセラレータ共通で、周波数変更および/または電源OFFにより設定情報を反映するとともに、FPGAの場合は回路書換、GPUの場合はsleepにより設定情報を反映する。
<処理能力別ACC回路情報記録部140>
処理能力別ACC回路情報記録部140は、FPGA種別ごとに、処理性能に応じたFPGA回路情報およびFPGA種別の情報を保持し、問い合わせに応じてFPGA回路情報およびFPGA種別の情報を応答する。この場合、処理能力別ACC回路情報記録部140は、ACC情報・処理能力設定記録部150を経由して、または直接にACC処理能力・消費電力設定判断部120に応答する。
処理能力別ACC回路情報記録部140は、FPGA種別ごとに、処理性能に応じた複数のFPGA回路情報を保持し、問い合わせに応じてFPGA回路情報を払い出す。この問合せには、FPGA種別の情報が含まれる(図4)。
処理能力別ACC回路情報記録部140は、入力として、ACC情報・処理能力設定記録部150からFPGA機種の情報を受け付ける。処理能力別ACC回路情報記録部140は、出力として、ACC情報・処理能力設定記録部150に、複数のFPGA回路情報を応答する。
処理能力別ACC回路情報記録部140は、上記問合せに、“必要な処理性能”を追加で含め、この情報をもとに最適なFPGA回路情報1つのみを応答する形としてもよい。FPGA回路情報の応答については、FPGA回路情報の実データそのものではなく、アクセスに必要なファイルパス・ポインタ等の回路情報を一意に識別可能な識別子としてもよい。
<ACC情報・処理能力設定記録部150>
ACC情報・処理能力設定記録部150は、アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報170(図3)として保持し、問い合わせに応じて一覧情報170から取り出して応答する。ここで、上記アクセラレータ種別および機種の情報は、アクセラレータを利用可能に搭載するホストが保有するアクセラレータの情報である。
ACC情報・処理能力設定記録部150は、入力として、ACC処理能力・消費電力設定判断部120から、アクセラレータ種別と機種、アプリケーション名を受け付ける。ACC情報・処理能力設定記録部150は、出力として、ACC処理能力・消費電力設定判断部120に対して、該当のアクセラレータに適用可能な設定手段の一覧を応答する。また、ACC情報・処理能力設定記録部150は、入力されたアクセラレータ種別がFPGAの場合、機種情報をもとに処理能力別ACC回路情報記録部140に問い合わせを行い、該当の適合するFPGA回路情報の一覧を取得する。
<ACC切替時処理継続部160>
ACC切替時処理継続部160は、ACC処理能力・消費電力設定投入部130による、設定情報の投入に伴い、アクセラレータ12の演算機能が一時的に停止している場合に、サービスを継続するために、CPU11または他のアクセラレータにおいて処理を一時的に継続する。アクセラレータ12の設定変更時に、該当アクセラレータ12での演算が一時停止する際に有効化される。
ACC切替時処理継続部160は、本機能部が有効化されている場合、アプリケーション1からの演算オフロードは、本機能部が受付け、設定変更対象以外の演算リソースで計算する。
なお、CPUでの演算継続以外に、他のアクセラレータを一時的に利用し、演算を継続する形態でもよい。
[アンテナ装置210]
アンテナ装置210は、端末(UE:User Equipment)と無線通信するアンテナおよび送受信部である(以下、「アンテナ装置」は、アンテナと送受信部、その電源部を総称して呼称する)。送受信データは、例えば専用ケーブルにより基地局(BBU:Base Band Unit)の信号処理装置(サーバ200)に接続される。
アンテナ装置210は、アンテナ装置データ入出力部211を備える。アンテナ装置データ入出力部211は、サーバ200に対し、アンテナ装置210で生成された信号を送る機能部であり、NIC等の形態で実現される。
[後段処理装置220]
後段処理装置220は、5G信号処理におけるCentralized Unitである。
後段処理装置220は、後段処理装置データ入出力部221を備える。後段処理装置データ入出力部221は、サーバ200で処理した信号処理結果を受信する機能部であり、NIC等の形態で実現される。
<その他の実施形態>
本実施形態では、入出力部13とCPU11、アクセラレータ12はハードウェアとして分かれた構成であるが、CPU11、アクセラレータ12およびアクセラレータ演算回路・プログラム12aが一体化した専用ハードウェアの形態でもよい。
言い換えると、図1のように、「NIC等の入出力部13を介して得たデータを、CPU11からアクセラレータ12に対し明示的にオフロードする」、いわゆるLook-Aside型のアクセラレータ適用形態に加えて、「NIC・アクセラレータ・CPU」が一体化したハードウェアで、NICでのデータ受信後に同一ハードウェア内で処理が完結する」、いわゆるIn-line型のアクセラレータ適用形態でもよい。
また、CPU11、アクセラレータ12は、SoC(System on Chip)の形態のように、単一のチップの中に搭載される形態でもよい。
[アクセラレータ状態制御装置の配置]
アクセラレータ状態制御システムのアクセラレータ状態制御装置の配置のバリエーションについて説明する。
図1のアクセラレータ状態制御システム1000は、アクセラレータ状態制御装置100をサーバ200のソフトウェア20に配置した例である。アクセラレータ状態制御装置100は、機能の一部を、サーバ200外に別筐体で設置することも可能であり、以下に例示する。
図2は、アクセラレータ状態制御システムのアクセラレータ状態制御装置の配置のバリエーションを示す概略構成図である。なお、以下の各図において、図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
図2に示すバリエーションは、入力量取得・予測部110、ACC処理能力・消費電力設定判断部120、処理能力別ACC回路情報記録部140およびACC情報・処理能力設定記録部150からなるコントローラ機能部を別筐体とした場合の例である。
図2に示すように、アクセラレータ状態制御システム1000Aは、サーバ200外に別筐体で設置されたアクセラレータ状態制御装置100Aを備える。
サーバ200のソフトウェア20は、アプリケーション1と、ACC処理能力・消費電力設定投入部130と、ACC切替時処理継続部160と、を有する。
アクセラレータ状態制御装置100Aは、上記コントローラ機能部がサーバ200外に設置され、図1のアクセラレータ状態制御装置100と同一の機能を有する。
以上、図2に示すように、アクセラレータ状態制御装置の各機能の一部または全部を、サーバ200外の別の筐体に独立して配備する形態をとることで、RAN(Radio Access Network)におけるRIC(RAN Intelligent Controller)への機能配備に対応することができる。
また、上記コントローラ機能部を外部に配置することで、複数のサーバマシンからの入力量取得(機能1)をもとに入力量を予測できるため、機能1のトラヒックの予測精度が上がるメリットがある。例えば、携帯電話の無線システムにおいて、あるサーバマシンが担当する処理エリアのトラヒック量が増大した場合、近傍の処理エリアの入力量も、それに遅れて変動すると想定される。
また、複数のサーバ200に対して、1つのアクセラレータ状態制御装置での運用が可能になる。これにより、コストの低減と、アクセラレータ状態制御装置のメンテナンス性を向上させることができる。また、サーバ側の改変を不要ないし軽減することができ、汎用的に適用することができる。
[アクセラレータのデータ構造]
電力削減手法の一覧と特性について説明する。
図3は、電力削減手法の一覧情報を説明する図である。
図3に示すように、電力削減手法は、1.回路規模変更、2.クロック制御、3.電源制御、4.その他、に分類される。そして、この4分類ごとに、電力削減手法、ACC処理能力、消費電力削減幅(最大構成からの差分)、遷移・復帰にかかる時間、ACC別適用可能性、備考が設定される。ACC別適用可能性は、FPGA,GPU,ASICに分けられる。
アクセラレータの処理能力と消費電力を制御する方法として、上記4分類がある。電力削減手法の4分類は、それぞれ、ACC処理能力の変動幅、消費電力削減幅、遷移・復帰にかかる時間、ACC別適用可能性が異なる。アクセラレータ状態制御方法では、負荷の予測結果および、制御対象のアクセラレータに対して、これらを使い分け設定する。
例えば、「分類」1.回路規模変更の「電力削減手法」の「部分再構成」では、ACC処理能力が「小~大(縮退)」、消費電力削減幅(最大構成からの差分)が「~60W」、遷移・復帰にかかる時間が「秒オーダ」、ACC別適用可能性が「FPGA」である。そして、「性能ごとに最適な回路情報を準備しておき、負荷量に応じて適宜書き換える。」という特徴がある。
また、「分類」4.その他の「電力削減手法」の4-2.の「ACC切替」では、ACC処理能力が「小~大(縮退)」、消費電力削減幅(最大構成からの差分)が「~60W」、遷移・復帰にかかる時間が「秒オーダ」、ACC別適用可能性が「FPGA,GPU,ASIC」である。そして、「性能ごとに最適な回路・ACCを複数準備しておき、負荷量に応じて適宜切り替える」という特徴がある。
[処理能力別回路情報]
処理能力別ACC回路情報記録部140の処理能力別回路情報について説明する。
図4は、処理能力別ACC回路情報記録部140が保持する処理能力別回路情報のデータベースの一例を示す図である。
図4に示すように、処理能力別回路情報は、FPGA機能種別、アプリケーション名、性能、回路情報ファイル名を有する。
処理能力別ACC回路情報記録部140は、FPGA種別ごとに、処理性能に応じた複数のFPGA回路情報(図4に示す処理能力別回路情報)を保持し、問い合わせに応じてFPGA回路情報を払い出す(以下、「払い出す」とは、情報を取り出して応答することをいう)。
[処理量推定テーブル]
処理能力別ACC回路情報記録部140が保持するトラヒック量をもとにした処理性能算定テーブル(処理量推定テーブル)について説明する。
図5は、処理能力別ACC回路情報記録部140が保持するトラヒック量をもとにした処理性能算定テーブル(処理量推定テーブル)を示す図である。
図5に示すように、処理量推定テーブルは、トラヒック量をもとに必要とする処理性能を指定する。例えば、トラヒック量が「0bps以上10Mbps未満」の場合、必要とする処理性能は「小」である。
[アクセラレータ搭載関係管理テーブル]
処理能力別ACC回路情報記録部140が保持するアクセラレータ搭載関係管理テーブルについて説明する。
図6は、処理能力別ACC回路情報記録部140が保持するアクセラレータ搭載関係管理テーブルを示す図である。
図6に示すように、アクセラレータ搭載関係管理テーブルは、搭載ホストIDと搭載アクセラレータIDとの対応関係を記憶する。図6の例では、搭載ホストHost-1は、搭載アクセラレータIDの「1」「2」「3」を搭載する。
[アクセラレータ一覧管理テーブル]
処理能力別ACC回路情報記録部140が保持するアクセラレータ一覧管理テーブルについて説明する。
図7は、処理能力別ACC回路情報記録部140が保持するアクセラレータ一覧管理テーブルを示す図である。
図7に示すように、アクセラレータ一覧管理テーブルは、アクセラレータIDとアクセラレータ種別IDとの対応関係を記憶する。図7の例では、アクセラレータID「1」は、アクセラレータ種別ID「A」を指定し、アクセラレータID「2」は、アクセラレータ種別ID「B」を指定し、アクセラレータID「3」は、アクセラレータ種別ID「C」を指定し、アクセラレータID「4」は、アクセラレータ種別ID「D」を指定する。アクセラレータ種別ID「A」~「D」は、具体的には、下記図8のアクセラレータ種別管理テーブルに示される。
[アクセラレータ種別管理テーブル]
処理能力別ACC回路情報記録部140が保持するアクセラレータ種別管理テーブルについて説明する。
図8は、処理能力別ACC回路情報記録部140が保持するアクセラレータ種別管理テーブルを示す図である。
図8に示すように、アクセラレータ種別管理テーブルは、アクセラレータ種別ID毎のアクセラレータ種別(備考)、性能、消費電力を記憶する。例えば、アクセラレータ種別ID「A」は、アクセラレータ種別「FPGA-小性能」、性能「小~大」、消費電力「75W」である。アクセラレータ種別ID「B」は、アクセラレータ種別「FPGA-大性能」、性能「小~大」、消費電力「200W」である。このため、アクセラレータ種別「FPGA」で性能重視の場合には、アクセラレータ種別ID「B」が選択される。また、要求性能が「中~大」の場合には、アクセラレータ種別「FPGA」に加えて、アクセラレータ種別ID「C」のアクセラレータ種別「GPU」やアクセラレータ種別ID「D」のアクセラレータ種別「ASIC」が選択可能である。なお、性能、消費電力以外の項目(例えば、アプリケーション種別)を管理してもよい。例えば、アプリケーションが、並列処理を実行する場合には、消費電力が同等であっても、アクセラレータ種別「GPU」を選択する等である。
以下、上述のように構成されたアクセラレータ状態制御システム1000の動作を説明する。
本実施形態の動作シーケンスは、省電力制御シーケンスであり、省電力制御が、機能1の入力量の予測から始まる場合の<動作シーケンス1>と、省電力制御が、定期的な実行から始まる場合の<動作シーケンス2>と、がある。以下、順に説明する。
[動作シーケンス1]
図9は、省電力制御が、機能1の入力量の予測から始まる場合の<動作シーケンス1>を示すフローチャートである。
ステップS11で入力量取得・予測部110は、入力として、サーバの入力データ量を受け付け、出力として今後のデータ量の予測結果として、一定時間経過後のトラヒック量と、変動時間の単位を出力する。
ステップS12でACC処理能力・消費電力設定判断部120は、入力量取得・予測部110から出力されたトラヒック量および変動幅と、ACC情報・処理能力設定記録部150から読み出した一覧情報(図3)に基づいて、アクセラレータの処理能力と変動時間の設定を判断する。
ステップS13で搭載ACC情報・処理能力設定記録部150は、各ホストに搭載しているアクセラレータ種別・機種の情報と、処理性能に応じた設定情報の一覧を保持し、問い合わせに応じて払い出す。ACC情報・処理能力設定記録部150は、入力として、ACC処理能力・消費電力設定判断部120から、アクセラレータ種別と機種、アプリケーション名を受け付ける。ACC情報・処理能力設定記録部150は、出力として、ACC処理能力・消費電力設定判断部に対して、該当のアクセラレータ12に適用可能な設定手段の一覧を応答する。また、ACC情報・処理能力設定記録部150は、入力されたアクセラレータ種別がFPGAの場合、機種情報をもとに処理能力別ACC回路情報記録部140に問い合わせを行い、該当の適合するFPGA回路情報の一覧を取得する。
ステップS14でACC処理能力・消費電力設定判断部120は、搭載しているアクセラレータ12がFPGAか否かを判別する。搭載しているアクセラレータ12がFPGAでない場合(S14:No)、ステップS16に進む。
搭載しているアクセラレータ12がFPGAの場合(S14:Yes)、ステップS15で処理能力別ACC回路情報記録部140は、FPGA種別ごとに、処理性能に応じたFPGA回路情報およびFPGA種別の情報を保持し、問い合わせに応じてFPGA回路情報およびFPGA種別の情報を応答する。この場合、処理能力別ACC回路情報記録部140は、ACC情報・処理能力設定記録部150を経由して、または直接にACC処理能力・消費電力設定判断部120に応答する。
ステップS16でACC処理能力・消費電力設定投入部130は、入力されたアクセラレータ12への設定と、冷却機構14への設定を、それぞれアクセラレータ12と冷却機構14に反映する。ACC処理能力・消費電力設定投入部130は、入力として、ACC処理能力・消費電力設定判断部120からアクセラレータ12への設定と冷却機構14への設定情報を受け付ける。ACC処理能力・消費電力設定投入部130は、出力として、アクセラレータ12と、冷却機構14それぞれに、設定情報を反映する。
ステップS17でアクセラレータ12は、特定の処理に特化した演算を実行する。
ステップS18でアクセラレータ演算回路・プログラム12aは、アクセラレータ回路もしくはプログラムをロードして本フローチャートの処理を終了する。アクセラレータ12がFPGAの場合はFPGA回路情報、アクセラレータ12がGPUの場合はGPUである。
一方、ステップS19で冷却機構14は、サーバの各演算装置[CPU11やアクセラレータ12]全体を冷却して本フローチャートの処理を終了する。
[動作シーケンス2]
図10は、省電力制御が、定期的な実行から始まる場合の<動作シーケンス2>を示すフローチャートである。図9の<動作シーケンス1>を示すフローと同一処理を行うステップには同一符号を付して説明を省略する。
ステップS21でACC処理能力・消費電力設定判断部120は、一定間隔で起動して、入力量取得・予測部110から入力されたトラヒック量の予測結果と、想定される変動幅に応じて、アクセラレータ12の処理能力と変動時間に応じたアクセラレータ設定を判断する。
ステップS15を経ると、ステップS22でACC切替時処理継続部160は、設定情報の投入に伴い、アクセラレータ12の演算機能が一時的に停止している場合に、サービスを継続するために、CPU11または他のアクセラレータにおいて処理を一時的に継続する。これにより、アクセラレータ12の設定変更時に、該当アクセラレータ12での演算が一時停止する際に有効化される。
ステップS18を経ると、ステップS23でACC切替時処理継続部160は、アクセラレータ設定変更時に、該当アクセラレータの演算を一時停止させて本フローチャートの処理を終了する。
以上、省電力制御が、機能1の入力量の予測から始まる場合の<動作シーケンス1>と、省電力制御が、定期的な実行から始まる場合の<動作シーケンス2>について説明した。
[電力削減手法の設定シーケンス]
アクセラレータ状態制御装置100は、トラフィックの量と、変動の時間幅により、適用する電力削減手法を選ぶ。電力削減手法の例と、この電力削減手法に適した負荷パターンの例について説明する。
図11は、電力削減手法の一覧情報の詳細を示す図である。
図11に示すように、4分類ごとに、電力削減手法、ACC処理能力、消費電力削減幅(最大構成からの差分)、遷移・復帰にかかる時間、適した負荷パターンを分けている。上記4分類は、1.回路規模変更、2.クロック制御、3.電源制御、4.その他である。消費電力削減幅は、特定構成(例えば、Dell R740 2socket+FPGA N3000)を前提とした計算値である。
例えば、分類が「1.回路規模変更」であり、電力削減手法が「1-1.空デザインの書込」の場合、適した負荷パターンは、「小負荷において、分オーダでの負荷変動が発生しているケース」である。言い換えると、「小負荷であって、分オーダでの負荷変動の発生」を許容できるときは、「1-1. 空デザインの書込」を採ることが適している。
特に、分類が「4.その他」であり、電力削減手法が「4-2.ACC切替」の場合、適した負荷パターンは、「すべてのケースにおいて、ACC処理能力に応じて設定」する対応となる。
[電力削減手法の設定シーケンスの一例]
アクセラレータ12および冷却機構14(Fan等)の設定および、その判断ロジックの一例についてフローチャートを参照して説明する。各設定量については一例であり、各々の設定項目に応じて遷移する。
図12A-12Cは、電力削減手法の設定シーケンスの一例を示すフローチャートである。なお、図12A-12Cは、一つのフローであるが、図示の便宜上、[A],[B],[C]を連結子として連結される。また、フローの各ステップを囲む破線は、当該ステップを実行する各機能部を表わしている。
図12Aに示すように、ステップS31でACC処理能力・消費電力設定判断部120は、トラヒック量を取得する。
ステップS32でACC処理能力・消費電力設定判断部120は、一定回数以上連続して、トラヒック量が増加または減少しているかを判別する。一定回数以上連続して、トラヒック量が増加または減少していない場合(S32:No)、ステップS31に戻る。
一定回数以上連続して、トラヒック量が増加または減少している場合(S32:Yes)、ACC処理能力・消費電力設定判断部120をスルーして、ステップS33に進む。
ステップS33では、ACC情報・処理能力設定記録部150は、図5に示す処理性能算定テーブルを参照して、トラヒック量からの処理性能の算定を行う。
ステップS34でACC情報・処理能力設定記録部150は、図6に示すアクセラレータ搭載関係管理テーブルを参照して、搭載ACCのリストと、性能の取得を行う。
図12Bの破線囲みに示す各ステップは、ACC処理能力・消費電力設定判断部120における処理である。
ステップS35でACC処理能力・消費電力設定判断部120は、処理性能を満たすACCが、いずれの種別かを判別する。
処理性能を満たすACCが、FPGAの場合、ステップS36で処理性能が下記のいずれに一致するかを判別する。
処理性能が「極小」の場合、ステップS37で「3.電源制御の3-1.ACCカード電源OFF」(図11)を選択し、ステップS38で「4.その他の4-1.ファン制御でFan設定[極小]」(図11)を選択してステップS48に進む。
処理性能が「小」の場合、ステップS39で「1.回路規模変更の1-2.部分再構成で小規模回路選定」(図11)を選択し、ステップS40で「2.クロック制御の2-1.演算部クロック制御で周波数[小]」(図11)を選択し、ステップS41で「4.その他の4-1.ファン制御でFan設定[小]」(図11)を選択してステップS48に進む。
処理性能が「中」の場合、ステップS42で「1.回路規模変更の1-2.部分再構成で中規模回路選定」(図3)を選択し、ステップS43で「2.クロック制御の2-1.演算部クロック制御で周波数[中]」(図11)を選択し、ステップS44で「4.その他の4-1.ファン制御でFan設定[中]」(図11)を選択してステップS48に進む。
処理性能が「大」の場合、ステップS45で「1.回路規模変更の1-2.部分再構成で大規模回路選定」(図3)を選択し、ステップS46で「2. クロック制御の2-1.演算部クロック制御で周波数[大]」(図11)を選択し、ステップS47で「4.その他の4-1.ファン制御でFan設定[大]」(図11)を選択してステップS48に進む。
ステップS48では、ACC切替時処理継続部160は、設定情報の投入に伴い、アクセラレータ12の演算機能が一時的に停止している場合に、サービスを継続するために、CPU11または他のアクセラレータにおいて処理を一時的に継続して(有効化)ステップS58に進む。これにより、アクセラレータの設定変更時に、該当アクセラレータでの演算が一時停止する際に有効化される。
上記ステップS35でACC処理能力・消費電力設定判断部120は、処理性能を満たすACCが、GPU,ASICと判断した場合、ステップS49で処理性能が下記のいずれに一致するかを判別する。
処理性能が「極小」の場合、ステップS50で「3.電源制御の3-1.ACCカード電源OFF」(図11)を選択し、ステップS51で「4.その他の4-1.ファン制御でFan設定[極小]」(図11)を選択してステップS58に進む。
処理性能が「小」の場合、ステップS52で「2.クロック制御の2-1.演算部クロック制御で周波数[小]」(図11)を選択し、ステップS53で「4.その他の4-1.ファン制御でFan設定[小]」(図11)を選択してステップS58に進む。
処理性能が「中」の場合、ステップS54で「2.クロック制御の2-1.演算部クロック制御で周波数[中]」(図11)を選択し、ステップS55で「4.その他の4-1.ファン制御でFan設定[中]」(図3)を選択してステップS58に進む。
処理性能が「大」の場合、ステップS56で「2.クロック制御の2-1.演算部クロック制御で周波数[大]」(図3)を選択し、ステップS57で「4.その他の4-1.ファン制御でFan設定[大]」(図3)を選択してステップS58に進む。
図12Cに示すステップS58でACC処理能力・消費電力設定投入部130は、ACC・Fanへの設定投入を行う。
ステップS59でACC切替時処理継続部160は、ACC切替時処理継続機能を実行しているか否かを判別する。ACC切替時処理継続機能を実行していない場合(S59:No)、本フローの処理を終了する。
ACC切替時処理継続機能を実行している場合(S59:Yes)、ステップS60でACC切替時処理継続部160は、アクセラレータ設定変更時に、該当アクセラレータの演算を一時停止させる無効化を行って本フローの処理を終了する。
以上、図11および図12A-12Cにより、電力削減手法の設定シーケンスについて説明した。
[動作シーケンス1のデータ処理シーケンス]
動作シーケンス1のデータ処理シーケンスについて説明する。動作シーケンス2のデータ処理シーケンスも同様である。
動作シーケンス1のデータ処理シーケンスは、“Look-Aside型(ACCの処理データを、CPUが能動的にACCにオフロードする)”と、“In-line型(ACCの処理データを、CPUが能動的にACCにオフロードする)”とがある。以下、順に説明する。
図13は、Look-Aside型の動作シーケンス1のデータ処理シーケンスを示すフローチャートである。
ステップS61でアンテナ装置データ入出力部211は、サーバ200に対し、アンテナ装置210で生成された信号を送る。
ステップS62で入出力部13は、外部装置[アンテナ装置210や後段処理装置220]とのデータ入出力を行う。
ステップS63でアプリケーション1は、CPU11で動作し、信号処理を行う。アプリケーション1は、一部の並列演算処理など、CPU11に適さない専用処理については、アクセラレータ12にオフロードを行う。
ステップS64でアクセラレータ12は、特定の処理に特化した演算を実行する。
ステップS65でアプリケーション1は、入出力部13から処理対象データを受け付け、演算したデータを入出力部13に渡す。アプリケーション1は、アクセラレータ12の設定変更時に、一時的に該当アクセラレータ12が使用不可となる場合には、ACC切替時処理継続部160にオフロードを行う。
ステップS66で入出力部13は、外部装置[アンテナ装置210や後段処理装置220]とのデータ入出力を行う。
ステップS67で後段処理装置データ入出力部221は、サーバ200で処理した信号処理結果を受信して本フローチャートの処理を終了する。
図14は、In-Line型の動作シーケンス1のデータ処理シーケンスを示すフローチャートである。
ステップS71でアンテナ装置データ入出力部211は、サーバ200に対し、アンテナ装置210で生成された信号を送る。
ステップS72で入出力部13は、外部装置[アンテナ装置210や後段処理装置220]とのデータ入出力を行う。
ステップS73でアクセラレータ12は、特定の処理に特化した演算を実行する。
ステップS74でアプリケーション1は、入出力部13から処理対象データを受け付け、演算したデータを入出力部13に渡す。アプリケーション1は、アクセラレータ12の設定変更時に、一時的に該当アクセラレータ12が使用不可となる場合には、ACC切替時処理継続部160にオフロードを行う。
ステップS75で入出力部13は、外部装置[アンテナ装置210や後段処理装置220]とのデータ入出力を行う。
ステップS76で後段処理装置データ入出力部221は、サーバ200で処理した信号処理結果を受信して本フローチャートの処理を終了する。
[処理能力・消費電力と余剰]
アクセラレータ状態制御装置100が実現する処理能力・消費電力と余剰について説明する。
ACC処理能力・消費電力設定判断部120は、入力量取得・予測部110から入力されたトラヒック量の予測結果と、想定される変動幅に応じて、アクセラレータの処理能力と変動時間に応じたアクセラレータ設定を判断する。ACC処理能力・消費電力設定投入部130は、ACC処理能力・消費電力設定判断部120からアクセラレータ12への設定と冷却機構14への設定情報を受け付け、アクセラレータ12と、冷却機構14それぞれに、設定情報を反映する。ACC処理能力・消費電力設定投入部130が、入力データ量ごとに適したアクセラレータ設定(回路情報・周波数・Fan出力等)を自動的に行うことで、処理能力・消費電力を動的に変更する。
図15は、アクセラレータ状態制御装置100が実現する処理能力・消費電力と余剰について説明する図である。図15の実線は、入力データ量を示し、図15の破線は、サーバ処理化能力(≒消費電力)を示す。
ACC処理能力・消費電力設定判断部120およびACC処理能力・消費電力設定投入部130によって、入力データ量ごとに適したアクセラレータ設定を行い、処理能力・消費電力が動的に変更される。図15の矢印に示すように、設定変更により、サーバ200の処理可能な量が変動し、電力効率が向上する。
[ハードウェア構成]
上記実施形態に係るアクセラレータ状態制御システム1000,1000A(図1、図2)のアクセラレータ状態制御装置100(図1)は、例えば図16に示すような構成のコンピュータ900によって実現される。
図16は、アクセラレータ状態制御装置100の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。
アクセラレータ状態制御装置100は、CPU901、RAM902、ROM903、HDD904、アクセラレータ905、入出力インターフェイス(I/F)906、メディアインターフェイス(I/F)907、および通信インターフェイス(I/F:Interface)908を有する。アクセラレータ905は、図1、図2のアクセラレータ12に対応する。
アクセラレータ905は、通信I/F908からのデータ、または、RAM902からのデータの少なくとも一方のデータを高速に処理するアクセラレータ(デバイス)12(図1、図2)である。なお、アクセラレータ905として、CPU901またはRAM902からの処理を実行した後にCPU901またはRAM902に実行結果を戻すタイプ(Look-Aside型)を用いてもよい。一方、アクセラレータ905として、通信I/F908とCPU901またはRAM902との間に入って、処理を行うタイプ(In-line型)を用いてもよい。
アクセラレータ905は、通信I/F908を介して外部装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。
CPU901は、ROM903またはHDD904に格納されたプログラムに基づいて動作し、RAM902に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、図1および図2に示すアクセラレータ状態制御装置100,100Aの各部の制御を行う。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
ROM903は、コンピュータ900の起動時にCPU901によって実行されるブートプログラムや、コンピュータ900のハードウェアに依存するプログラム等を格納する。
CPU901は、入出力I/F906を介して、マウスやキーボード等の入力部、および、ディスプレイやプリンタ等の出力部からなる入出力装置916を制御する。CPU901は、入出力I/F906を介して、入出力装置916からデータを取得するともに、生成したデータを入出力装置916へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いてもよい。
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F908は、通信網(例えば、NW(Network))を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
メディアI/F907は、記録媒体917に格納されたプログラムまたはデータを読み取り、RAM902を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体917からRAM902上にロードし、ロードしたプログラムを実行する。記録媒体917は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
例えば、コンピュータ900が本実施形態に係る一装置として構成されるアクセラレータ状態制御装置100(図1)として機能する場合、コンピュータ900のCPU901は、RAM902上にロードされたプログラムを実行することによりアクセラレータ状態制御装置100の機能を実現する。また、HDD904には、RAM902内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体917から読み取って実行する。この他、CPU901は、他の装置から通信網を介して目的の処理に係るプログラムを読み込んでもよい。
なお、図2に示すコントローラ機能部がサーバ200外に設置された場合において、このアクセラレータ状態制御装置100Aについても同様に、図16に示すような構成のコンピュータ900によって実現される。
[効果]
以上説明したように、アプリケーション1の特定処理をアクセラレータ12にオフロードして演算処理する際に、アクセラレータの状態を制御するアクセラレータ状態制御装置100であって、アクセラレータ12にオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する入力量取得・予測部110と、アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて一覧情報から取り出して応答する処理能力設定記録部150と、入力量取得・予測部110から出力されたトラヒック量および変動幅と処理能力設定記録部150から読み出した一覧情報に基づいて、アクセラレータの処理能力と変動時間の設定情報を判断するACC処理能力・消費電力設定判断部120と、ACC処理能力・消費電力設定判断部120が判断したアクセラレータ12への設定情報をもとに、アクセラレータ12に、設定情報を反映するACC処理能力・消費電力設定投入部130と、を備える。
このようにすることにより、入力データ量ごとに適したアクセラレータ設定(回路情報・周波数・Fan出力等)を自動的に行うことで、処理能力および消費電力を動的に変更し、変動する入力データ量に応じて、応答性を担保しつつ、各種アクセラレータの電力効率の高さを実現することができる。これにより、<要件1:電力効率>と<要件2:応答性>を両立することができる。
アクセラレータ状態制御装置100,100A(図1、図2)において、ACC処理能力・消費電力設定投入部130による、設定情報の投入に伴い、アクセラレータ12の演算機能が一時的に停止している場合に、CPU11または他のアクセラレータにおいて処理を一時的に継続するACC切替時処理継続部160を備える。
このようにすることにより、アクセラレータ投入時に演算が停止する場合には、CPU11や他アクセラレータにより演算を継続し、可用性を保つことができる。
アクセラレータ状態制御装置100,100A(図1、図2)において、アクセラレータ12は、FPGAを有しており、FPGA種別ごとに、処理性能に応じたFPGA回路情報およびFPGA種別の情報を保持し、問い合わせに応じてFPGA回路情報およびFPGA種別の情報を応答する処理能力別ACC回路情報記録部140を、備え、処理能力別ACC回路情報記録部140は、ACC情報・処理能力設定記録部150を経由して、または直接にACC処理能力・消費電力設定判断部120に応答し、ACC処理能力・消費電力設定判断部120は、処理能力別ACC回路情報記録部140からのFPGA回路情報およびFPGA種別の情報に基づいて、アクセラレータの処理能力と変動時間に応じたアクセラレータ設定情報を判断する。
このようにすることにより、処理能力別ACC回路情報記録部140が、アクセラレータ種別ごとの省電力設定を記録し管理する。ACC処理能力・消費電力設定判断部120が、搭載ACC情報ごとの処理手段を選択することで、多種アクセラレータへの対応を実現することができる(<要件3:多種アクセラレータへの対応>)。例えば、FPGAの場合には回路選択+周波数設定、ASICの場合は周波数設定などである。
アクセラレータ状態制御装置100,100A(図1、図2)において、アクセラレータ12は、FPGAおよびGPUを有しており、ACC処理能力・消費電力設定投入部130は、アクセラレータ共通で、周波数変更および/または電源OFFにより設定情報を反映するとともに、FPGAの場合は回路書換、GPUの場合はsleepにより設定情報を反映する。
このようにすることにより、省電力設定の判定の際に、搭載しているアクセラレータごとに設定可能なパラメータを判定することで、多種アクセラレータへの対応を実現することができる(<要件3:多種アクセラレータへの対応>)。例えば、FPGAの場合は回路書換、GPUの場合はsleep、共通手段として周波数変更と電源OFFなどである。
アプリケーション1の特定処理をアクセラレータ12にオフロードして演算処理する際に、アクセラレータの状態を制御するアクセラレータ状態制御装置100,100A(図1、図2)と、アクセラレータを含む演算装置を冷却する冷却機構14と、を備えるアクセラレータ状態制御システム1000,1000A(図1、図2)であって、アクセラレータ12にオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する入力量取得・予測部110と、アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて一覧情報から取り出して応答する処理能力設定記録部150と、入力量取得・予測部110から出力されたトラヒック量および変動幅と、処理能力設定記録部150から読み出した一覧情報に基づいて、アクセラレータの処理能力と変動時間の設定情報を判断するACC処理能力・消費電力設定判断部120と、ACC処理能力・消費電力設定判断部120が判断したアクセラレータ12および冷却機構14への設定情報をもとに、アクセラレータ12および冷却機構14に、設定情報を反映するACC処理能力・消費電力設定投入部130と、を備える。
このようにすることにより、変動する入力データ量に応じ、応答性(<要件2:応答性>を)を担保しつつ、各種アクセラレータの電力効率の高さ(<要件1:電力効率>)を実現することができる。また、省電力設定の判定の際に、搭載しているアクセラレータごとに設定可能なパラメータを判定することで、多種アクセラレータへの対応を実現することができる(<要件3:多種アクセラレータへの対応>)。例えば、FPGAの場合は回路書換、GPUの場合はsleep、共通手段として周波数変更と電源OFFなどである。また、冷却機構14については、各アクセラレータとトラフィック量に応じた出力を設定する。
また、上記実施形態および変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。
1 アプリケーション(APL)
10 ハードウェア
11 CPU
12 アクセラレータ
12a アクセラレータ演算回路・プログラム
13 入出力部
14 冷却機構
20 ソフトウェア
100,100A アクセラレータ状態制御装置
110 入力量取得・予測部(予測部,予測手順)
120 ACC処理能力・消費電力設定判断部(判断部,判断手順)
130 ACC処理能力・消費電力設定投入部(設定投入部,設定投入手順)
140 処理能力別ACC回路情報記録部
150 ACC情報・処理能力設定記録部(処理能力設定記録部,処理能力設定記録手順)
160 ACC切替時処理継続部(処理継続部)
170 一覧情報
200 サーバ(アクセラレータ搭載サーバ)
210 アンテナ装置
220 後段処理装置
1000,1000A アクセラレータ状態制御システム

Claims (8)

  1. アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、アクセラレータの状態を制御するアクセラレータ状態制御装置であって、
    前記アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する予測部と、
    アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答する処理能力設定記録部と、
    前記予測部から出力されたトラヒック量およびその変動幅と、前記処理能力設定記録部から読み出した前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断する判断部と、
    前記判断部が判断した前記アクセラレータへの設定情報をもとに、前記アクセラレータに、当該設定情報を反映する設定投入部と、を備える
    ことを特徴とするアクセラレータ状態制御装置。
  2. 前記設定投入部による、前記設定情報の投入に伴い、前記アクセラレータの演算機能が一時的に停止している場合に、CPU(Central Processing Unit)または他のアクセラレータにおいて処理を一時的に継続する処理継続部を備える
    ことを特徴とする請求項1に記載のアクセラレータ状態制御装置。
  3. 前記アクセラレータは、FPGA(Field Programmable Gate Array)を有しており、
    FPGA種別ごとに、処理性能に応じたFPGA回路情報およびFPGA種別の情報を保持し、問い合わせに応じてFPGA回路情報およびFPGA種別の情報を応答する回路情報記録部を、備え、
    前記回路情報記録部は、前記処理能力設定記録部を経由して、または直接に前記判断部に応答し、
    前記判断部は、前記回路情報記録部からのFPGA回路情報およびFPGA種別の情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断する
    ことを特徴とする請求項1に記載のアクセラレータ状態制御装置。
  4. 前記アクセラレータは、FPGA(Field Programmable Gate Array)およびGPU(Graphics Processing Unit)を有しており、
    前記設定投入部は、
    前記アクセラレータ共通で、周波数変更および/または電源OFFにより前記設定情報を反映するとともに、
    前記FPGAの場合は回路書換、前記GPUの場合はsleepにより前記設定情報を反映する
    ことを特徴とする請求項1に記載のアクセラレータ状態制御装置。
  5. アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、前記アクセラレータの状態を制御するアクセラレータ状態制御装置と、前記アクセラレータを含む演算装置を冷却する冷却機構と、を備えるアクセラレータ状態制御システムであって、
    前記アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する予測部と、
    アクセラレータ種別および機種の情報と、処理性能に応じた設定情報と、前記冷却機構の設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答する処理能力設定記録部と、
    前記予測部から出力されたトラヒック量および変動幅と前記処理能力設定記録部から読み出した前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断する判断部と、
    前記判断部が判断した前記アクセラレータおよび前記冷却機構への設定情報をもとに、前記アクセラレータおよび前記冷却機構に、当該設定情報を反映する設定投入部と、を備える
    ことを特徴とするアクセラレータ状態制御システム。
  6. アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、前記アクセラレータの状態を制御するアクセラレータ状態制御装置のアクセラレータ状態制御方法であって、
    前記アクセラレータ状態制御装置は、
    前記アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力するステップと、
    アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答するステップと、
    前記トラヒック量および変動幅と前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断するステップと、
    前記アクセラレータへの前記設定情報をもとに、前記アクセラレータに、当該設定情報を反映するステップと、を実行する
    ことを特徴とするアクセラレータ状態制御方法。
  7. アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、前記アクセラレータの状態を制御するアクセラレータ状態制御装置と、前記アクセラレータを含む演算装置を冷却する冷却機構と、を備えるアクセラレータ状態制御システムのアクセラレータ状態制御方法であって、
    前記アクセラレータ状態制御装置は、
    前記アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力するステップと、
    アクセラレータ種別および機種の情報と、処理性能に応じた設定情報と、前記冷却機構の設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答するステップと、
    前記トラヒック量および変動幅と前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断するステップと、
    前記アクセラレータおよび前記冷却機構への前記設定情報をもとに、前記アクセラレータおよび前記冷却機構に、当該設定情報を反映するステップと、実行する
    ことを特徴とするアクセラレータ状態制御方法。
  8. アプリケーションの特定処理をアクセラレータにオフロードして演算処理する際に、前記アクセラレータの状態を制御するアクセラレータ状態制御装置としてコンピュータに、
    前記アクセラレータにオフロードする処理量を予測し、予測結果をトラヒック量およびその変動幅として出力する予測手順、
    アクセラレータ種別および機種の情報と、処理性能に応じた設定情報とを一覧情報として保持し、問い合わせに応じて前記一覧情報から取り出して応答する処理能力設定記録手順、
    前記予測手順から出力されたトラヒック量および変動幅と前記処理能力設定記録手順から読み出した前記一覧情報に基づいて、前記アクセラレータの処理能力と変動時間の設定情報を判断する判断手順、
    前記判断手順が判断した前記アクセラレータへの設定情報をもとに、前記アクセラレータに、前記設定情報を反映する設定投入手順、
    を実行させるためのプログラム。
JP2024536659A 2022-07-27 2022-07-27 アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム Active JP7720013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025124225A JP2025137767A (ja) 2022-07-27 2025-07-24 アクセラレータ状態制御装置、アクセラレータ状態制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/029036 WO2024024001A1 (ja) 2022-07-27 2022-07-27 アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025124225A Division JP2025137767A (ja) 2022-07-27 2025-07-24 アクセラレータ状態制御装置、アクセラレータ状態制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2024024001A1 JPWO2024024001A1 (ja) 2024-02-01
JP7720013B2 true JP7720013B2 (ja) 2025-08-07

Family

ID=89705695

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2024536659A Active JP7720013B2 (ja) 2022-07-27 2022-07-27 アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム
JP2025124225A Pending JP2025137767A (ja) 2022-07-27 2025-07-24 アクセラレータ状態制御装置、アクセラレータ状態制御方法およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025124225A Pending JP2025137767A (ja) 2022-07-27 2025-07-24 アクセラレータ状態制御装置、アクセラレータ状態制御方法およびプログラム

Country Status (5)

Country Link
US (1) US20260016876A1 (ja)
EP (1) EP4564130A1 (ja)
JP (2) JP7720013B2 (ja)
CN (1) CN119585695A (ja)
WO (1) WO2024024001A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011204209A (ja) 2010-03-26 2011-10-13 Toshiba Corp ソフトウェア変換プログラム、および、計算機システム
JP2018132981A (ja) 2017-02-16 2018-08-23 日本電気株式会社 アクセラレータを有する情報処理装置および情報処理方法
JP2019053448A (ja) 2017-09-13 2019-04-04 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9196013B2 (en) * 2011-10-31 2015-11-24 Apple Inc. GPU workload prediction and management
JP6485335B2 (ja) * 2015-11-19 2019-03-20 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
JP6756661B2 (ja) * 2017-04-28 2020-09-16 日立オートモティブシステムズ株式会社 車両電子制御装置
JP7063289B2 (ja) * 2019-02-22 2022-05-09 日本電信電話株式会社 オフロードサーバのソフトウェア最適配置方法およびプログラム
EP4187879A4 (en) * 2020-09-24 2023-11-22 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR OFFLOADING HARDWARE TO A SOFTWARE PACKAGE
US20230367640A1 (en) * 2020-12-08 2023-11-16 Intel Corporation Program execution strategies for heterogeneous computing systems
US12443458B2 (en) * 2021-11-17 2025-10-14 Intel Corporation Efficient accelerator offload in multi-accelerator framework
JP7717317B2 (ja) * 2022-02-14 2025-08-04 Ntt株式会社 トラヒック予測装置、トラヒック予測方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011204209A (ja) 2010-03-26 2011-10-13 Toshiba Corp ソフトウェア変換プログラム、および、計算機システム
JP2018132981A (ja) 2017-02-16 2018-08-23 日本電気株式会社 アクセラレータを有する情報処理装置および情報処理方法
JP2019053448A (ja) 2017-09-13 2019-04-04 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Also Published As

Publication number Publication date
JPWO2024024001A1 (ja) 2024-02-01
EP4564130A1 (en) 2025-06-04
JP2025137767A (ja) 2025-09-19
US20260016876A1 (en) 2026-01-15
CN119585695A (zh) 2025-03-07
WO2024024001A1 (ja) 2024-02-01

Similar Documents

Publication Publication Date Title
US9261933B2 (en) Integrating energy budgets for power management
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
US20150100805A1 (en) Dynamic cpu voltage regulator phase shedding
JP6778303B2 (ja) パフォーマンス管理システム、パフォーマンス設定パラメータの組み合わせを提供する方法、パフォーマンスパラメータを更新する方法、コンピュータソフトウェア及び記憶媒体
US11996988B1 (en) Reinforced computer learning system and method for minimizing power consumed by underutilized data center hardware components
CN101819459A (zh) 一种基于异构对象存储系统的功耗控制方法
CN103154854A (zh) 用于优化一组性能缩放算法的配置的系统和方法
CN117149423A (zh) 基于分布式集群的调度方法及装置
CN117033693B (zh) 一种混合模式的云处理的方法及系统
CN118502679A (zh) 存储器的数据访问调度方法及装置
JP7720013B2 (ja) アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム
US20220271555A1 (en) Information handling system with battery power management
US11823294B1 (en) Site management apparatus and management method
KR20130076332A (ko) 소모 전력을 최소화하기 위한 이동 단말기 및 방법
CN119271022A (zh) 电子设备散热方法、装置、计算机设备和可读存储介质
CN118803066A (zh) 基于网元微服务的节点调度方法、装置、设备、介质和产品
WO2024028990A1 (ja) アクセラレータ状態制御装置、アクセラレータ状態制御システム、アクセラレータ状態制御方法およびプログラム
CN115576408A (zh) 服务器的运行控制方法及装置
CN116610249A (zh) 一种ssd的规格参数的调节方法及相关产品
Sundarrajan et al. Energy-efficient disk caching for content delivery
CN115225490A (zh) 一种网关配置方法、装置及电子设备
Khalil et al. Auto resource management to enhance reliability and energy consumption in heterogeneous cloud computing
US12585316B1 (en) Site-based control
JP7568272B2 (ja) ストレージシステム
US12499028B1 (en) Integrated circuit chip telemetry reporting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250707

R150 Certificate of patent or registration of utility model

Ref document number: 7720013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150