diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2024-03-05 16:50:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-05 16:50:35 +0100 |
| commit | 960b3d8a13c67ac4b7f479d5764b0b618fc9ea09 (patch) | |
| tree | 4f103bcf6635341827d9cfa10c10cfde9543f04f /opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb | |
| parent | 5864cbcbfe2eb8c36ca05c3a39c7e5916aeecaec (diff) | |
Cpu fix (#208)
* Updated the topology format to JSON. Updated TopologyReader.kt to handle JSON filed. Added documentation for the new format.
* applied spotless kotlin
* small update
* Updated for spotless apply
* Updated for spotless apply
Diffstat (limited to 'opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb')
| -rw-r--r-- | opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb | 515 |
1 files changed, 446 insertions, 69 deletions
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb index 09ff26d6..9bee908e 100644 --- a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb +++ b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb @@ -128,10 +128,10 @@ " <td>A01</td>\n", " <td>A01</td>\n", " <td>8</td>\n", - " <td>3.2</td>\n", - " <td>128</td>\n", " <td>1</td>\n", - " <td>128</td>\n", + " <td>100</td>\n", + " <td>1</td>\n", + " <td>100</td>\n", " <td>8</td>\n", " </tr>\n", " </tbody>\n", @@ -200,55 +200,55 @@ " <tbody>\n", " <tr>\n", " <th>0</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 13:40:46+00:00</td>\n", - " <td>300000</td>\n", + " <td>0</td>\n", + " <td>2024-02-02</td>\n", + " <td>86400000</td>\n", " <td>1</td>\n", - " <td>0.000000</td>\n", + " <td>1000.0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 13:45:46+00:00</td>\n", - " <td>300000</td>\n", " <td>1</td>\n", - " <td>11.703998</td>\n", + " <td>2024-02-02</td>\n", + " <td>86400000</td>\n", + " <td>1</td>\n", + " <td>1000.0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 13:55:46+00:00</td>\n", - " <td>600000</td>\n", + " <td>2</td>\n", + " <td>2024-02-02</td>\n", + " <td>86400000</td>\n", " <td>1</td>\n", - " <td>0.000000</td>\n", + " <td>1000.0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 14:00:46+00:00</td>\n", - " <td>300000</td>\n", + " <td>3</td>\n", + " <td>2024-02-02</td>\n", + " <td>86400000</td>\n", " <td>1</td>\n", - " <td>11.703998</td>\n", + " <td>1000.0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 14:15:46+00:00</td>\n", - " <td>900000</td>\n", + " <td>4</td>\n", + " <td>2024-02-02</td>\n", + " <td>86400000</td>\n", " <td>1</td>\n", - " <td>0.000000</td>\n", + " <td>1000.0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " id timestamp duration cpu_count cpu_usage\n", - "0 1019 2013-08-12 13:40:46+00:00 300000 1 0.000000\n", - "1 1019 2013-08-12 13:45:46+00:00 300000 1 11.703998\n", - "2 1019 2013-08-12 13:55:46+00:00 600000 1 0.000000\n", - "3 1019 2013-08-12 14:00:46+00:00 300000 1 11.703998\n", - "4 1019 2013-08-12 14:15:46+00:00 900000 1 0.000000" + " id timestamp duration cpu_count cpu_usage\n", + "0 0 2024-02-02 86400000 1 1000.0\n", + "1 1 2024-02-02 86400000 1 1000.0\n", + "2 2 2024-02-02 86400000 1 1000.0\n", + "3 3 2024-02-02 86400000 1 1000.0\n", + "4 4 2024-02-02 86400000 1 1000.0" ] }, "execution_count": 3, @@ -257,7 +257,7 @@ } ], "source": [ - "df_trace = pd.read_parquet(f\"{base_folder}/resources/bitbrains-small/trace/trace.parquet\")\n", + "df_trace = pd.read_parquet(f\"{base_folder}/resources/benchmark/trace/trace.parquet\")\n", "df_trace.head()" ] }, @@ -301,67 +301,60 @@ " <tbody>\n", " <tr>\n", " <th>0</th>\n", - " <td>1019</td>\n", - " <td>2013-08-12 13:35:46+00:00</td>\n", - " <td>2013-09-11 13:39:58+00:00</td>\n", + " <td>0</td>\n", + " <td>2024-02-01</td>\n", + " <td>2024-02-02</td>\n", " <td>1</td>\n", - " <td>2926.000135</td>\n", - " <td>181352</td>\n", + " <td>1000.0</td>\n", + " <td>100000</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", - " <td>1023</td>\n", - " <td>2013-08-12 13:35:46+00:00</td>\n", - " <td>2013-09-11 13:39:58+00:00</td>\n", " <td>1</td>\n", - " <td>2925.999560</td>\n", - " <td>260096</td>\n", + " <td>2024-02-01</td>\n", + " <td>2024-02-02</td>\n", + " <td>1</td>\n", + " <td>1000.0</td>\n", + " <td>100000</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", - " <td>1026</td>\n", - " <td>2013-08-12 13:35:46+00:00</td>\n", - " <td>2013-09-11 13:39:58+00:00</td>\n", + " <td>2</td>\n", + " <td>2024-02-01</td>\n", + " <td>2024-02-02</td>\n", " <td>1</td>\n", - " <td>2925.999717</td>\n", - " <td>249972</td>\n", + " <td>1000.0</td>\n", + " <td>100000</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", - " <td>1052</td>\n", - " <td>2013-08-29 14:38:12+00:00</td>\n", - " <td>2013-09-05 07:09:07+00:00</td>\n", + " <td>3</td>\n", + " <td>2024-02-01</td>\n", + " <td>2024-02-02</td>\n", " <td>1</td>\n", - " <td>2926.000107</td>\n", - " <td>131245</td>\n", + " <td>1000.0</td>\n", + " <td>100000</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", - " <td>1073</td>\n", - " <td>2013-08-21 11:07:12+00:00</td>\n", - " <td>2013-09-11 13:39:58+00:00</td>\n", + " <td>4</td>\n", + " <td>2024-02-01</td>\n", + " <td>2024-02-02</td>\n", " <td>1</td>\n", - " <td>2599.999649</td>\n", - " <td>179306</td>\n", + " <td>1000.0</td>\n", + " <td>100000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " id start_time stop_time cpu_count \\\n", - "0 1019 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00 1 \n", - "1 1023 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00 1 \n", - "2 1026 2013-08-12 13:35:46+00:00 2013-09-11 13:39:58+00:00 1 \n", - "3 1052 2013-08-29 14:38:12+00:00 2013-09-05 07:09:07+00:00 1 \n", - "4 1073 2013-08-21 11:07:12+00:00 2013-09-11 13:39:58+00:00 1 \n", - "\n", - " cpu_capacity mem_capacity \n", - "0 2926.000135 181352 \n", - "1 2925.999560 260096 \n", - "2 2925.999717 249972 \n", - "3 2926.000107 131245 \n", - "4 2599.999649 179306 " + " id start_time stop_time cpu_count cpu_capacity mem_capacity\n", + "0 0 2024-02-01 2024-02-02 1 1000.0 100000\n", + "1 1 2024-02-01 2024-02-02 1 1000.0 100000\n", + "2 2 2024-02-01 2024-02-02 1 1000.0 100000\n", + "3 3 2024-02-01 2024-02-02 1 1000.0 100000\n", + "4 4 2024-02-01 2024-02-02 1 1000.0 100000" ] }, "execution_count": 4, @@ -370,7 +363,7 @@ } ], "source": [ - "df_meta = pd.read_parquet(f\"{base_folder}/resources/bitbrains-small/trace/meta.parquet\")\n", + "df_meta = pd.read_parquet(f\"{base_folder}/resources/benchmark/trace/meta.parquet\")\n", "df_meta.head()" ] }, @@ -1095,6 +1088,390 @@ "output_file_path = Path(output_file)\n", "df_trace_new.to_parquet(output_file_path, index=False)" ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d80ee1db", + "metadata": {}, + "outputs": [], + "source": [ + "df_server = pd.read_parquet(f\"../output/topology=topology.json/workload=benchmark/seed=0/server.parquet\")\n", + "df_host = pd.read_parquet(f\"../output/topology=topology.json/workload=benchmark/seed=0/host.parquet\")\n", + "df_service = pd.read_parquet(f\"../output/topology=topology.json/workload=benchmark/seed=0/service.parquet\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4ec05a5b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>timestamp</th>\n", + " <th>hosts_up</th>\n", + " <th>hosts_down</th>\n", + " <th>servers_pending</th>\n", + " <th>servers_active</th>\n", + " <th>attempts_success</th>\n", + " <th>attempts_failure</th>\n", + " <th>attempts_error</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>300000</td>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>10</td>\n", + " <td>10</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>600000</td>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>10</td>\n", + " <td>10</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>900000</td>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>10</td>\n", + " <td>10</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>1200000</td>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>10</td>\n", + " <td>10</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>1500000</td>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>10</td>\n", + " <td>10</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " timestamp hosts_up hosts_down servers_pending servers_active \\\n", + "0 300000 2 0 0 10 \n", + "1 600000 2 0 0 10 \n", + "2 900000 2 0 0 10 \n", + "3 1200000 2 0 0 10 \n", + "4 1500000 2 0 0 10 \n", + "\n", + " attempts_success attempts_failure attempts_error \n", + "0 10 0 0 \n", + "1 10 0 0 \n", + "2 10 0 0 \n", + "3 10 0 0 \n", + "4 10 0 0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_service.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7f147582", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>timestamp</th>\n", + " <th>host_id</th>\n", + " <th>cpu_count</th>\n", + " <th>mem_capacity</th>\n", + " <th>guests_terminated</th>\n", + " <th>guests_running</th>\n", + " <th>guests_error</th>\n", + " <th>guests_invalid</th>\n", + " <th>cpu_limit</th>\n", + " <th>cpu_usage</th>\n", + " <th>...</th>\n", + " <th>cpu_utilization</th>\n", + " <th>cpu_time_active</th>\n", + " <th>cpu_time_idle</th>\n", + " <th>cpu_time_steal</th>\n", + " <th>cpu_time_lost</th>\n", + " <th>power_draw</th>\n", + " <th>energy_usage</th>\n", + " <th>uptime</th>\n", + " <th>downtime</th>\n", + " <th>boot_time</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>300000</td>\n", + " <td>e220a839-7b1d-cdaf-0000-000000000000</td>\n", + " <td>6</td>\n", + " <td>100000</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>8000.0</td>\n", + " <td>5000.0</td>\n", + " <td>...</td>\n", + " <td>0.625</td>\n", + " <td>1125002</td>\n", + " <td>674998</td>\n", + " <td>18</td>\n", + " <td>0</td>\n", + " <td>325.0</td>\n", + " <td>97500.075</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>300000</td>\n", + " <td>6e789e6a-a1b9-65f4-0000-000000000001</td>\n", + " <td>4</td>\n", + " <td>100000</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>4000.0</td>\n", + " <td>4000.0</td>\n", + " <td>...</td>\n", + " <td>1.000</td>\n", + " <td>1200000</td>\n", + " <td>0</td>\n", + " <td>300011</td>\n", + " <td>0</td>\n", + " <td>400.0</td>\n", + " <td>120000.000</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>600000</td>\n", + " <td>e220a839-7b1d-cdaf-0000-000000000000</td>\n", + " <td>6</td>\n", + " <td>100000</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>8000.0</td>\n", + " <td>5000.0</td>\n", + " <td>...</td>\n", + " <td>0.625</td>\n", + " <td>1125000</td>\n", + " <td>675000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>325.0</td>\n", + " <td>97500.000</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>600000</td>\n", + " <td>6e789e6a-a1b9-65f4-0000-000000000001</td>\n", + " <td>4</td>\n", + " <td>100000</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>4000.0</td>\n", + " <td>4000.0</td>\n", + " <td>...</td>\n", + " <td>1.000</td>\n", + " <td>1200000</td>\n", + " <td>0</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>400.0</td>\n", + " <td>120000.000</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>900000</td>\n", + " <td>e220a839-7b1d-cdaf-0000-000000000000</td>\n", + " <td>6</td>\n", + " <td>100000</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>8000.0</td>\n", + " <td>5000.0</td>\n", + " <td>...</td>\n", + " <td>0.625</td>\n", + " <td>1125000</td>\n", + " <td>675000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>325.0</td>\n", + " <td>97500.000</td>\n", + " <td>300000</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>5 rows × 21 columns</p>\n", + "</div>" + ], + "text/plain": [ + " timestamp host_id cpu_count mem_capacity \\\n", + "0 300000 e220a839-7b1d-cdaf-0000-000000000000 6 100000 \n", + "1 300000 6e789e6a-a1b9-65f4-0000-000000000001 4 100000 \n", + "2 600000 e220a839-7b1d-cdaf-0000-000000000000 6 100000 \n", + "3 600000 6e789e6a-a1b9-65f4-0000-000000000001 4 100000 \n", + "4 900000 e220a839-7b1d-cdaf-0000-000000000000 6 100000 \n", + "\n", + " guests_terminated guests_running guests_error guests_invalid cpu_limit \\\n", + "0 0 5 0 0 8000.0 \n", + "1 0 5 0 0 4000.0 \n", + "2 0 5 0 0 8000.0 \n", + "3 0 5 0 0 4000.0 \n", + "4 0 5 0 0 8000.0 \n", + "\n", + " cpu_usage ... cpu_utilization cpu_time_active cpu_time_idle \\\n", + "0 5000.0 ... 0.625 1125002 674998 \n", + "1 4000.0 ... 1.000 1200000 0 \n", + "2 5000.0 ... 0.625 1125000 675000 \n", + "3 4000.0 ... 1.000 1200000 0 \n", + "4 5000.0 ... 0.625 1125000 675000 \n", + "\n", + " cpu_time_steal cpu_time_lost power_draw energy_usage uptime downtime \\\n", + "0 18 0 325.0 97500.075 300000 0 \n", + "1 300011 0 400.0 120000.000 300000 0 \n", + "2 0 0 325.0 97500.000 300000 0 \n", + "3 300000 0 400.0 120000.000 300000 0 \n", + "4 0 0 325.0 97500.000 300000 0 \n", + "\n", + " boot_time \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_host.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "678ede60", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['timestamp', 'host_id', 'cpu_count', 'mem_capacity',\n", + " 'guests_terminated', 'guests_running', 'guests_error', 'guests_invalid',\n", + " 'cpu_limit', 'cpu_usage', 'cpu_demand', 'cpu_utilization',\n", + " 'cpu_time_active', 'cpu_time_idle', 'cpu_time_steal', 'cpu_time_lost',\n", + " 'power_draw', 'energy_usage', 'uptime', 'downtime', 'boot_time'],\n", + " dtype='object')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_host.columns" + ] } ], "metadata": { |
