JP6897438B2 - 情報処理装置、情報処理システム及びプログラム - Google Patents

情報処理装置、情報処理システム及びプログラム Download PDF

Info

Publication number
JP6897438B2
JP6897438B2 JP2017170830A JP2017170830A JP6897438B2 JP 6897438 B2 JP6897438 B2 JP 6897438B2 JP 2017170830 A JP2017170830 A JP 2017170830A JP 2017170830 A JP2017170830 A JP 2017170830A JP 6897438 B2 JP6897438 B2 JP 6897438B2
Authority
JP
Japan
Prior art keywords
application program
performance
power
value
parameter values
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
JP2017170830A
Other languages
English (en)
Other versions
JP2019046338A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017170830A priority Critical patent/JP6897438B2/ja
Priority to US16/118,498 priority patent/US11281559B2/en
Publication of JP2019046338A publication Critical patent/JP2019046338A/ja
Application granted granted Critical
Publication of JP6897438B2 publication Critical patent/JP6897438B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、アプリケーションプログラムの実行制御技術に関する。
HPC(High Performance Computing)システムの大規模化および高性能化に伴い、消費電力の増加が問題になっている。
HPCシステムの消費電力を抑制するため、HPCシステムの利用者には電力制約(例えば単位時間当たりの消費電力の制約)が課されることがある。HPCシステムの利用者は、プロセッサの動作周波数の変更、或いは、HPCシステムに実行させるアプリケーションプログラムの実行命令の数や種類の変更等によって、消費電力が基準を超えないようにHPCシステムを稼働させる。
HPCシステムに実行させるアプリケーションプログラムの性能(例えば、単位時間当たりの計算量)は、アプリケーションプログラムのパラメータの値によって変わることがある。例えば行列積の計算プログラムの場合、行列全体のサイズ、及び、行列を分割して計算を実行する場合において分割により生成される部分(タイルとも呼ばれる)のサイズ等によって、アプリケーションプログラムの性能が変わる。
したがって、課された電力制約の下で十分な性能を達成できるように、利用者はHPCシステムに実行させるアプリケーションプログラムのパラメータの値の調整を実施する。しかし、或る電力制約の下で十分な性能を達成することができる値が、別の電力制約に対しても有効であるとは限らず、パラメータの最適な値が電力制約ごとに異なることがある。
特開2009−140222号公報 特開平11−353052号公報
本発明の目的は、1つの側面では、アプリケーションプログラムのパラメータを電力制約に応じて適切な値に設定するための技術を提供することである。
一態様に係る情報処理装置は、複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約からアプリケーションプログラムの性能値を算出するための性能モデルを、アプリケーションプログラムのパラメータの値のセット毎に生成する生成部と、アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された性能モデルに基づき、複数の電力制約のいずれとも異なる第1の電力制約からアプリケーションプログラムの性能値を算出する算出部と、算出された性能値のうち最大の性能値に対応する、アプリケーションプログラムのパラメータの値のセットを出力する出力部とを有する。
1つの側面では、アプリケーションプログラムのパラメータを電力制約に応じて適切な値に設定できるようになる。
図1は、本実施の形態のシステムの概要を示す図である。 図2は、利用者端末のハードウエア構成図である。 図3は、利用者端末の機能ブロック図である。 図4は、HPCシステムにおける計算ノードのハードウエア構成図である。 図5は、HPCシステムにおける計算ノードの機能ブロック図である。 図6は、制約データ格納部に格納されるデータの一例を示す図である。 図7は、電力キャップについて説明するための図である。 図8は、電力制約毎の性能値を示す図である。 図9は、実行パターン毎の性能値を示す図である。 図10は、利用者から性能モデルの生成指示を受け付けた場合に利用者端末が実行する処理の処理フローを示す図である。 図11は、データ収集処理の処理フローを示す図である。 図12は、指定される電力制約の一例を示す図である。 図13は、収集データ格納部に格納されるデータの一例を示す図である。 図14は、第1の実施の形態のモデル生成処理の処理フローを示す図である。 図15は、第1の実施の形態のモデルデータ格納部に格納されるデータの一例を示す図である。 図16は、利用者から指定された電力制約に対応する実行パターンを出力する処理の処理フローを示す図である。 図17は、実行パターン特定処理の処理フローを示す図である。 図18は、出力データ格納部に格納されているデータの一例を示す図である。 図19は、第2の実施の形態のモデル生成処理の処理フローを示す図である。 図20は、第2の実施の形態のモデルデータ格納部に格納されるデータの一例を示す図である。 図21は、動作周波数と消費電力との関係を示す図である。 図22は、性能値と動作周波数との関係を示す図である。 図23は、性能値と動作周波数との関係を示す図である。
[実施の形態1]
図1は、本実施の形態のシステムの概要を示す図である。HPCシステム3は、例えばデータセンタに設置されており、複数の計算ノードが搭載されたラックを複数有する。HPCシステム3は複数の利用者に利用され、計算量等に応じて1又は複数の計算ノードが各利用者に割り当てられる。利用者により操作される利用者端末1はHPCシステム3に有線で接続され、HPCシステム3における計算ノードにアプリケーションプログラムを実行させる。なお、利用者端末1は無線でHPCシステム3に接続されてもよい。アプリケーションプログラムとは、所定の計算(例えば行列計算)の実行プログラムである。
図2は、利用者端末1のハードウエア構成図である。利用者端末1は、CPU(Central Processing Unit)11と、例えばDRAM(Dynamic Random Access Memory)であるメモリ12と、HDD(Hard Disk Drive)13と、NIC(Network Interface Card)14とを有する。CPU11、メモリ12、HDD13及びNIC14は、バス15によって接続される。
図3は、利用者端末1の機能ブロック図である。利用者端末1は、制御部101と、収集部103と、生成部105と、算出部107と、収集データ格納部111と、制約データ格納部113と、モデルデータ格納部115と、出力データ格納部117とを含む。
制御部101、収集部103、生成部105及び算出部107は、メモリ12にロードされたプログラムがCPU11に実行されることで実現される。収集データ格納部111、制約データ格納部113、モデルデータ格納部115及び出力データ格納部117は、メモリ12又はHDD13に設けられる。
制御部101は、収集部103、生成部105及び算出部107による処理の実行を制御する。収集部103は、制約データ格納部113に格納されている電力制約を含む設定指示およびアプリケーションプログラムのパラメータの値を含む実行指示をHPCシステム3に送信し、HPCシステム3からデータを収集し、収集されたデータを収集データ格納部111に格納する。生成部105は、収集データ格納部111に格納されたデータに基づき性能モデルを生成し、生成された性能モデルをモデルデータ格納部115に格納する。算出部107は、モデルデータ格納部115に格納されている性能モデル及び課された電力制約から、アプリケーションプログラムの性能を表す値(以下、性能値と呼ぶ)を算出し、算出された性能値を出力データ格納部117に格納する。
図4は、HPCシステム3における計算ノードのハードウエア構成図である。計算ノードは、電力制御機能を有するCPU31と、例えばDRAMであるメモリ32と、アプリケーションプログラムを格納するHDD33と、NIC34とを有する。CPU31、メモリ32、HDD33及びNIC34は、バス35によって接続される。電力制御機能は、設定された電力制約に応じてCPU31及びメモリ32の消費電力を制御する。CPU31内のレジスタには、CPU31及びメモリ32の消費電力(ワット)を計算するための値及びCPU31の動作周波数(メガヘルツ)を計算するための値が格納される。CPU31は、複数のコアを有してもよい。
図5は、HPCシステム3における計算ノードの機能ブロック図である。計算ノードは、計算部301と、処理部303とを含む。
計算部301は、アプリケーションプログラムがメモリ32にロードされCPU31により実行されることで実現される。処理部303は、アプリケーションプログラム以外のプログラムがメモリ32にロードされてCPU31により実行されることで実現される。
計算部301は、アプリケーションプログラムに係る計算を実行する。処理部303は、利用者端末1から受信した設定指示および実行指示に応じた処理、データを収集する処理および収集されたデータを利用者端末1に送信する処理等を実行する。
図6は、制約データ格納部113に格納されるデータの一例を示す図である。図6の例では、制約データ格納部113には複数の電力制約が格納されている。電力キャップとは、或る時間区間において使用可能な消費電力の平均値である。本実施の形態においては、電力キャップ1と電力キャップ2とが設定される。例えば図7の例においては、単位時間(図7の例では1秒)において平均で215Wの電力を使用可能である(電力キャップ1)。但し、単位時間における10ミリ秒間においては平均で258Wの電力を使用可能である(電力キャップ2)。電力キャップは、気候や供給可能な消費電力等に基づき、例えば電力会社により決定される。図6の例においては、一の位が0である電力制約については電力キャップ1の電力と電力キャップ2の電力とが異なっており、一の位が1である電力制約については電力キャップ1の電力と電力キャップ2の電力とが同じである。
図8は、電力制約毎の性能値の一例を示す図である。図8においては、各電力制約について、4つの実行パターンでアプリケーションプログラムを実行した場合における性能値が示されている。実行パターンとは、アプリケーションプログラムのパラメータの値のセットのことであり、図8においては行列全体のサイズとタイルのサイズとの組み合わせにより生成された実行パターンP1乃至P4が示されている。
図8に示すように、全体的な傾向として、電力キャップの消費電力の値が大きいほど性能値は大きい。また、最も性能が高い実行パターンは電力制約によって異なる。例えば、電力制約10、電力制約21及び電力制約30については、実行パターンP1を使用した場合の性能が最も高い。電力制約31については、実行パターンP2を使用した場合の性能が最も高い。電力制約20、電力制約11、電力制約40及び電力制約41については、実行パターンP3を使用した場合の性能が最も高い。
なお、パラメータの値は、例えば、コマンドの引数として設定されるか、環境変数(すなわち、シェルから起動されるプロセスに有効な変数)として設定されるか、又はアプリケーションプログラムの実行時に参照されるファイル内に設定される。例えば並列処理のためのプログラムの場合、並列実行のスレッド数について、引数として「program1 −omp_num_threads 24」といった形式で値が設定される。また、環境変数として「export OMP_NUM_THREADS=24」といった形式で値が設定される。
図9は、実行パターン毎の性能値の一例を示す図である。図9においては、各実行パターンについて、8つの電力制約下でアプリケーションプログラムを実行した場合における性能値が示されている。
図9に示すように、同じ実行パターンであっても電力制約によって性能値が異なる。例えば、実行パターンP1については、電力制約20、電力制約11、電力制約21及び電力制約30の性能値と、電力制約31の性能値との差が明らかであるのに対し、実行パターンP2については、電力制約20、電力制約11、電力制約21及び電力制約30の性能値と、電力制約31の性能値との差はほとんど無い。また、実行パターンP1乃至P3については、電力制約10の性能値が他の電力制約の性能値よりも明らかに大きいのに対し、実行パターンP4については、電力制約10の性能値と、電力制約20、電力制約11及び電力制約21の性能値との差がほとんど無い。
このように、アプリケーションプログラムの実行時に使用されるパラメータの値によって、アプリケーションプログラムの性能は変わることがある。したがって、パラメータの値のチューニングによって性能を高くすることができる。但し、性能が高くなると消費電力が増加することがある。
図10は、利用者から性能モデルの生成指示を受け付けた場合に利用者端末1が実行する処理の処理フローを示す図である。
利用者端末1における制御部101は、利用者から性能モデルの生成指示を受け付けた場合、収集部103を呼び出す。これに応じ、収集部103は、データ収集処理を実行する(図10:ステップS1)。
図11は、データ収集処理の処理フローを示す図である。
収集部103は、利用者から指定された複数の実行パターンのうち未処理の実行パターンを1つ特定する(図11:ステップS11)。なお、利用者は検証すべき実行パターンを指定するが、他の実行パターンから結果を推測可能な実行パターンについては、指定しなくてもよい。
収集部103は、指定された電力制約のうち未処理の電力制約を1つ特定する(ステップS13)。指定された電力制約とは、制約データ格納部113にデータが格納されている電力制約(図6の例では、電力制約10、11、20、21、30、31、40及び41)のうち、性能モデルの生成に使用される電力制約として利用者により予め指定された電力制約である。性能モデルの生成に全電力制約ではなく一部の電力制約が使用される理由は、全電力制約を使用すると計算に時間がかかり現実的ではないこと、及び、一部の電力制約を使用した場合にも十分な精度の性能モデルを生成することが可能であることである。
図12は、指定される電力制約の一例を示す図である。図12の例では、電力制約10と、電力制約20と、電力制約31と、電力制約41とが指定されている。
収集部103は、ステップS13において特定された電力制約を含む設定指示を、HPCシステム3の計算ノードのうち利用者端末1がアプリケーションプログラムの実行に使用する計算ノードに送信する(ステップS15)。設定指示を受信した計算ノードの処理部303は、設定指示に含まれる電力制約の電力キャップ1及び2をCPU31に設定する処理等を実行する。これにより、計算ノードは、利用者に課された電力制約の電力キャップ以下の消費電力になるように計算を実行するようになる。
収集部103は、ステップS11において特定された実行パターンを含む実行指示を、HPCシステム3の計算ノードのうち利用者端末1がアプリケーションプログラムの実行に使用する計算ノードに送信する(ステップS17)。或いは、ステップS17において、実行パターンに含まれるパラメータの値が反映されたアプリケーションプログラム及び設定ファイル等が計算ノードに送信されてもよい。
実行指示を受信した計算ノードの処理部303は、実行指示に含まれるパラメータの値を計算部301に出力し、計算部301は、アプリケーションプログラムの処理の実行を、受け取ったパラメータの値を使用して開始する。アプリケーションプログラムの実行中、CPU31のレジスタに格納された、CPU31及びメモリ32の消費電力を計算するための値及びCPU31の動作周波数を計算するための値が、処理部303により取得される。但し、説明を簡単にするため、以下ではCPU31の消費電力を計算するための値及びCPU31の動作周波数を計算するための値のみが使用されるものとする。また、アプリケーションプログラムの実行中或いはアプリケーションプログラムの実行後に計算部301が出力する性能値が、処理部303により取得される。本実施の形態においては、例えば、アプリケーションプログラムの実行開始後CPU31の動作が安定した場合に、消費電力を計算するための値及びCPU31の動作周波数を計算するための値、並びに、性能値が取得される。CPU31の動作が安定している間における値の平均及び性能値の平均が取得されてもよい。
処理部303は、消費電力を計算するための値からCPU31の消費電力を計算し、CPU31の動作周波数を計算するための値からCPU31の動作周波数を計算する。そして、処理部303は、CPU31の消費電力、CPU31の動作周波数及び取得された性能値を、利用者端末1に送信する。
収集部103は、性能値、動作周波数及び消費電力をHPCシステム3から受信し、収集データ格納部111に格納する(ステップS19)。
図13は、収集データ格納部111に格納されるデータの一例を示す図である。図13の例では、実行パターン毎に、各電力制約下での性能値、動作周波数及び消費電力が格納されている。なお、本実施の形態においては、計算ノードの動作に関する指標値としてCPU31の動作周波数および消費電力が使用されるが、例えばメモリ32の消費電力およびCPU31の温度等の指標値が使用されてもよい。
収集部103は、未処理の電力制約が有るか判定する(ステップS21)。未処理の電力制約が有る場合(ステップS21:Yesルート)、処理はステップS13に戻る。
一方、未処理の電力制約が無い場合(ステップS21:Noルート)、収集部103は、未処理の実行パターンが有るか判定する(ステップS23)。
未処理の実行パターンが有る場合(ステップS23:Yesルート)、処理はステップS11に戻る。
一方、未処理の実行パターンが無い場合(ステップS23:Noルート)、処理は呼び出し元に戻る。
以上のような処理を実行すれば、性能モデルの生成に使用されるデータを用意することができるようになる。
図10の説明に戻り、利用者端末1における制御部101は、生成部105を呼び出す。これに応じ、生成部105は、モデル生成処理を実行する(ステップS3)。
図14は、第1の実施の形態のモデル生成処理の処理フローを示す図である。
生成部105は、収集データ格納部111からデータを読み出す(図14:ステップS31)。ステップS31においては、各実行パターンについてのデータが読み出される。
生成部105は、利用者から指定された複数の実行パターンのうち未処理の実行パターンを1つ特定する(ステップS33)。
生成部105は、ステップS33において特定された実行パターンについて、動作周波数及び消費電力から性能値を求める数式を、ステップS31において読み出されたデータを用いて重回帰分析により生成する(ステップS35)。数式の形式は、例えば、性能値=動作周波数*係数1+消費電力*係数2+定数1である。生成部105は、生成された数式のデータ(例えば係数及び定数等)をモデルデータ格納部115に格納する。
生成部105は、ステップS33において特定された実行パターンについて、電力キャップから動作周波数及び消費電力を求める数式を、ステップS31において読み出されたデータを用いて重回帰分析により生成する(ステップS37)。数式の形式は、例えば、動作周波数=電力キャップ1*係数3+電力キャップ2*係数4+定数2および消費電力=電力キャップ1*係数5+電力キャップ2*係数6+定数3である。生成部105は、生成された数式のデータ(例えば係数及び定数等)をモデルデータ格納部115に格納する。
図15は、第1の実施の形態のモデルデータ格納部115に格納されるデータの一例を示す図である。図15の例では、係数1乃至6及び定数1乃至3の各々について値が格納されている。図15に示したようなデータは、各実行パターンについて生成される。
生成部105は、未処理の実行パターンが有るか判定する(ステップS39)。
未処理の実行パターンが有る場合(ステップS39:Yesルート)、処理はステップS33に移行する。一方、未処理に実行パターンが無い場合(ステップS39:Noルート)、処理は呼び出し元に戻り終了する。
以上のような処理によって生成された性能モデルを使用すれば、HPCシステム3に計算を実行させていない電力制約についても、性能値を算出することができるようになる。これにより、HPCシステム3に計算を実行させる回数を減らすことができるようになる。また、CPU31の動作周波数および消費電力は性能に密接に関わるので、本実施の形態の方法により高精度の性能モデルが生成される。
図16は、利用者から指定された電力制約に対応する実行パターンを出力する処理の処理フローを示す図である。
利用者端末1における制御部101は、利用者から電力制約の指定を受け付ける(図16:ステップS41)。これに応じ、制御部101は、算出部107を呼び出す。そして、算出部107は、実行パターン特定処理を実行する(ステップS43)。
図17は、実行パターン特定処理の処理フローを示す図である。
算出部107は、利用者から指定された電力制約に対応する電力キャップ(ここでは、電力キャップ1及び電力キャップ2)を、制約データ格納部113から読み出す(図17:ステップS51)。
算出部107は、モデルデータ格納部115にデータが格納されている実行パターンのうち未処理の実行パターンを1つ特定する(ステップS53)。
算出部107は、ステップS53において特定された実行パターンについての数式のデータを、モデルデータ格納部115から読み出す。そして、算出部107は、読み出したデータに係る数式に電力キャップ1及び電力キャップ2を当てはめることで、ステップS53において特定された実行パターンについて性能値を算出する(ステップS55)。算出部107は、算出された性能値を出力データ格納部117に格納する。
図18は、出力データ格納部117に格納されているデータの一例を示す図である。図18の例では、各実行パターンについて算出された性能値が格納されている。
算出部107は、未処理の実行パターンが有るか判定する(ステップS57)。
未処理の実行パターンが有る場合(ステップS57:Yesルート)、処理はステップS53に戻る。
一方、未処理の実行パターンが無い場合(ステップS57:Noルート)、算出部107は以下の処理を実行する。具体的には、算出部107は、ステップS55において算出された性能値が最も大きい実行パターンを特定する(ステップS59)。そして処理は呼び出し元に戻る。
図16の説明に戻り、制御部101は、ステップS43において特定された実行パターンを含むデータを、利用者端末1の出力装置(例えばモニタ)に出力する(ステップS45)。そして処理は終了する。ステップS45において出力されるデータには、ステップS43において特定された実行パターン以外の実行パターンが含まれていてもよいが、その場合にはステップS43において特定された実行パターンが識別可能な態様で(例えば、色付けされて)出力されることが好ましい。
これにより、利用者端末1を操作する利用者は適切な実行パターンを確認できるので、適切な実行パターンで実際にアプリケーションプログラムをHPCシステム3に実行させることができるようになる。つまり、適切ではない実行パターンでアプリケーションプログラムをHPCシステム3に実行させることを抑制できるようになる。
[実施の形態2]
第1の実施の形態においては、性能モデルとして、動作周波数及び消費電力から性能値を求める数式と、電力キャップから動作周波数及び消費電力を求める数式とが生成される。これに対して、第2の実施の形態においては、性能モデルとして、電力キャップから性能値を直接求める式が生成される。
以下では、第2の実施の形態のモデル生成処理において実行される処理について説明する。図19は、第2の実施の形態のモデル生成処理の処理フローを示す図である。
生成部105は、収集データ格納部111からデータを読み出す(図19:ステップS61)。ステップS61においては、各実行パターンについてのデータが読み出される。
生成部105は、利用者から指定された複数の実行パターンのうち未処理の実行パターンを1つ特定する(ステップS63)。
生成部105は、ステップS63において特定された実行パターンについて、電力キャップ(ここでは、電力キャップ1及び電力キャップ2)から性能値を求める数式を、ステップS61において読み出されたデータを用いて重回帰分析により生成する(ステップS65)。数式の形式は、例えば、性能値=電力キャップ1*係数7+電力キャップ2*係数8+定数4である。生成部105は、生成された数式のデータ(例えば係数及び定数等)をモデルデータ格納部115に格納する。
図20は、第2の実施の形態のモデルデータ格納部115に格納されるデータの一例を示す図である。図20の例では、係数7及び8並びに定数4の各々について値が格納されている。図20に示したようなデータは、各実行パターンについて生成される。
生成部105は、未処理の実行パターンが有るか判定する(ステップS67)。
未処理の実行パターンが有る場合(ステップS67:Yesルート)、処理はステップS63に移行する。一方、未処理に実行パターンが無い場合(ステップS67:Noルート)、処理は呼び出し元に戻り終了する。
以上のような処理によって生成された性能モデルを使用すれば、HPCシステム3に計算を実行させていない電力制約についても、性能値を算出することができるようになる。これにより、HPCシステム3に計算を実行させる回数を減らすことができるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した利用者端末1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、上で述べた例では利用者端末1が本実施の形態の処理を実行するが、アプリケーションプログラムを実行する計算ノードにおいて当該処理を実行してもよい。
また、上で述べた例では1台の計算ノードがアプリケーションプログラムを実行するが、2台以上の計算ノードがアプリケーションプログラムを実行してもよい。その場合には、利用者端末1が、アプリケーションプログラムを実行する複数台の計算ノードの各々から性能値及び計算ノードの動作に関する指標値を取得してもよい。この場合、各計算ノードについて性能モデルを実行パターン毎に生成してもよいし、同じタイプの計算ノードについては、いずれか1台の計算ノードについて性能モデルを実行パターン毎に生成してもよい。
また、上で述べた例では実行パターン毎に性能モデルが生成されるが、複数の実行パターンの内容によっては、当該複数の実行パターンに対して1つの性能モデルを生成してもよい。
[付録]
本付録においては、CPU31の消費電力から性能値をより簡易な方法で算出する方法について説明する。ここでは、以下の2つの関係が成立することを仮定する。
(関係1)動作周波数=消費電力*係数11+定数11
(関係2)性能値=動作周波数*係数12+定数12
このような2つの線形関係が成立すれば、性能値=(消費電力*係数11+定数11)*係数12+定数12として性能値を算出することができる。
まず、関係1について検討する。図21は、或るアプリケーションプログラム(ここでは、アプリケーションプログラムA1とする)を実行した場合における動作周波数と消費電力との関係を示す図である。図21の例においては相関係数R2=0.9897であるので、線形関係が成立するといえる。このように、(関係1)については、一般的に線形関係を仮定しても問題が無いことが多い。
次に、関係2について検討する。図22は、アプリケーションプログラムA1とは異なるアプリケーションプログラム(ここでは、アプリケーションプログラムA2とする)を実行した場合における性能値と動作周波数との関係を示す図である。図22の例においては相関係数R2=0.9835であるので、線形関係が成立するといえる。しかし、線形関係が成立しないケースもある。図23は、アプリケーションA1を実行した場合における性能値と動作周波数との関係を示す図である。図23の例においては、相関係数R2=0.7784であるので、線形関係が成立するとは言い難い。このように、関係2については、場合によっては線形関係が成立しないことがある。
従って、関係1と関係2とが両方成立することが予めわかっているケースについては、上記のような方法を用いて消費電力から性能値を算出したとしても問題が無い。
以上で本付録を終了する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約からアプリケーションプログラムの性能値を算出するための性能モデルを、アプリケーションプログラムのパラメータの値のセット毎に生成する生成部(実施の形態における生成部105は上記生成部の一例である)と、(B)アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された性能モデルに基づき、複数の電力制約のいずれとも異なる第1の電力制約からアプリケーションプログラムの性能値を算出する算出部(実施の形態における算出部107は上記算出部の一例である)と、(C)算出された性能値のうち最大の性能値に対応する、アプリケーションプログラムのパラメータの値のセットを出力する出力部(実施の形態における制御部101は上記出力部の一例である)とを有する。
アプリケーションプログラムのパラメータの最適な値は、電力制約ごとに異なることがある。従って、上で述べたような処理を実行すれば、アプリケーションプログラムのパラメータを電力制約に応じて適切な値に設定することができるようになる。
また、上記データは性能値を含んでもよい。そして、生成部は、(a1)電力制約を説明変数とし且つ性能値を目的変数とする性能モデルを、アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成してもよい。
電力制約以外は不明である場合であっても、性能モデルを利用して性能値を算出できるようになる。
また、上記データは性能値および計算装置の動作に関する指標値を含んでもよい。そして、生成部は、(a2)電力制約を説明変数とし且つ指標値を目的変数とする第1の性能モデルと、指標値を説明変数とし且つ性能値を目的変数とする第2の性能モデルとを、アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成してもよい。そして、上記指標値は、計算装置におけるプロセッサの動作周波数、プロセッサの消費電力、プロセッサの温度、及び計算装置におけるメモリの消費電力の少なくともいずれかについての値を含んでもよい。
上記なような項目は性能と密接に関係するので、適切な性能値を算出できるようになる。
また、複数の電力制約の各々は、単位時間内において使用可能な電力の平均値と、単位時間内の第1の時間において使用可能な電力の平均値とを含んでもよい。
最大の消費電力が柔軟に設定されるので、計算装置の処理性能を高めることができるようになる。
また、アプリケーションプログラムのパラメータは、アプリケーションプログラムの引数として設定されるパラメータ、環境変数として設定されるパラメータ、及びアプリケーションプログラムの実行時に参照されるファイル内に設定されるパラメータの少なくともいずれかを含んでもよい。
また、本情報処理装置は、(D)複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した場合、計算装置からデータを取得する取得部(実施の形態における収集部103は上記取得部の一例である)をさらに有してもよい。
本実施の形態の第2の態様に係る情報処理システムは、(E)情報処理装置と、(F)計算装置とを有する。そして、情報処理装置が、(e1)複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約からアプリケーションプログラムの性能値を算出するための性能モデルを、アプリケーションプログラムのパラメータの値のセット毎に生成する生成部(実施の形態における生成部105は上記生成部の一例である)と、(e2)アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された性能モデルに基づき、複数の電力制約のいずれとも異なる第1の電力制約からアプリケーションプログラムの性能値を算出する算出部(実施の形態における算出部107は上記算出部の一例である)と、(e3)算出された性能値のうち最大の性能値に対応する、アプリケーションプログラムのパラメータの値のセットを出力する出力部(実施の形態における制御部101は上記出力部の一例である)とを有する。
本実施の形態の第3の態様に係る情報処理方法は、(F)複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約からアプリケーションプログラムの性能値を算出するための性能モデルを、アプリケーションプログラムのパラメータの値のセット毎に生成し、(G)アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された性能モデルに基づき、複数の電力制約のいずれとも異なる第1の電力制約からアプリケーションプログラムの性能値を算出し、(H)算出された性能値のうち最大の性能値に対応する、アプリケーションプログラムのパラメータの値のセットを出力する処理を含む。
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成する生成部と、
前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出する算出部と、
算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する出力部と、
を有する情報処理装置。
(付記2)
前記データは前記性能値を含み、
前記生成部は、
前記電力制約を説明変数とし且つ前記性能値を目的変数とする前記性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成する、
付記1記載の情報処理装置。
(付記3)
前記データは前記性能値および前記計算装置の動作に関する指標値を含み、
前記生成部は、
前記電力制約を説明変数とし且つ前記指標値を目的変数とする第1の性能モデルと、前記指標値を説明変数とし且つ前記性能値を目的変数とする第2の性能モデルとを、前記アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成し、
前記指標値は、
前記計算装置におけるプロセッサの動作周波数、前記プロセッサの消費電力、前記プロセッサの温度、及び前記計算装置におけるメモリの消費電力の少なくともいずれかについての値を含む、
付記1記載の情報処理装置。
(付記4)
前記複数の電力制約の各々は、単位時間内において使用可能な電力の平均値と、前記単位時間内の第1の時間において使用可能な電力の平均値とを含む、
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記アプリケーションプログラムのパラメータは、前記アプリケーションプログラムの引数として設定されるパラメータ、環境変数として設定されるパラメータ、及び前記アプリケーションプログラムの実行時に参照されるファイル内に設定されるパラメータの少なくともいずれかを含む、
付記1乃至4のいずれか1つ記載の情報処理装置。
(付記6)
前記複数の電力制約それぞれの下で前記計算装置が前記アプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した場合、前記計算装置から前記データを取得する取得部
をさらに有する付記1記載の情報処理装置。
(付記7)
情報処理装置と、
計算装置と、
を有し、
前記情報処理装置が、
複数の電力制約それぞれの下で前記計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成する生成部と、
前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出する算出部と、
算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する出力部と、
を有する情報処理システム。
(付記8)
コンピュータに、
複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成し、
前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出し、
算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する、
処理を実行させるプログラム。
1 利用者端末 3 HPCシステム
11,31 CPU 12,32 メモリ
13,33 HDD 14,34 NIC
15,35 バス
101 制御部 103 収集部
105 生成部 107 算出部
111 収集データ格納部 113 制約データ格納部
115 モデルデータ格納部 117 出力データ格納部
301 計算部 303 処理部

Claims (7)

  1. 複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成する生成部と、
    前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出する算出部と、
    算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する出力部と、
    を有する情報処理装置。
  2. 前記データは前記性能値を含み、
    前記生成部は、
    前記電力制約を説明変数とし且つ前記性能値を目的変数とする前記性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成する、
    請求項1記載の情報処理装置。
  3. 前記データは前記性能値および前記計算装置の動作に関する指標値を含み、
    前記生成部は、
    前記電力制約を説明変数とし且つ前記指標値を目的変数とする第1の性能モデルと、前記指標値を説明変数とし且つ前記性能値を目的変数とする第2の性能モデルとを、前記アプリケーションプログラムのパラメータの値のセット毎に、重回帰分析により生成し、
    前記指標値は、
    前記計算装置におけるプロセッサの動作周波数、前記プロセッサの消費電力、前記プロセッサの温度、及び前記計算装置におけるメモリの消費電力の少なくともいずれかについての値を含む、
    請求項1記載の情報処理装置。
  4. 前記複数の電力制約の各々は、単位時間内において使用可能な電力の平均値と、前記単位時間内の第1の時間において使用可能な電力の平均値とを含む、
    請求項1乃至3のいずれか1つ記載の情報処理装置。
  5. 前記アプリケーションプログラムのパラメータは、前記アプリケーションプログラムの引数として設定されるパラメータ、環境変数として設定されるパラメータ、及び前記アプリケーションプログラムの実行時に参照されるファイル内に設定されるパラメータの少なくともいずれかを含む、
    請求項1乃至4のいずれか1つ記載の情報処理装置。
  6. 情報処理装置と、
    計算装置と、
    を有し、
    前記情報処理装置が、
    複数の電力制約それぞれの下で前記計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成する生成部と、
    前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出する算出部と、
    算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する出力部と、
    を有する情報処理システム。
  7. コンピュータに、
    複数の電力制約それぞれの下で計算装置がアプリケーションプログラムを当該アプリケーションプログラムのパラメータの値のセット毎に実行した際に取得されたデータに基づき、電力制約から前記アプリケーションプログラムの性能値を算出するための性能モデルを、前記アプリケーションプログラムのパラメータの値のセット毎に生成し、
    前記アプリケーションプログラムのパラメータの値のセット毎に、当該セットについて生成された前記性能モデルに基づき、前記複数の電力制約のいずれとも異なる第1の電力制約から前記アプリケーションプログラムの性能値を算出し、
    算出された前記性能値のうち最大の性能値に対応する、前記アプリケーションプログラムのパラメータの値のセットを出力する、
    処理を実行させるプログラム。
JP2017170830A 2017-09-06 2017-09-06 情報処理装置、情報処理システム及びプログラム Active JP6897438B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017170830A JP6897438B2 (ja) 2017-09-06 2017-09-06 情報処理装置、情報処理システム及びプログラム
US16/118,498 US11281559B2 (en) 2017-09-06 2018-08-31 Information processing apparatus, information processing system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017170830A JP6897438B2 (ja) 2017-09-06 2017-09-06 情報処理装置、情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2019046338A JP2019046338A (ja) 2019-03-22
JP6897438B2 true JP6897438B2 (ja) 2021-06-30

Family

ID=65517329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017170830A Active JP6897438B2 (ja) 2017-09-06 2017-09-06 情報処理装置、情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US11281559B2 (ja)
JP (1) JP6897438B2 (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3573957B2 (ja) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
JP5040625B2 (ja) 2007-12-06 2012-10-03 富士通株式会社 Lsiの電力見積方法及びその装置
CN101975436B (zh) * 2010-10-19 2012-08-22 恒康科技有限公司 空调系统水侧设备节能控制方法
US9355000B1 (en) * 2011-08-23 2016-05-31 The Mathworks, Inc. Model level power consumption optimization in hardware description generation
US9292335B2 (en) * 2011-09-05 2016-03-22 Ntt Docomo, Inc. Information processing device and program
US8839170B2 (en) * 2012-05-31 2014-09-16 International Business Machines Corporation Power/performance optimization through temperature/voltage control
JP6067449B2 (ja) * 2013-03-26 2017-01-25 株式会社東芝 情報処理装置、情報処理プログラム
CN105279079A (zh) * 2014-06-25 2016-01-27 腾讯科技(深圳)有限公司 应用程序性能估测方法、装置和系统
US9870297B2 (en) * 2014-08-29 2018-01-16 Ebay Inc. Optimization of power and computational density of a data center
US11009836B2 (en) * 2016-03-11 2021-05-18 University Of Chicago Apparatus and method for optimizing quantifiable behavior in configurable devices and systems
WO2017168940A1 (ja) * 2016-03-31 2017-10-05 株式会社日立製作所 データ統合分析システム
CN105930248A (zh) * 2016-04-20 2016-09-07 南京酷派软件技术有限公司 一种应用程序的性能提示方法和系统
US11112784B2 (en) * 2016-05-09 2021-09-07 Strong Force Iot Portfolio 2016, Llc Methods and systems for communications in an industrial internet of things data collection environment with large data sets
JP6750494B2 (ja) * 2016-06-29 2020-09-02 富士通株式会社 電力需要予測プログラム、電力需要予測装置、および電力需要予測方法
US10223228B2 (en) * 2016-08-12 2019-03-05 International Business Machines Corporation Resolving application multitasking degradation
CN106991030B (zh) * 2017-03-01 2020-04-14 北京航空航天大学 一种基于在线学习的系统功耗优化的轻量级方法
US10372597B2 (en) * 2017-05-03 2019-08-06 International Business Machines Corporation Software testing and verification

Also Published As

Publication number Publication date
US11281559B2 (en) 2022-03-22
JP2019046338A (ja) 2019-03-22
US20190073287A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
JP4898805B2 (ja) システムの構成パラメータ・セットを最適化するための方法、プログラムおよび装置
EP3324256B1 (en) Control system and control device
CN110008049A (zh) 一种基于互联网平台的数据修正方法、终端设备及介质
CN116739269A (zh) 基于调度优化模型的排程方法、装置、计算机设备及存储介质
JP6897438B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP3791921B2 (ja) ネットワーク・トレースを解析する方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法
US20140181174A1 (en) Distributed processing of stream data on an event protocol
JP2008109810A (ja) 負荷周波数制御の評価指標の解析方法
JP2021033774A (ja) サービス配備制御システム、サービス配備制御方法及び記憶媒体
JP3690721B2 (ja) システム性能見積システム及びシステム性能見積方法
Foroni et al. Moira: A goal-oriented incremental machine learning approach to dynamic resource cost estimation in distributed stream processing systems
KR102195886B1 (ko) 분산 처리 시스템 및 이의 동작 방법
US20200326952A1 (en) Modification procedure generation device, modification procedure generation method and storage medium for storing modification procedure generation program
JP6988537B2 (ja) 情報処理装置、分散システム及び変更制御プログラム
JPH10293747A (ja) クライアント・サーバシステムの性能評価装置及び方式
JP2008250838A (ja) ソフトウェア生成装置、方法、およびプログラム
CN109684094B (zh) 云平台环境下海量文献并行挖掘的负载分配方法及系统
JP2004272582A (ja) 計算機システムの性能予測プログラムおよび設計支援システム
JP3428813B2 (ja) 電力系統シミュレータ
Jakobs Automatic Test-Case Generation with CoVeriTest
CN113254321B (zh) 一种评估处理器内存访问性能的方法及系统
US8954460B2 (en) Apparatus and method for scheduling user defined operator (UDO) in data stream management system (DSMS)
CN117480457A (zh) 控制装置以及控制方法
Golatowski et al. Using Hartstone uniprocessor benchmark in a real-time systems course
JP2021093073A (ja) 連成解析装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210414

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: 20210511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210524

R150 Certificate of patent or registration of utility model

Ref document number: 6897438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150