©リーズ大学2016
Tango Energy Modeller(EM)は、欧州プロジェクトTango(http://tango-project.eu)のコンポーネントです。
EMは、バージョン2.0のApacheライセンスの下で配布されています。
エネルギーモデラーは、アプリケーションの現在および歴史的エネルギーの使用を報告する責任があります。これは、タンゴアーキテクチャの適応行動を導く情報を提供する意図で、将来のアプリケーションの電力とエネルギー消費を将来予測する能力を特徴としています。
このガイドは、2つの異なるガイドに分かれています。1つはエネルギーモデラーの編集に固有のもので、2つ目はエネルギーモデラーを実行および構成する方法です。
エネルギーモデラーの主要な2つの前提条件は、次のとおりです。
エネルギーモデラーをコンパイルするには、次の手順を実行する必要があります。
このプロジェクトのSonar Cloudレポートは、https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-modellerで入手できます。
この場合、エネルギーモデルのデータの収集に使用することを目的としたスタンドアロンモードでアプリケーションを実行する方法を詳しく説明します。 2番目の操作モードエネルギーモデラーは、モデラーとして使用されることを目的として、自己適応マネージャーなどの別のサブコンポーネントとして使用されます。
エネルギーモデラーも高度に構成可能であり、その動作を変更するために使用できるいくつかのファイルがあります。 Energy Modellerには、これらの変更を達成するために、次の設定ファイルがあります。
Energy-Modeller.Properties:使用するデータソースと予測子を指定する基本構成を保持します。
Energy-Modeller-DB.Properties:エネルギーモデラーのデータベース情報を保持します。
Energy-Modeller-Predictor.Properties:エネルギー使用量の予測に関連する設定を保持します。
Energy-Modeller-Influx-Db-config.Properties:CollectDinFluxDBDatasOruceadaptor、TangoreMotasOruceadaptor、TangoreMotasourceadaptor、TangoenvironmentDatasourceadaptorが使用している場合、CollectDinFluxDBDatasOruceAdaptor、TangoreMotasOruceAdaptorの場合、ConnectDのInfluxDBデータベースに直接接続する方法の設定を保持します。 TangoenvironmentDatasourCeadaptorは、使用中のデフォルトのデータソースです。
Energy-Modeller-DB-Zabbix.Properties:ZabbixDirectDBDATASOURCEADAPTORが使用されている場合、Zabbixデータベースに直接接続する方法に関する情報を保持します。
これらの設定は、特定のインフラストラクチャに合わせて調整する必要があります。設定については以下に説明し、参照のために設定の例を示します。
このファイルは、エネルギーモデラーのさまざまなデータベース関連設定を指定します。例を以下に示します。
energy.modeller.db.url = jdbc:mysql://iaas-vm-dev:3306/ascetic-em
energy.modeller.db.driver = org.mariadb.jdbc.Driver
energy.modeller.db.password = XXXXX
energy.modeller.db.user = user-em
これには、エネルギーモデラーのデータベースのユーザー名とパスワードを指定するためのバックグラウンドデータベースに接続することが含まれます。これには、接続URL、使用するドライバー、使用するユーザー名とパスワードなどの情報が含まれます。データベース構造をセットアップするSQLスクリプトは、ファイルIAAS Energy Modeller DB.SQLに保持されています。ディレクトリ{Energy-Modeller Root Directory} Src Main Resourcesの下に保持されます。
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
データソースパラメーターは、エネルギーモデラーが必要な環境データをどのように獲得するかを示します。これは、次のオプションの1つになる可能性があります。
CollectDinFluxDBDATASOURCEADAPTOR:必要な情報のCollectDのInfluxDBデータベースに直接アクセスするこのコネクタ。このアダプターは、構成ファイルEnergy-Modeller-Influx-db-config.propertiesを使用します。
Slurmdatasourceadaptor:これは、エネルギーモデラーをSluRMジョブ管理ベースの環境に接続するアダプターです。物理ホストに関する情報へのアクセスを許可します。
TangoenvironmentDatasourCeadaptor:これは、SlurmdatasourceadaptorとCollectdinfluxdbdatasourceadaptorの両方を利用します。
TangoreMoteprocessingDataSourCeadaptor:これにより、CollectDinFluxDBDATASOURCEADAPTORを利用し、COMPSSランタイム環境にさらに接続して、ランニングジョブに関する詳細情報を入手します。 zabbixdirectdbdatasourceadaptor:必要な情報のZabbixデータベースに直接アクセスするこのコネクタ。このアダプターは、構成ファイルEnergy-Modeller-db-zabbix.propertiesを使用します。
wattsupmeterdatasourceadaptor:エネルギーモデラーのローカル使用のため。
特にZabbixデータソースアダプターの使用中に、観測ウィンドウが小さすぎてはならないことに注意してください。これは、wattsupmeterdatasourceadaptorよりも少ないデータポイントを提供する可能性があり、後者は毎秒低い間隔で報告することができます。
使用中の予測子は上で指定できます。オプションは次のとおりです。
このファイルは、エネルギー予測メカニズムの設定を指定します。そのようなファイルの例を以下に示します。
energy.modeller.energy.predictor.datasource = ZabbixDirectDbDataSourceAdaptor
energy.modeller.energy.predictor.workload.predictor = CpuRecentHistoryWorkloadPredictor
energy.modeller.energy.predictor.default_load = -1.0
energy.modeller.energy.predictor.cpu.utilisation.observe_time.min = 0
energy.modeller.energy.predictor.cpu.utilisation.observe_time.sec = 15
データソースパラメーターは、エネルギーモデラーの予測子が必要な環境データをどのように取得するかを示します。以前に指定されたオプションの1つになる可能性があります。
エネルギー予測子は、いくつかの異なるワークロード推定器関数を利用できます。デフォルトは、cpurecenthistoryworkloadpredictorを使用することです。これには、次の構成設定があります。
default_loadパラメーターは、予測子が推定として使用する負荷を示します。範囲0..1で指定する必要があります。別の方法は、観測された電流負荷を使用するようにデフォルトで値-1を提供することです。
オブザーバー電流負荷が使用されている場合、observe_time.minおよびobserve_time.secパラメーターを使用して、CPU利用の観測ウィンドウのサイズを示します。 2つの値は、合計観測ウィンドウ時間を作成するために単純に追加されます。デフォルトの観測ウィンドウサイズは15分です。
エネルギーモデラーが仮想マシン用に構成されているときに使用できるワークロード予測のその他のオプション。これらは:
これらの予測因子は、履歴負荷情報で機能します。各VMは、VMのアプリケーションに関する情報の基本情報と、それが基づいているディスク画像でタグを付けることができます。平均CPUワークロード予測因子:特定のアプリケーションタグまたはベースディスクイメージの平均CPU使用率に基づいて、ワークロードの推定値を与えます。平均ブートワークロード予測因子:特定のアプリケーションタグまたはベースディスクイメージのVMのブーツからの時間に基づいて、ワークロードの推定値を指定します。曜日(DOW)ワークロード予測因子:特定のアプリケーションタグまたはベースディスクイメージに対してVMがアクティブであるという曜日と日に基づいて、ワークロードの推定値を与えます。
この構成ファイルは、CollectDinFluxDBDataSourCeadaptor、TangoreMoteprocessingDataSourCeadaptor、またはTangoenvironmentDataSourCeadaptorアダプターを使用する際にエネルギーモデラーを構成するために使用されます。 CollectD InfluxDBデータベースに直接接続するために使用されるデータベース接続設定を保持します。
energy.modeller.influx.db.hostname = http://ns54.bullx:8086
energy.modeller.influx.db.name = collectd
energy.modeller.influx.db.user = collectd
energy.modeller.influx.db.password = XXXXX
これには、ホスト接続URLとデータベース名の指定と、ユーザー名やパスワードなどの接続の詳細が含まれます。
これは、ZabbixDirectDBDATASOURCEADAPTORを使用するときにエネルギーモデラーを構成するために使用される構成ファイルです。 Zabbixデータベースに直接接続するために使用されるデータベース接続設定を保持します。
energy.modeller.zabbix.db.driver = org.mariadb.jdbc.Driver
energy.modeller.zabbix.db.url = jdbc:mysql://192.168.3.199:3306/zabbix
energy.modeller.zabbix.db.user = zabbix
energy.modeller.zabbix.db.password = XXXXX
energy.modeller.host.group = Hypervisors
energy.modeller.vm.group = Virtual Machines
energy.modeller.dfs.group = DFS
energy.modeller.only.available.hosts = false
これには、Zabbixデータベースに直接接続するためのEnergy Modellerのデータベースユーザー名とパスワードの指定が含まれます。これには、接続URL、使用するドライバー、使用するユーザー名、パスワードなどの情報も含まれます。
エネルギーモデラーは、次のコンポーネントで動作します。