Coder Social home page Coder Social logo

powerapi-ng / powerapi-scala Goto Github PK

View Code? Open in Web Editor NEW
68.0 18.0 16.0 7.78 MB

PowerAPI is a middleware toolkit for building software-defined power meters

Home Page: http://powerapi.org

License: GNU Affero General Public License v3.0

Scala 98.69% Shell 0.46% Java 0.85%
powerapi scala meters consumption hardware-counters akka energy power inria rapl

powerapi-scala's People

Contributors

gfieni avatar gitter-badger avatar huertas avatar mcolmant avatar rouvoy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powerapi-scala's Issues

Cannot compile CLI: “error: not found: value Universal”

stagem2@misc:~/powerapi/powerapi-cli$ ~/sbt/bin/sbt publishLocal
/home/stagem2/powerapi/powerapi-cli/build.sbt:3: error: not found: value Universal
mappings in Universal += downloadBluecove.value -> s"lib/${downloadBluecove.value.name}"
            ^
[error] Type error in expression

Scala version: 2.9.2+dfsg-2, from Debian 8 (Jessie)
Java version: 1.7.0_95 (openjdk 7u95-2.6.4-1~deb8u1), from Debian 8
sbt version: 0.13.9 (the latest from http://www.scala-sbt.org/)

how to configure powerapi

good morning/ afternoon
I am working on a school project that requires using powerapi to estimate the energy consumption, I don't seem to quite understand how to configure the software, though, here are the entry lines from my terminal

mint@mint ~ $ cd Documents/
mint@mint ~ /Documents $ cd powerapi-cli/
mint@mint ~ /Documents/powerapi-cli $ ./bin/powerapi
after this i dont realy now how to proceed because the configuration file (powerapi-cli/conf /powerapi.conf) is empty and i couldn't find any documentation on how to configure it myself.
PS: i got this software version from the website powerapi.org
any help is welcome.

powerapi process dies with no apparent reason

Hi there!

I'm running powerapi v4.2 in 6 different RHEL machines. I created a systemd service that runs powerapi and sends the output to an influxdb database. I noticed a strange behaviour that I would like to share.

In two of these six machines I had, since beginning, 4 processors and 6GB of RAM. Powerapi runs fine but from times to times the process dies and my grafana lacks a lot of data that was not sent to the influxdb since the process has died. After some time the systemd is able to restart the process and the situation normalizes.

In the other four machines I had, in the beginning, one processor and 1GB of RAM. In these machines powerapi sometimes started and sometimes did not. The command line just hang, it seemed to me that the process was waiting to something.

After a lot of analyses, I decided to upgrade the hardware to 2 processors and 4GB of RAM. With this new configuration powerapi started right after I ran the command and everything seemed to work perfectly but after some hours I noticed the same behaviour that I described in the other two machines: from times to times the process simple dies.

I tried v4.0 and after creating the database at influxdb and the retention policy, again, the process starts and from time to time it dies with no apparent reason.

I tried v3.4 and in this version the command line seems more 'responsive'. The process starts right after I hit the enter key in the command line. 3.4 seems ok to me but I noticed that this version doesn't have influxdb support.

In all the tests I ran, I used the same configuration in the powerapi.conf file: powerapi.cpu.tdp = 130

I made some adjustments and started powerapi with more heap memory alocated to the JVM but the behaviour is the same.

So, in the newest version, is there a specific hardware / software requirement to use powerapi? Some clue about this behaviour?

Container monitoring displays only zero values

I am trying to monitor the power consumption of docker container(s) with the new version of your docker container. The reported values are all zeros whiles with the earlier version this was not the case.

Command used :
docker run --name powerapi --rm --privileged --net=host --pid=host -v /var/run:/var/run docker_image modules procfs-cpu-simple monitor --frequency 1000 --containers name_of_container --console

I however also tried doing the same monitoring from my host machine using the cli version 4.2.1 but displays zero for the power consumed by the container(s).

Command used :
./bin/powerapi modules procfs-cpu-simple monitor --frequency 1000 --containers name_of container --console

Thanks.

Import the Topic Bus

Import and tune the code of the Topic-based Message Bus for the new version of PowerAPI.

Implement the subscription actor

  • Implement a subscription actor, which is responsible for monitoring a specific process or group of process.
  • Implement the associated supervision strategy

Implement the PowerSpy module

  • Implement the PowerSpy sensor
  • Implement the proportional formula (+ an option to remove the static idle) // to be shared with the RAPL module

Bus is a singleton object

There is a problem with the bus definition. Indeed, it was built as a singleton but each PowerMeter will need a new instance for keeping an insolation.

WIKI: Please update powerapi version in "Getting started" pages

Dear powerapi developpers,

While version 4.0 has been released for a while now, the documentation still mentions version 3.3 in the Getting started section, namely in pages:

Pull requests cannot be submitted for wiki pages, but I can provide you patches if needed.

Thanks for your work on powerapi!

Thomas

[develop] Problem with the Sensor in module/powerspy

There is a problem with the TargetUsageRatio used to compute the power.
Indeed, we use the UsageReport sent by the module/cpu/simple/Sensor which have to consider the idle time from the CPU. Here, only the active time is to be considered.

Version mismatch

Dear PowerAPI maintainers,

A new version 4.0 of PowerAPI has been released in April, which overrides the previous version 4.0 released about a year before.

However, the behaviour between the two versions is different and the new release contains files mentioning a v4.2 (namely lib/powerapi-cli.powerapi-cli-4.2.jar).

Would it be possible to clear the situation by separating versions 4.0 and 4.2?

Thanks a lot for your work on PowerAPI,
Thomas

Implement the Libpfm module

  • Implement a generic libpfm sensor (that can monitor any HPC)
  • Implement a polynomial formula (configured by parameters)

Link error while using Sigar module

I faced a linkage error while starting a monitoring with the Sigar module.
Apparently, the version compiled with Scala has not the same method signature that the version delivered in the package.

java.lang.UnsatisfiedLinkError: org.hyperic.sigar.ptql.SigarProcessQuery.create(Ljava/lang/String;)V
at org.hyperic.sigar.ptql.SigarProcessQuery.create(Native Method)
at org.hyperic.sigar.ptql.ProcessQueryFactory.getQuery(ProcessQueryFactory.java:66)

version used: release 3.3

Best regards,

ps: don't hesitate if you want more details about the stack trace.

[Question] PowerAPI Measurements for Low/High Performance?

Hi,

I am a student researcher at Carnegie Mellon University and am using PowerAPI to make power measurements on some Tensorflow Python code.

I am working on a NVIDIA Jetson TK1 Kit (http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html), where I have the option of turning on/off cores to change the device's performance level.

When I have all the cores turned on (high performance), PowerAPI suggests that the device is using less power than when I have all the cores turned off (low performance).

Do you have any insights into this result? I would have expected the opposite to occur.

Thank you,
Connor Lin

Getting 0 mhz - Core i7-4700MQ Hasswell

Hi Guys,

I am having a problem to get a reading, i tried with " procfs-cpu-simple monitor --frequency 1000 --pids xxx" (valid pids)
but somehow i only get 0 mhz, it keep on spaming 0 mhz...
i have checked my tdp (google) and then set in the configuration (as below)
image
I wonder is there anything else that i need to do or miss out?

Thanks.

docker - library initialization failed - unable to allocate file descriptor table - out of memory

Trying to get started with powerapi on Archlinux. I tried this

$ cat powerapi-cli.conf
powerapi.cpu.tdp = 45

$ docker run \
        --rm --privileged --pid=host \
        -v $PWD/powerapi-cli.conf:/powerapi/conf/powerapi-cli.conf \
        spirals/powerapi-cli:4.2.1 \
        modules procfs-cpu-simple monitor --frequency 1000 --apps firefox --pids 2372 --console

results in:

library initialization failed - unable to allocate file descriptor table - out of memory%      

Further info:

kernel: 4.20.1

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          16010        1908       12072         257        2029       13530
Swap:             0           0           0

$ docker version
Client:
 Version:           18.09.1-ce
 API version:       1.39
 Go version:        go1.11.4
 Git commit:        4c52b901c6
 Built:             Thu Jan 10 06:51:04 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1-ce
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.4
  Git commit:       4c52b901c6
  Built:            Thu Jan 10 06:50:46 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Any ideas?

Implement the RAPL module

  • Implement the RAPL sensor
  • Implement the proportional formula (+ an option to remove the static idle) // to be shared with the PowerSpy module

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.