aboutsummaryrefslogtreecommitdiff
path: root/ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb')
-rw-r--r--ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb253
1 files changed, 253 insertions, 0 deletions
diff --git a/ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb b/ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb
new file mode 100644
index 0000000..4be47cb
--- /dev/null
+++ b/ipynb/residency/scratch/eas13-lowutil-mode/youtube_energy_lowutil_mode.ipynb
@@ -0,0 +1,253 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "run_control": {
+ "frozen": false,
+ "read_only": false
+ }
+ },
+ "source": [
+ "# YouTube energy comparison with and without low-util mode\n",
+ "\n",
+ "Test: Run YouTube red video (in offline mode) for 120 seconds, and collect energy around 10 times for each configuration\n",
+ "\n",
+ "Conclusion: YouTube saves around 1.5-2% energy due to low-utilization mode.\n",
+ "\n",
+ "(side note: following is the energy consumed when offlining big cpus, the savings is ~4%)\n",
+ " \"output\": 20.935927396987264\n",
+ " \"output\": 20.886319054545837\n",
+ " \"output\": 20.873948319403212\n",
+ " \"output\": 20.80955464619092\n",
+ " \"output\": 20.816727961893836\n",
+ " \"output\": 20.803202597131868"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false,
+ "run_control": {
+ "frozen": false,
+ "marked": false,
+ "read_only": false
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[21.33999307201658,\n",
+ " 21.365129290570263,\n",
+ " 21.34209450334471,\n",
+ " 21.289426409399248,\n",
+ " 21.263789089763883,\n",
+ " 21.329407238590395]"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "%pylab inline\n",
+ "\n",
+ "import pandas as pd\n",
+ "import sqlite3\n",
+ "import matplotlib.cm as cm\n",
+ "import os, json\n",
+ "from collections import namedtuple\n",
+ "\n",
+ "# Provide the root path where your test folders are stored\n",
+ "results_dir = '/home/joelaf/repo/lisa-aosp/external/lisa/results/'\n",
+ "\n",
+ "# Provide the names of the results folders you want compared\n",
+ "all_test_dirs = [\n",
+ " (\"YouTubeRed_4.4.56-g0583b6191868\", 'top-of-tree'),\n",
+ " (\"YouTubeRed_4.4.56-g931b784e1a3f-30070-ga668ea9c5165\", 'tot+lowutil+25pc'),\n",
+ " (\"YouTubeRed_4.4.56-g931b784e1a3f-30071-g099f7067358a\", 'tot+lowutilmode+50pc')\n",
+ " ]\n",
+ "\n",
+ "results_dirs = [x[0] for x in os.walk(results_dir)]\n",
+ "\n",
+ "def get_edir(test):\n",
+ " edir = test + '_energy'\n",
+ " return [x for x in results_dirs if edir in x]\n",
+ "\n",
+ "def get_samples(test):\n",
+ " samples = []\n",
+ " edirs = get_edir(test)\n",
+ " for edir in edirs:\n",
+ " with open(edir + '/energy.json') as f:\n",
+ " output = json.load(f)['output']\n",
+ " samples.append(output)\n",
+ " return samples\n",
+ "\n",
+ "get_samples(all_test_dirs[2][0])\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true,
+ "run_control": {
+ "frozen": false,
+ "read_only": false
+ }
+ },
+ "source": [
+ "# Plot histograms of energy consumed for tests"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false,
+ "run_control": {
+ "frozen": false,
+ "read_only": false
+ },
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('YouTubeRed_4.4.56-g0583b6191868', 'top-of-tree')\n",
+ "21.5895253595\n",
+ "21.6164255475\n",
+ "21.5485038682\n",
+ "22.0296997264\n",
+ "21.6493742035\n",
+ "21.5483970834\n",
+ "21.5943349871\n",
+ "21.6647268717\n",
+ "('YouTubeRed_4.4.56-g931b784e1a3f-30070-ga668ea9c5165', 'tot+lowutil+25pc')\n",
+ "21.3110673127\n",
+ "21.4832853056\n",
+ "21.4711717277\n",
+ "21.48856738\n",
+ "21.3084231193\n",
+ "21.3057657682\n",
+ "21.2137620153\n",
+ "21.198791322\n",
+ "21.3047078781\n",
+ "21.312377348\n",
+ "21.2130661441\n",
+ "('YouTubeRed_4.4.56-g931b784e1a3f-30071-g099f7067358a', 'tot+lowutilmode+50pc')\n",
+ "21.339993072\n",
+ "21.3651292906\n",
+ "21.3420945033\n",
+ "21.2894264094\n",
+ "21.2637890898\n",
+ "21.3294072386\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nSFT09tCalQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fc14487bb50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Plot a box plot\n",
+ "fig, axes = plt.subplots()\n",
+ "df_all = []\n",
+ "for test in all_test_dirs:\n",
+ " samples = get_samples(test[0])\n",
+ " df = pd.DataFrame(samples, columns=[test[1]])\n",
+ " # print df.describe()\n",
+ " print test\n",
+ " for s in samples:\n",
+ " print s\n",
+ " df_all.append(df)\n",
+ "\n",
+ "df_box = pd.concat(df_all, axis=1)\n",
+ "axes = df_box.plot.box(figsize=(10, 6), ax=axes, ylim=(21,21.8), title=\"Box plot comparing energy samples\")\n",
+ "\n",
+ "# Plot a histogram of energy values collected\n",
+ "# def plot_energy(test):\n",
+ "# test_dir = results_dir + \"/\" + test\n",
+ "# with open(test_dir + \"/energy_all_runs.json\") as f:\n",
+ "# samples = json.load(f)['energy_samples']\n",
+ "# df = pd.DataFrame(samples, columns=['energy'])\n",
+ "# fig, axes = plt.subplots()\n",
+ "# # print axes\n",
+ "# df.plot(kind='hist', bins=32, xlim=(6,10), title=test, figsize=(16,5), ax=axes)\n",
+ "\n",
+ "# for t in all_test_dirs:\n",
+ "# plot_energy(t)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "hide_input": false,
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.13"
+ },
+ "toc": {
+ "colors": {
+ "hover_highlight": "#DAA520",
+ "running_highlight": "#FF0000",
+ "selected_highlight": "#FFD700"
+ },
+ "moveMenuLeft": true,
+ "nav_menu": {
+ "height": "189px",
+ "width": "252px"
+ },
+ "navigate_menu": true,
+ "number_sections": true,
+ "sideBar": true,
+ "threshold": 4,
+ "toc_cell": false,
+ "toc_number_sections": true,
+ "toc_section_display": "block",
+ "toc_threshold": 6,
+ "toc_window_display": false
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}