INACTIVE - http://mzl.la/ghe-archive - Desktop Browser Power benchmarking Utility
Перейти к файлу
Roberto Agostino Vitillo 8bfc8e2cf7 Merge pull request #4 from jmaher/master
Changes needed to work in automation.
2014-09-25 16:37:30 +01:00
dashboard Add page filtering, legend and location.hash support. 2014-03-17 14:36:11 +00:00
tools Alexa importer added. 2014-03-13 18:35:34 +00:00
wrappers rename 2014-09-23 14:44:14 -04:00
.gitignore hacked out scipi stuff, added .gitignore for .pyc files and others, fixed tmpfile import 2014-06-03 15:37:28 -04:00
README.md Fix naming typos. 2014-03-17 14:52:02 +00:00
benchmark.py Merge pull request #4 from jmaher/master 2014-09-25 16:37:30 +01:00
browser.py cleanup for IE 2014-08-20 05:57:50 -07:00
config.json add 50 top websites 2014-08-26 15:22:54 -04:00
dispatcher.py remove debugging statements 2014-08-21 07:34:12 -07:00
wrapper.py cleaned up unnecessary changes 2014-09-23 14:42:21 -04:00

README.md

energia

Desktop Browser Power benchmarking Utility

Dependencies

  • Intel's Power Gadget, Intel's BLA (Win only)
  • Python 3 with numpy, pandas & pyzmq
  • ZeroMQ

Note that on Windows the WinPython distribution comes with all dependencies required.

Idle benchmark on Windows, OSX and Linux

The idle benchmark collects CPU & GPU statistics of the requested browsers idling on predefined pages. The set of browsers and pages to benchmark can be specified in a json configuration file. The collected metrics are aggregated from several tools which can also be specified in the configuration file, currently energia supports PowerGadget and BLA. PowerGadget is the only tool available on all platforms. Finally, the aggregated results are stored in a csv file.

python3 benchmark.py -c config.json

The command will collect data about the idle usage of the browsers and the websites specified in the configuration file and produce a csv file.

Distributed execution

The benchmark supports distributed execution through a simple dispatcher-worker architecture. To run the benchmark on a cluster, issue on each worker the following command:

python3 benchmark.py --is_worker -a 192.168.0.1 # the address has to point to your dispatcher node

Finally launch the dispatcher process on a different node:

python3 benchmark.py --is_dispatcher ...

Note that the dispatcher and the workers can be started in any order at any time.

The dispatcher's configuration will then be propagated to all slaves automatically and the websites partioned evenly among all of them. Once the execution is complete, a csv file is generated on the dispatcher node.