© University of Leeds 2016
Tango Energy Modeller (EM) เป็นส่วนประกอบของโครงการ Tango โครงการยุโรป (http://tango-project.eu)
EM มีการแจกจ่ายภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0
Modeller Energy รับผิดชอบในการรายงานการใช้พลังงานในปัจจุบันและประวัติศาสตร์ของแอปพลิเคชัน มันมีความสามารถในการพยากรณ์พลังงานและการใช้พลังงานของแอปพลิเคชันในอนาคตด้วยความตั้งใจที่จะให้ข้อมูลที่เป็นแนวทางในการปรับพฤติกรรมของสถาปัตยกรรมแทงโก้
คู่มือนี้แบ่งออกเป็นสองคู่มือที่แตกต่างกันโดยเฉพาะอย่างยิ่งหนึ่งในการรวบรวม Modeller พลังงานและที่สองในการเรียกใช้และกำหนดค่า Modeller พลังงาน
ข้อกำหนดเบื้องต้นสองประการหลักของ Modeller คือ:
ในการรวบรวม Modeller พลังงานต้องดำเนินการขั้นตอนต่อไปนี้:
รายงาน Sonar Cloud สำหรับโครงการนี้มีอยู่ที่: https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-Modeller
ในกรณีนี้เราจะให้รายละเอียดเกี่ยวกับวิธีการเรียกใช้แอปพลิเคชันในโหมดสแตนด์อโลนซึ่งมีวัตถุประสงค์เพื่อใช้ในการรวบรวมข้อมูลสำหรับแบบจำลองพลังงาน โหมดที่สองของการใช้งาน Modeller Energy ใช้เป็นส่วนประกอบย่อยของอื่นเช่นตัวจัดการการปรับตัวด้วยตนเองโดยมีเจตนาที่จะใช้เป็น modeller
Modeller Energy ยังสามารถกำหนดค่าได้สูงและมีหลายไฟล์ที่อาจใช้ในการเปลี่ยนพฤติกรรม Energy Modeller มีไฟล์การตั้งค่าต่อไปนี้เพื่อให้บรรลุการเปลี่ยนแปลงเหล่านี้:
Energy-Modeller.Properties: ถือการกำหนดค่าพื้นฐานระบุแหล่งข้อมูลและตัวทำนายที่จะใช้
Energy-Modeller-DB.Properties: เก็บข้อมูลฐานข้อมูลสำหรับ Modeller Energy
Properties พลังงาน-โมเดลเลอร์-properties: ถือการตั้งค่าที่เกี่ยวข้องกับการทำนายการใช้พลังงาน
Energy-Modeller-Influx-DB-Config.properties: ถือการตั้งค่าเกี่ยวกับวิธีการเชื่อมต่อกับฐานข้อมูล InfluxDB ของ ConnectD โดยตรงในกรณีที่ CollectDinfluxDbDatasoruceadaptor TangoremoteProcessingDataSourceAdaptor TangoenvironmentDatasourceadaptor เป็นแหล่งข้อมูลเริ่มต้นที่ใช้งานอยู่
Energy-Modeller-DB-Zabbix.Properties: เก็บข้อมูลเกี่ยวกับวิธีการเชื่อมต่อกับฐานข้อมูล Zabbix โดยตรงในกรณีที่มีการใช้ ZabbixDirectDataTaSourceAdaptor
การตั้งค่าเหล่านี้จะต้องปรับให้เหมาะกับโครงสร้างพื้นฐานเฉพาะ การตั้งค่ามีการอธิบายไว้ด้านล่างและตัวอย่างของการตั้งค่ามีให้สำหรับการอ้างอิง
ไฟล์นี้ระบุการตั้งค่าที่เกี่ยวข้องกับฐานข้อมูลต่างๆสำหรับ Modeller Energy ตัวอย่างมีให้ด้านล่าง:
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
ซึ่งรวมถึงการระบุชื่อผู้ใช้และรหัสผ่านของฐานข้อมูลสำหรับ Modeller Energy เพื่อเชื่อมต่อกับฐานข้อมูลพื้นหลัง ซึ่งรวมถึงข้อมูลเช่น URL การเชื่อมต่อไดรเวอร์ที่ใช้และชื่อผู้ใช้และรหัสผ่านที่จะใช้ สคริปต์ SQL เพื่อตั้งค่าโครงสร้างฐานข้อมูลจะจัดขึ้นในไฟล์ IAAS Energy Modeller DB.SQL มันถูกจัดขึ้นภายใต้ไดเรกทอรี {ไดเรกทอรีรากพลังงาน}} src Main Resources
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
พารามิเตอร์แหล่งข้อมูลระบุว่า Modeller พลังงานจะได้รับข้อมูลสภาพแวดล้อมที่ต้องการอย่างไร อาจเป็นหนึ่งในตัวเลือกต่อไปนี้:
CollectDinFluxDBDataSourceAdaptor: ตัวเชื่อมต่อนี้ที่เข้าถึงฐานข้อมูล InfluxDB ของ CollectD โดยตรงสำหรับข้อมูลที่ต้องการ อะแดปเตอร์นี้ใช้ประโยชน์จากไฟล์การกำหนดค่าพลังงาน-โมเดลเลอร์-influx-db-config.properties
Slurmdatasourceadaptor: นี่คืออะแดปเตอร์ที่เชื่อมต่อ Modeller พลังงานเข้ากับสภาพแวดล้อมการจัดการงานของ Slurm อนุญาตให้เข้าถึงข้อมูลเกี่ยวกับโฮสต์ทางกายภาพ
TangoenvironmentDatasourceadaptor: สิ่งนี้ใช้ประโยชน์จากทั้ง slurmdatasourceadaptor และ collectdinfluxdbdatasourceadaptor
TangoremoteProcessingDatasourceadaptor: สิ่งนี้ใช้ประโยชน์จาก CollectDinfluxDbDatasourceadaptor และเชื่อมต่อกับสภาพแวดล้อมรันไทม์ CompSS เพิ่มเติมเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงาน ZABBIXDIRECTDBDATASORCEADAPTOR: ตัวเชื่อมต่อนี้ที่เข้าถึงฐานข้อมูล ZABBIX โดยตรงสำหรับข้อมูลที่ต้องการ อะแดปเตอร์นี้ใช้ประโยชน์จากไฟล์การกำหนดค่าพลังงาน-โมดูล -db-zabbix.properties
WattsupmeterDatasourceadaptor: สำหรับการใช้งานท้องถิ่นของ Modeller พลังงาน
ควรสังเกตว่าหน้าต่างการสังเกตไม่ควรมีขนาดเล็กเกินไปโดยเฉพาะอย่างยิ่งในระหว่างการใช้อะแดปเตอร์แหล่งข้อมูล 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
พารามิเตอร์แหล่งข้อมูลระบุว่าตัวทำนายของ Modeller พลังงานจะได้รับข้อมูลสภาพแวดล้อมที่ต้องการอย่างไร มันสามารถเป็นหนึ่งในตัวเลือกที่ระบุไว้ก่อนหน้านี้
ตัวทำนายพลังงานสามารถใช้ฟังก์ชั่นการประมาณปริมาณงานที่แตกต่างกันหลายอย่าง ค่าเริ่มต้นคือการใช้ cpureCentHistoryWorkLoadPredictor สิ่งนี้มีการตั้งค่าการกำหนดค่าต่อไปนี้
พารามิเตอร์ default_load บ่งชี้ว่าโหลดตัวทำนายควรใช้เป็นค่าประมาณใด ควรระบุไว้ในช่วง 0..1 อีกทางเลือกหนึ่งคือให้ค่า -1 ซึ่งจะเริ่มต้นในการใช้โหลดปัจจุบันที่สังเกตได้
ในกรณีที่มีการใช้โหลดปัจจุบันผู้สังเกตการณ์ใช้พารามิเตอร์ Observe_time.min และ Observe_time.sec ใช้เพื่อระบุขนาดของหน้าต่างการสังเกตสำหรับการใช้งาน CPU ค่าทั้งสองจะถูกรวมเข้าด้วยกันเพื่อให้เวลาหน้าต่างสังเกตการณ์ทั้งหมด ขนาดหน้าต่างการสังเกตเริ่มต้นคือ 15 นาที
ตัวเลือกอื่น ๆ สำหรับการทำนายเวิร์กโหลดซึ่งสามารถใช้งานได้เมื่อมีการกำหนดค่า Modeller พลังงานสำหรับเครื่องเสมือน นี่คือ:
ตัวทำนายเหล่านี้ทำงานกับข้อมูลการโหลดในอดีต VM แต่ละตัวสามารถติดแท็กข้อมูลพื้นฐานเกี่ยวกับแอปพลิเคชันที่ VM ใช้สำหรับและอิมเมจดิสก์ที่ใช้ ตัวทำนายเวิร์กโหลด CPU เฉลี่ย: ให้การประเมินภาระงานตามการใช้ CPU เฉลี่ยสำหรับแท็กแอปพลิเคชันที่กำหนดหรืออิมเมจพื้นฐานดิสก์ ตัวทำนายเวิร์กโหลดการบูตโดยเฉลี่ย: ให้การประเมินภาระงานตามเวลาจากการบูตของ VM สำหรับแท็กแอปพลิเคชันที่กำหนดหรืออิมเมจดิสก์ฐาน Day of Week (Dow) ตัวทำนายเวิร์กโหลด: ให้การประเมินภาระงานตามเวลาและวันของสัปดาห์ที่ VM ทำงานอยู่สำหรับแท็กแอปพลิเคชันที่กำหนดหรืออิมเมจดิสก์ฐาน
ไฟล์การกำหนดค่านี้ใช้เพื่อกำหนดค่า Modeller Energy เมื่อใช้ 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 การเชื่อมต่อโฮสต์และชื่อฐานข้อมูลพร้อมกับรายละเอียดการเชื่อมต่อเช่นชื่อผู้ใช้และรหัสผ่าน
นี่คือไฟล์การกำหนดค่าที่ใช้ในการกำหนดค่า Modeller Energy เมื่อใช้ 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
ซึ่งรวมถึงการระบุชื่อผู้ใช้และรหัสผ่านของฐานข้อมูลสำหรับ Modeller Energy เพื่อเชื่อมต่อโดยตรงกับฐานข้อมูล Zabbix ซึ่งรวมถึงข้อมูลเช่น URL การเชื่อมต่อไดรเวอร์ที่ใช้ชื่อผู้ใช้และรหัสผ่านที่จะใช้
Modeller Energy ทำงานร่วมกับส่วนประกอบต่อไปนี้: