amkozlov / eco-freq Goto Github PK
View Code? Open in Web Editor NEWDynamic CPU/GPU power scaling to maximize renewable energy usage and reduce emissions
License: Other
Dynamic CPU/GPU power scaling to maximize renewable energy usage and reduce emissions
License: Other
eg for running performance benchmarks, urgent jobs etc.
Hi Alexey,
I have installed eco-freq and run the test command:
sudo ./ecofreq.py -c mock.cfg -l test.log
I get the following stack:
~$ sudo ./ecofreq.py -c mock.cfg -l test.log
EcoFreq v0.0.1 (c) 2021 Alexey Kozlov
CPU model: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
CPU sockets/cores/threads: 1 / 2 / 4
RAPL CPU domains: count = 1, hw_limit = 15.0 W, current_limit = 15.0 W
RAPL DRAM domains: count = 1, hw_limit = None W, current_limit = 0.0 W
DVFS settings: driver = intel_pstate, governor = powersave
DVFS HW limits: 500 - 2700 MHz
DVFS policy: 500 - 2700 MHz
IPMI available: NO
Log file: test.log
CO2 Provider: MockCO2Provider (interval = 10 sec)
CO2 Policy: CPUPowerEcoPolicy(LinearGovernor)
Monitors: PowercapEnergyMonitor (interval = 5 sec), CPUFreqMonitor (interval = 5 sec)
#Timestamp gCO2/kWh Fmax [Mhz] Favg [Mhz] CPU_Pmax [W] GPU_Pmax [W] SYS_Pavg [W] Energy [J] CO2 [g]
2021-06-15T10:30:23 254 2700 911 15.000 NA 9.193 91.930 0.006
Exception: (<class 'OSError'>, OSError(61, 'No data available'), <traceback object at 0x7f038c051948>)
OSError: [Errno 61] No data available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./ecofreq.py", line 1250, in spin
self.update_co2()
File "./ecofreq.py", line 1222, in update_co2
self.co2policy.set_co2(co2)
File "./ecofreq.py", line 1121, in set_co2
p.set_co2(co2)
File "./ecofreq.py", line 1047, in set_co2
self.set_power(self.power)
File "./ecofreq.py", line 1042, in set_power
LinuxPowercapHelper.set_power_limit(power_uw)
File "./ecofreq.py", line 402, in set_power_limit
cls.set_package_power_limit(pkg, power, unit)
File "./ecofreq.py", line 392, in set_package_power_limit
write_value(cls.package_file(pkg, "constraint_0_power_limit_uw"), val)
File "./ecofreq.py", line 34, in write_value
f.write(str(val))
OSError: [Errno 61] No data available
During handling of the above exception, another exception occurred:
OSError: [Errno 61] No data available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./ecofreq.py", line 1328, in <module>
ef.spin()
File "./ecofreq.py", line 1257, in spin
self.co2policy.reset()
File "./ecofreq.py", line 1125, in reset
p.reset()
File "./ecofreq.py", line 1050, in reset
self.set_power(self.pmax)
File "./ecofreq.py", line 1042, in set_power
LinuxPowercapHelper.set_power_limit(power_uw)
File "./ecofreq.py", line 402, in set_power_limit
cls.set_package_power_limit(pkg, power, unit)
File "./ecofreq.py", line 392, in set_package_power_limit
write_value(cls.package_file(pkg, "constraint_0_power_limit_uw"), val)
File "./ecofreq.py", line 34, in write_value
f.write(str(val))
OSError: [Errno 61] No data available
Any clue what's causing this?
Cheers,
Benoit
Hi Alexey,
Here is another issue: I start the service according the wiki, but it doesn't seem to be active.
The installation went smoothly.
benoit:~$ sudo systemctl start ecofreq
benoit:~$ ./ecorun.py sleep 5
ERROR: File not found: /dev/shm/ecofreq
Please make sure that EcoFreq service is active!
Let me know if I can send your more information
Cheers,
Benoit
Here is my ecostat output after 2 hours:
Time interval: 2021-06-16 14:00:26 - 2021-06-16 15:50:32
Duration active: 1:50:06
Duration inactive: 0:00:00
CO2 intensity range [g/kWh]: 1000000 - 0
CO2 intensity mean [g/kWh]: 0
Energy consumed [J]: 69096.234
Energy consumed [kWh]: 0.019
CO2 emitted [kg]: 0.0
There is nothing about CO2, could it be that ecofreq was not able to query the relevant information? Or should I consume more CO2 before getting non-null values?
Benoit
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.