From fa297e23ae0dd9bfd100d17c84f0bb7fa6b9a40e Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 14 Aug 2023 13:15:49 +0100 Subject: [PATCH 001/199] initial commit with 1st impl file --- impls/dow_msft.yaml | 84 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 impls/dow_msft.yaml diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml new file mode 100644 index 000000000..0ea455412 --- /dev/null +++ b/impls/dow_msft.yaml @@ -0,0 +1,84 @@ +name: dow-msft +description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" +tags: + kind: db-api + complexity: simple + category: cloud +config: + pipeline: + calculation: dow-msft + normalization: default + aggregation: default +# Single observation +graph: + backend: # an advanced grouping node + model: default + config: + vendor: azure + region: east-us # lookup carbon intensity from region + children: + tiger-database: # a leaf component + observations: + common: + n_cpu: 8 + ram: 32 + server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + series: + - timestamp: 2023-07-06T00:00 + span: 1 # this data is using span, but the model expects duration + tdp_coeff: 0.4 #% total available cpu usage as fraction in range 0-1 + cpu_utilization: 17.12 + memory_utilization: 6.2 + mapping: + span: + units: hours + to: duration + tiger-api: # a leaf component + observations: + common: + n_cpu: 1 + ram: 1.75 #total allocated + server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name + series: + - datetime: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.4 + cpu_utilization: 25 + memory_utilization: 1.22 # 70% of memory allocation, as per docs + mapping: + span: + units: hours + to: duration + neo4j-database: # a leaf component + observations: + common: + n_cpu: 8 + ram: 32 # total allocated in GB + server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + series: + - timestamp: 2023-07-06T00:00 + span: 1 # this data is using span, but the model expects duration + tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 + cpu_utilization: 28.05 + memory_utilization: 6.3 + mapping: + span: + units: hours + to: duration + neo4j-api: # a leaf component + observations: + common: + n_cpu: 1 + ram: 1.75 #total allocated + server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name + series: + - datetime: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.8 + cpu_utilization: 14 + memory_utilization: 1.13 # 65% of memory allocation, as per docs + mapping: + span: + units: hours + to: duration + From 69db242b96f9fcace6d1e508f12dbce4b166532e Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 14 Aug 2023 13:28:59 +0100 Subject: [PATCH 002/199] add draft spec --- impls/spec.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 impls/spec.md diff --git a/impls/spec.md b/impls/spec.md new file mode 100644 index 000000000..92e35bacb --- /dev/null +++ b/impls/spec.md @@ -0,0 +1,44 @@ +## Impl specification + +The code snippet below defines a generic impl file, demonstrating the expected structure required by the IEF. This basic structure should generalize the any use case, and any model plugins should expect data to arrive in this format. + +```yaml +name: #project name +description: # description or external link to project site/docs +tags: #anything provided here will simpy, be copied into the Graph object as a dict (i..e graph.tags == {kind: db-api, complexity: simple ...}) + kind: db-api + complexity: simple + category: cloud +config: # determines global config for generating energy calcs that apply to all nodes + global-data: #any data that is common across the entire graph + element: # one element per piece of global data - can be none + pipeline: + calculation: # which model to use to calculate energy/carbon + normalization: # which model to use to normalize over time + aggregation: # which model to use to aggregate data + enrichment: # which model to use for enrichment +graph: # graph is the set of components that make up the system under examination. The final energy estimates sum all components in the graph. + backend: # an example of a component - the name is not a keyword - you can use any name here + config: # elements under config are common to all children for this graph component + vendor: azure # example config element + region: east-us # example config element + children: # the individual nodes inside this component (e.g. the backend component might comprise database and api children) + tiger-database: # name of this child node + observations: # measurements for this node + common: # these measurements are common across all timeseries elements for this child + n_cpu: 8 # number of CPU cores available + ram: 32 # total allocated RAM ( can probably remove this and replace with a lookup in the model) + server: Intel-xeon-platinum-8380 # CPU chip name - used to lookup data such as TPU and total embodied coefficients + series: # in here are measurements at specific times - can be any number of these per child + - timestamp: 2023-07-06T00:00 # time when measurement occurred + span: 1 # how many of the given time units does each observation represent? + tdp_coeff: 0.4 # maybe this can be derived in-model from e.g. cpu_utilization? + cpu_utilization: 17.12 # CPU utilized at a specific timepoint + memory_utilization: 6.2 # memory utilized at a specific timepoint + mapping: # details for any unit conversions required + span: # maps span of time to real time units + units: hours + to: duration + +# ... more children +``` \ No newline at end of file From 245f5e18e41958bfa5338d222a6178e78a186870 Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 14 Aug 2023 13:52:22 +0100 Subject: [PATCH 003/199] add tags to spec --- impls/spec.md | 64 ++++++++++++++++++++++----------------------------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/impls/spec.md b/impls/spec.md index 92e35bacb..028c30b1c 100644 --- a/impls/spec.md +++ b/impls/spec.md @@ -2,43 +2,35 @@ The code snippet below defines a generic impl file, demonstrating the expected structure required by the IEF. This basic structure should generalize the any use case, and any model plugins should expect data to arrive in this format. +The `KEYWORD` tag is used to identify fields whose names should not be changed. Fields without the `KEYWORD` tag can have any name withoiut affecting the compatibility of the `impl` with a model plugin. + +The `NO-SUBFIELDS`, `N-SUBFIELDS` or `ANY-SUBFILEDS` tags define whether there are restrictions on the subfields that should be present for each field in the spec. `NO-SUBFIELDS` means there should be no additional sub-nesting beneath a field. `N-SUBFIELDS` is used where there is a fixed number of subfields that shoudl be present (with `N` replaced by that number), and `ANY-SUBFIELDS` is useed for fields that can take any number of user-defined subfields without restriction. + ```yaml -name: #project name -description: # description or external link to project site/docs -tags: #anything provided here will simpy, be copied into the Graph object as a dict (i..e graph.tags == {kind: db-api, complexity: simple ...}) - kind: db-api - complexity: simple - category: cloud -config: # determines global config for generating energy calcs that apply to all nodes - global-data: #any data that is common across the entire graph - element: # one element per piece of global data - can be none - pipeline: - calculation: # which model to use to calculate energy/carbon - normalization: # which model to use to normalize over time - aggregation: # which model to use to aggregate data - enrichment: # which model to use for enrichment -graph: # graph is the set of components that make up the system under examination. The final energy estimates sum all components in the graph. - backend: # an example of a component - the name is not a keyword - you can use any name here - config: # elements under config are common to all children for this graph component - vendor: azure # example config element - region: east-us # example config element - children: # the individual nodes inside this component (e.g. the backend component might comprise database and api children) - tiger-database: # name of this child node - observations: # measurements for this node - common: # these measurements are common across all timeseries elements for this child - n_cpu: 8 # number of CPU cores available - ram: 32 # total allocated RAM ( can probably remove this and replace with a lookup in the model) - server: Intel-xeon-platinum-8380 # CPU chip name - used to lookup data such as TPU and total embodied coefficients - series: # in here are measurements at specific times - can be any number of these per child - - timestamp: 2023-07-06T00:00 # time when measurement occurred - span: 1 # how many of the given time units does each observation represent? - tdp_coeff: 0.4 # maybe this can be derived in-model from e.g. cpu_utilization? - cpu_utilization: 17.12 # CPU utilized at a specific timepoint - memory_utilization: 6.2 # memory utilized at a specific timepoint - mapping: # details for any unit conversions required - span: # maps span of time to real time units - units: hours - to: duration +name: # [KEYWORD] [NO-SUBFIELDS] project name +description: # [KEYWORD] [NO-SUBFIELDS] description or external link to project site/docs +tags: # [KEYWORD] [ANY-SUBFIELDS] contains sub-fields with any relevant topic tags +config: # [KEYWORD] [ANY-SUBFIELDS] determines global config for generating energy calcs that apply to all nodes + global-data: # [KEYWORD] [ANY-SUBFIELDS] sub-fields containing any data that is common across the entire graph + pipeline [KEYWORD] [4-SUBFIELDS]: + calculation: # [KEYWORD] [NO-SUBFIELDS] which model to use to calculate energy/carbon + normalization: # [KEYWORD] [NO-SUBFIELDS] which model to use to normalize over time + aggregation: # [KEYWORD] [NO-SUBFIELDS] which model to use to aggregate data + enrichment: # [KEYWORD] [NO-SUBFIELDS] which model to use for enrichment +graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up the system under examination. + component: # [2-SUBFIELDS] an example of a component - can take any name + config: # [KEYWORD] [ANY-SUBFIELDS] elements under config are common to all children for this graph component + children: # [KEYWORD] [ANY-SUBFIELDS] the individual nodes inside this component + child: # [1-SUBFIELDS] divider identifying a child node + observations: # [KEYWORD] [2-SUBFIELDS] measurements for this node + common: # [KEYWORD] [ANY-SUBFIELDS] these measurements are common across all timeseries elements for this child + series: # [KEYWORD] [ANY-SUBFIELDS] in here are measurements at specific times - can be any number of these per child + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 # [KEYWORD] [NO-SUBFIELDS] how many of the given time units does each observation represent? + mapping: # [KEYWORD] [1-SUBFIELD] details for any unit conversions required + span: # [KEYWORD] [2-SUBFIELDS] maps span of time to real time units + units: #[KEYWORD] [NO-SUBFIELDS] + to: # [KEYWORD] [NO-SUBFIELDS] # ... more children ``` \ No newline at end of file From abc7fa2e247a1c3000de53eaee1fd192f17dc64b Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 14 Aug 2023 13:54:20 +0100 Subject: [PATCH 004/199] add example to spec doc --- impls/spec.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/impls/spec.md b/impls/spec.md index 028c30b1c..e4c914dc0 100644 --- a/impls/spec.md +++ b/impls/spec.md @@ -33,4 +33,94 @@ graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up t to: # [KEYWORD] [NO-SUBFIELDS] # ... more children +``` + + +## Example + +```yaml +name: dow-msft +description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" +tags: + kind: db-api + complexity: simple + category: cloud +config: + pipeline: + calculation: dow-msft + normalization: default + aggregation: default +# Single observation +graph: + backend: # an advanced grouping node + model: default + config: + vendor: azure + region: east-us # lookup carbon intensity from region + children: + tiger-database: # a leaf component + observations: + common: + n_cpu: 8 + ram: 32 + server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + series: + - timestamp: 2023-07-06T00:00 + span: 1 # this data is using span, but the model expects duration + tdp_coeff: 0.4 #% total available cpu usage as fraction in range 0-1 + cpu_utilization: 17.12 + memory_utilization: 6.2 + mapping: + span: + units: hours + to: duration + tiger-api: # a leaf component + observations: + common: + n_cpu: 1 + ram: 1.75 #total allocated + server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name + series: + - datetime: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.4 + cpu_utilization: 25 + memory_utilization: 1.22 # 70% of memory allocation, as per docs + mapping: + span: + units: hours + to: duration + neo4j-database: # a leaf component + observations: + common: + n_cpu: 8 + ram: 32 # total allocated in GB + server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + series: + - timestamp: 2023-07-06T00:00 + span: 1 # this data is using span, but the model expects duration + tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 + cpu_utilization: 28.05 + memory_utilization: 6.3 + mapping: + span: + units: hours + to: duration + neo4j-api: # a leaf component + observations: + common: + n_cpu: 1 + ram: 1.75 #total allocated + server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name + series: + - datetime: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.8 + cpu_utilization: 14 + memory_utilization: 1.13 # 65% of memory allocation, as per docs + mapping: + span: + units: hours + to: duration + ``` \ No newline at end of file From c21a90a58938a4ff8860c5c25664c67df8de6ae6 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 13:51:43 +0100 Subject: [PATCH 005/199] add ntt model to impls --- impls/ntt-data-on-premise.yaml | 171 +++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 impls/ntt-data-on-premise.yaml diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml new file mode 100644 index 000000000..e59e3d3ca --- /dev/null +++ b/impls/ntt-data-on-premise.yaml @@ -0,0 +1,171 @@ +name: ntt-data-on-premise +description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/nttdatta-On-Premise-Web-system.md +tags: + kind: web + complexity: moderate + category: on-premise +config: + pipeline: + calculation: ntt-web + normalization: default + aggregation: default +# Single observation +graph: + layer-3-switch: # an advanced grouping node + model: default + config: + children: + switch-1: + common: + p_baseline: 92.5 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + c_intensity: 457 # gCO2/kwh + embodied_c: 0.251 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + span: + units: hours + to: duration + layer-2-switch: + model: default + config: + children: + switch-1: + common: + p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + c_intensity: 457 # gCO2/kwh + embodied_c: 7.16 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + span: + units: hours + to: duration + switch-2: + common: + p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + c_intensity: 457 # gCO2/kwh + embodied_c: 7.16 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + span: + units: hours + to: duration + switch-3: + common: + p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + c_intensity: 457 # gCO2/kwh + embodied_c: 7.16 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + span: + units: hours + to: duration + switch-4: + common: + p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + c_intensity: 457 # gCO2/kwh + embodied_c: 7.16 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + span: + units: seconds + to: duration + db-servers: + model: default + config: + children: + common: + c_intensity: 457 # gCO2/kwh + embodied_c: 6270 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + span: + units: seconds + to: duration + app-servers: + model: default + config: + children: + common: + c_intensity: 457 # gCO2/kwh + embodied_c: 6270 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + span: + units: seconds + to: duration + web-servers: + model: default + config: + children: + common: + c_intensity: 457 # gCO2/kwh + embodied_c: 6270 #g per unit + lifespan: 4 # years + pue: 1.5 + observations: + series: + - timestamp: 2023-07-06T00:00 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + span: + units: seconds + to: duration + + From b30e69e18a37cef7e5ff7dc7ba7928be76a85eba Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 14:27:08 +0100 Subject: [PATCH 006/199] add msft-eshopen impl --- impls/msft-eshoppen.yaml | 100 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 impls/msft-eshoppen.yaml diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml new file mode 100644 index 000000000..5fa71c24d --- /dev/null +++ b/impls/msft-eshoppen.yaml @@ -0,0 +1,100 @@ +name: msft-eshoppen +description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/msft-eShoppen.md +tags: + kind: web + complexity: moderate + category: cloud +config: + pipeline: + calculation: msft-eshoppen + normalization: default + aggregation: default +graph: + front-end: + config: + embodied_c: 350 # kgCO2eq + reserved_time: 1 # hour + resources_reserved: 1 + total_resources_available: 1 + lifespan: 4 #years + children: + cpu: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 28 # W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + cpu_utilization: 18.392 + mapping: + span: + units: hour + to: duration + memory: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 12.16 # W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + mem_utilization: 0.1 #% + mapping: + span: + units: hour + to: duration + app-server: + config: + embodied_c: 1205.52 # kgCO2eq + reserved_time: 1 # hour + resources_reserved: 2 + total_resources_available: 16 + lifespan: 4 #years + children: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 205 #W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + n_chips: 1 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + cpu_utilization: 18.392 + mapping: + span: + units: hour + to: duration + db-server: + config: + embodied_c: 1433.12 # kgCO2eq + reserved_time: 1 # hour + resources_reserved: 2 + total_resources_available: 16 + lifespan: 4 #years + children: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 150 #W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + n_chips: 1 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + cpu_utilization: 10 #% + mapping: + span: + units: hour + to: duration \ No newline at end of file From 22e0779b9b9909ea25f774e7893cb6e8cd5b02b7 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 14:28:15 +0100 Subject: [PATCH 007/199] add child node identifier --- impls/msft-eshoppen.yaml | 66 +++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 5fa71c24d..87f9a1b99 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -58,22 +58,23 @@ graph: total_resources_available: 16 lifespan: 4 #years children: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 205 #W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - n_chips: 1 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 - cpu_utilization: 18.392 - mapping: - span: - units: hour - to: duration + child: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 205 #W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + n_chips: 1 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + cpu_utilization: 18.392 + mapping: + span: + units: hour + to: duration db-server: config: embodied_c: 1433.12 # kgCO2eq @@ -82,19 +83,20 @@ graph: total_resources_available: 16 lifespan: 4 #years children: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 150 #W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - n_chips: 1 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 - cpu_utilization: 10 #% - mapping: - span: - units: hour - to: duration \ No newline at end of file + child: + observations: + common: + server: Intel® Xeon® Platinum 8272CL + tdp: 150 #W + carbon_intensity: 951 + tdp_coeff: 0.32 + n_cores: 2 + n_chips: 1 + series: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + span: 1 + cpu_utilization: 10 #% + mapping: + span: + units: hour + to: duration \ No newline at end of file From f7841393a50890f27405bb11e7777ce29d3e5bb0 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 14:52:33 +0100 Subject: [PATCH 008/199] add aveva impl --- impls/aveva.yaml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 impls/aveva.yaml diff --git a/impls/aveva.yaml b/impls/aveva.yaml new file mode 100644 index 000000000..23fa01e66 --- /dev/null +++ b/impls/aveva.yaml @@ -0,0 +1,32 @@ +name: aveva +description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/AVEVA_case_study.md +tags: + kind: web + complexity: moderate + category: on-premise +config: + pipeline: + calculation: msft-eshoppen + normalization: default + aggregation: default + enrichment: default +graph: + pc: + config: + children: + child: + observations: + common: + embodied_c: 350000 # g CO2eq + time_share: 20 # % of the total lifespan used by application + resource-share: 100 # % of the available resources allocated to application + series: + - timestamp: 2023-07-06T00:00 + measured_power: 16.009 # average over timespan + baseline_power: 11.335 # average over timespan + annual_usage: 8322 # (hours in year * average uptime e.g. 95%) + emission_factor: 474.8 # gCO2e/kWh + mapping: + span: + units: hour # unit to convert to + to: duration From 6790838a26133a67ba1ac23b9cb267f681364ef4 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 15:59:16 +0100 Subject: [PATCH 009/199] add farm-insights impl --- impls/dow_msft.yaml | 1 + impls/farm-insights.yaml | 0 impls/gsf-website.yaml | 50 ++++++++++++++++++++++++++++++++++ impls/msft-eshoppen.yaml | 1 + impls/ntt-data-on-premise.yaml | 1 + 5 files changed, 53 insertions(+) create mode 100644 impls/farm-insights.yaml create mode 100644 impls/gsf-website.yaml diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 0ea455412..433ebace0 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -9,6 +9,7 @@ config: calculation: dow-msft normalization: default aggregation: default + enrichment: default # Single observation graph: backend: # an advanced grouping node diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml new file mode 100644 index 000000000..e69de29bb diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml new file mode 100644 index 000000000..1d6ac51eb --- /dev/null +++ b/impls/gsf-website.yaml @@ -0,0 +1,50 @@ +# Calculating Carbon per User for the GSF website. +name: "Green Software Foundation Website" +description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" +tags: + MAU: 40000 + data-last-month: 34.2 + builds-last-month: 67 +graph: + building: + model: default + config: + vendor: azure + region: east-us # lookup carbon intensity from region + children: + netlify: + model: sci # a generic sci value multiplier + config: 2.4 # 2.4 g per "build" - maybe we calculated seperately. + measurement: $builds-last-month # 67 "build" + format: + div: $users-last-month + gh-pages: + model: sci # a generic sci value multiplier + config: 0.4 # 2.4 g per "build" - maybe we calculated seperately. + measurement: $builds-last-month # 67 "build" + format: + div: $users-last-month + serving: + netlify: + model: netlify-serving # a specific model which returns carbon for netlify serving websites + config: + output: user # we are telling the model we want results by user + page-views-per-user: 2.1 + measurement: + users: $users-last-month + format: ~ # already returning data by user + traffic: + model: co2.js + config: + kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ + green-hosting: true + measurement: + gb: $data-last-month + format: + div: $users-last-month + browser: + model: sci + config: 1.2 + measurement: $users-last-month + format: + div: $users-last-month \ No newline at end of file diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 87f9a1b99..74e687371 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -9,6 +9,7 @@ config: calculation: msft-eshoppen normalization: default aggregation: default + enrichment: default graph: front-end: config: diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index e59e3d3ca..15646caf0 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -9,6 +9,7 @@ config: calculation: ntt-web normalization: default aggregation: default + enrichment: default # Single observation graph: layer-3-switch: # an advanced grouping node From a5de5591517c8f5be543c78a2491c29917ee7bc7 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 15 Aug 2023 15:59:29 +0100 Subject: [PATCH 010/199] add impl --- impls/farm-insights.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index e69de29bb..acaf43a6b 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -0,0 +1,29 @@ +name: farm-insights +description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/farm-insights-Raspberry-Pi.md +tags: + kind: iot + complexity: simple + category: device +config: + pipeline: + calculation: farm-insights + normalization: default + aggregation: default + enrichment: default +graph: + rasp-pi: + config: + embodied-c: 55 #kg CO2eq + margin-emissions: 0.713 #kg/kWh/day + children: + child: + observations: + common: + series: + - timestamp: 2023-07-06T00:00 + span: 86400 # one day in seconds + energy_efficiency: 0.003 #kWh/day + mapping: + span: + units: year + to: duration \ No newline at end of file From b7a9b63a86c055b2cbe8dc6d09c97f0ed9943383 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 16 Aug 2023 10:19:06 +0100 Subject: [PATCH 011/199] update website impl --- impls/gsf-website.yaml | 126 +++++++++++++++++++++++++++-------------- 1 file changed, 82 insertions(+), 44 deletions(-) diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml index 1d6ac51eb..2416b8611 100644 --- a/impls/gsf-website.yaml +++ b/impls/gsf-website.yaml @@ -1,50 +1,88 @@ -# Calculating Carbon per User for the GSF website. -name: "Green Software Foundation Website" +name: "Green Software Foundation Website" description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" -tags: - MAU: 40000 - data-last-month: 34.2 - builds-last-month: 67 +config: + global-data: + pipeline: + calculation: default + normalization: default + aggregation: default + enrichment: default graph: - building: - model: default + build: config: - vendor: azure - region: east-us # lookup carbon intensity from region - children: - netlify: - model: sci # a generic sci value multiplier - config: 2.4 # 2.4 g per "build" - maybe we calculated seperately. - measurement: $builds-last-month # 67 "build" - format: - div: $users-last-month - gh-pages: - model: sci # a generic sci value multiplier - config: 0.4 # 2.4 g per "build" - maybe we calculated seperately. - measurement: $builds-last-month # 67 "build" - format: - div: $users-last-month + children: + netlify: + common: + model: netlify-build + observations: + common: + series: + - timestamp: 2023-07-06T00:00 + span: 1 + users: 40000 + builds: 67 #how many builds in most recent month + c-per-build: 2.4 # g + gh-pages: + observations: + common: + model: gh-pages-build + series: + - timespan: 2023-07-06T00:00 + span: 1 + users: 40000 + builds: 67 #how many builds in most recent month + c-per-build: 2.4 # g + mapping: + span: + units: month + to: duration serving: - netlify: - model: netlify-serving # a specific model which returns carbon for netlify serving websites - config: - output: user # we are telling the model we want results by user - page-views-per-user: 2.1 - measurement: - users: $users-last-month - format: ~ # already returning data by user + children: + netlify: + observations: + common: + model: netlify-serve + functional-unit: user + series: + - timestamp: 2023-07-06T00:00 + span: 1 + views-per-user: 2.1 + users: 2000 # unique users in most recent month + gh-pages: + observations: + common: + model: gh-pages-server + functional-unit: user + series: + - timestamp: 2023-07-06T00:00 + span: 1 + views-per-user: 2.1 + users: 2000 # unique users in most recent month + mapping: + span: + units: month + to: duration traffic: - model: co2.js - config: - kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ - green-hosting: true - measurement: - gb: $data-last-month - format: - div: $users-last-month + children: + child: + observations: + common: + model: co2.js + kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ + green-hosting: true + series: + - timestamp: 2023-07-06T00:00 + data: 20 #GB data transferred in most recent month + users: 2000 # unique users in most recent month browser: - model: sci - config: 1.2 - measurement: $users-last-month - format: - div: $users-last-month \ No newline at end of file + children: + child: + observations: + common: + model: sci + kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ + green-hosting: true + series: + - timestamp: 2023-07-06T00:00 + data: 20 #GB data transferred in most recent month + users: 2000 # unique users in most recent month From 2db6ef1c7c90c8ea4993d89e727d668b5f06a226 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 16 Aug 2023 10:26:17 +0100 Subject: [PATCH 012/199] add tags to website impl --- impls/gsf-website.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml index 2416b8611..ed33b0093 100644 --- a/impls/gsf-website.yaml +++ b/impls/gsf-website.yaml @@ -1,5 +1,9 @@ name: "Green Software Foundation Website" -description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" +description: "https://github.com/Green-Software-Foundation/ief/issues/58" +tags: + kind: website + complexity: moderate + category: cloud config: global-data: pipeline: From 56982f9c02b9217ef569d8a046f024a5b7a0e0f2 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 17 Aug 2023 10:05:15 +0100 Subject: [PATCH 013/199] add info on units, TDP coeff and PUE to spec --- impls/spec.md | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/impls/spec.md b/impls/spec.md index e4c914dc0..4eb67b7ad 100644 --- a/impls/spec.md +++ b/impls/spec.md @@ -8,7 +8,7 @@ The `NO-SUBFIELDS`, `N-SUBFIELDS` or `ANY-SUBFILEDS` tags define whether there a ```yaml name: # [KEYWORD] [NO-SUBFIELDS] project name -description: # [KEYWORD] [NO-SUBFIELDS] description or external link to project site/docs +description: # [KEYWORD] [NO-SUBFIELDS] description or external link to project site/docs tags: # [KEYWORD] [ANY-SUBFIELDS] contains sub-fields with any relevant topic tags config: # [KEYWORD] [ANY-SUBFIELDS] determines global config for generating energy calcs that apply to all nodes global-data: # [KEYWORD] [ANY-SUBFIELDS] sub-fields containing any data that is common across the entire graph @@ -35,6 +35,47 @@ graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up t # ... more children ``` +## Units + +Each type of observation has a **default unit** and **default name**. For example, if you observe a CPU utilization, the name of the observation dimension is `CPU`, and the unit is as a `percentage`. The data passed in is expected to be in that format. + +| Dimension | Unit | +| --------- | ------------------- | +| CPU | Percentage Utilized | +| MEM | Percentage Full | +| Disk | GB | +| Duration | Seconds | +| Timestamp | ISO Time | + + + +## TDP coefficient + +The TDP coefficient accounts for the non-linear relationhsip between CPU utilization and power. For example, the TDP of a CPU operating at 20% of the max capacity is not equal to `max TDP * 0.2`. Instead, there is a curve that describes the relationship. Four known points on this curve are: + +| CPU Utilisation | TDP Coefficient | +| --------------- | --------------- | +| 0 | 0.12 | +| 10 | 0.32 | +| 50 | 0.75 | +| 100 | 1.02 | + +This is a naive model to convert utilization to energy consumption proposed by Benjamin Davy in this article https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac. The TDP coeffcient for any utilization value can be calculated by interpolating these points. + + +## Power use efficiency (PUE) + +PUE values are derived from this [source](https://github.com/cloud-carbon-footprint/cloud-carbon-footprint/blob/e48c659f6dafc8b783e570053024f28b88aafc79/microsite/docs/Methodology.md#power-usage-effectiveness). + +| Cloud provider | Power usage efficiency (PUE) | +| -------------- | ---------------------------- | +| AWS | 1.135 | +| GCP | 1.1 | +| Azure | 1.185 | + + + + ## Example From c724af76b63f48663727ead0dcfcf2b71b723e3f Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 17 Aug 2023 10:40:59 +0100 Subject: [PATCH 014/199] rename span -> duration --- impls/aveva.yaml | 14 +++--- impls/dow_msft.yaml | 58 +++++++++++-------------- impls/farm-insights.yaml | 6 +-- impls/gsf-website.yaml | 24 ++++++----- impls/msft-eshoppen.yaml | 25 ++++------- impls/ntt-data-on-premise.yaml | 79 ++++++++++++++++------------------ impls/spec.md | 20 ++++----- 7 files changed, 101 insertions(+), 125 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 23fa01e66..ccacc3aef 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -21,12 +21,10 @@ graph: time_share: 20 # % of the total lifespan used by application resource-share: 100 # % of the available resources allocated to application series: - - timestamp: 2023-07-06T00:00 - measured_power: 16.009 # average over timespan - baseline_power: 11.335 # average over timespan - annual_usage: 8322 # (hours in year * average uptime e.g. 95%) - emission_factor: 474.8 # gCO2e/kWh + timestamp: 2023-07-06T00:00 + measured_power: 16.009 # average over timespan + baseline_power: 11.335 # average over timespan + annual_usage: 8322 # (hours in year * average uptime e.g. 95%) + emission_factor: 474.8 # gCO2e/kWh mapping: - span: - units: hour # unit to convert to - to: duration + units: hour # unit to convert to diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 433ebace0..c36487e04 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -23,17 +23,15 @@ graph: common: n_cpu: 8 ram: 32 - server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + server: Intel-xeon-platinum-8380 # can lookup TPU and total embodied coefficients from model name series: - - timestamp: 2023-07-06T00:00 - span: 1 # this data is using span, but the model expects duration - tdp_coeff: 0.4 #% total available cpu usage as fraction in range 0-1 - cpu_utilization: 17.12 - memory_utilization: 6.2 + timestamp: 2023-07-06T00:00 + duration: 1 + tdp_coeff: 0.4 + cpu_utilization: 17.12 + memory_utilization: 6.2 mapping: - span: - units: hours - to: duration + units: hours tiger-api: # a leaf component observations: common: @@ -41,15 +39,13 @@ graph: ram: 1.75 #total allocated server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name series: - - datetime: 2023-08-06T00:00 - duration: 1 - tdp_coeff: 0.4 - cpu_utilization: 25 - memory_utilization: 1.22 # 70% of memory allocation, as per docs + timestamp: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.4 + cpu_utilization: 25 + memory_utilization: 1.22 # 70% of memory allocation, as per docs mapping: - span: - units: hours - to: duration + units: hours neo4j-database: # a leaf component observations: common: @@ -57,15 +53,13 @@ graph: ram: 32 # total allocated in GB server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name series: - - timestamp: 2023-07-06T00:00 - span: 1 # this data is using span, but the model expects duration - tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 - cpu_utilization: 28.05 - memory_utilization: 6.3 + timestamp: 2023-07-06T00:00 + duration: 1 # this data is using span, but the model expects duration + tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 + cpu_utilization: 28.05 + memory_utilization: 6.3 mapping: - span: - units: hours - to: duration + units: hours neo4j-api: # a leaf component observations: common: @@ -73,13 +67,11 @@ graph: ram: 1.75 #total allocated server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name series: - - datetime: 2023-08-06T00:00 - duration: 1 - tdp_coeff: 0.8 - cpu_utilization: 14 - memory_utilization: 1.13 # 65% of memory allocation, as per docs + timestamp: 2023-08-06T00:00 + duration: 1 + tdp_coeff: 0.8 + cpu_utilization: 14 + memory_utilization: 1.13 # 65% of memory allocation, as per docs mapping: - span: - units: hours - to: duration + units: hours diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index acaf43a6b..3aee994d7 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -21,9 +21,7 @@ graph: common: series: - timestamp: 2023-07-06T00:00 - span: 86400 # one day in seconds + duration: 86400 # one day in seconds energy_efficiency: 0.003 #kWh/day mapping: - span: - units: year - to: duration \ No newline at end of file + units: year \ No newline at end of file diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml index ed33b0093..63a7fe523 100644 --- a/impls/gsf-website.yaml +++ b/impls/gsf-website.yaml @@ -22,24 +22,24 @@ graph: common: series: - timestamp: 2023-07-06T00:00 - span: 1 + duration: 1 users: 40000 builds: 67 #how many builds in most recent month c-per-build: 2.4 # g + mapping: + units: month gh-pages: observations: common: model: gh-pages-build series: - - timespan: 2023-07-06T00:00 - span: 1 + - timestamp: 2023-07-06T00:00 + duration: 1 users: 40000 builds: 67 #how many builds in most recent month c-per-build: 2.4 # g mapping: - span: units: month - to: duration serving: children: netlify: @@ -49,9 +49,11 @@ graph: functional-unit: user series: - timestamp: 2023-07-06T00:00 - span: 1 + duration: 1 views-per-user: 2.1 users: 2000 # unique users in most recent month + mapping: + units: month gh-pages: observations: common: @@ -59,13 +61,11 @@ graph: functional-unit: user series: - timestamp: 2023-07-06T00:00 - span: 1 + duration: 1 views-per-user: 2.1 users: 2000 # unique users in most recent month mapping: - span: units: month - to: duration traffic: children: child: @@ -77,7 +77,9 @@ graph: series: - timestamp: 2023-07-06T00:00 data: 20 #GB data transferred in most recent month - users: 2000 # unique users in most recent month + users: 2000 # unique users in most recent month + mapping: + units: month browser: children: child: @@ -90,3 +92,5 @@ graph: - timestamp: 2023-07-06T00:00 data: 20 #GB data transferred in most recent month users: 2000 # unique users in most recent month + mapping: + units: month \ No newline at end of file diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 74e687371..b1e1a14e4 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -29,12 +29,10 @@ graph: n_cores: 2 series: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 + duration: 1 cpu_utilization: 18.392 mapping: - span: - units: hour - to: duration + units: hour memory: observations: common: @@ -45,12 +43,10 @@ graph: n_cores: 2 series: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 + duration: 1 mem_utilization: 0.1 #% mapping: - span: - units: hour - to: duration + units: hour app-server: config: embodied_c: 1205.52 # kgCO2eq @@ -70,12 +66,11 @@ graph: n_chips: 1 series: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 + duration: 1 cpu_utilization: 18.392 mapping: - span: - units: hour - to: duration + units: hour + db-server: config: embodied_c: 1433.12 # kgCO2eq @@ -95,9 +90,7 @@ graph: n_chips: 1 series: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 + duration: 1 cpu_utilization: 10 #% mapping: - span: - units: hour - to: duration \ No newline at end of file + units: hour \ No newline at end of file diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 15646caf0..d994019fb 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -26,13 +26,13 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 + timestamp: 2023-07-06T00:00 + duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 mapping: - span: units: hours - to: duration + layer-2-switch: model: default config: @@ -47,13 +47,12 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 + timestamp: 2023-07-06T00:00 + duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 mapping: - span: - units: hours - to: duration + units: hours switch-2: common: p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 @@ -64,13 +63,12 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 + timestamp: 2023-07-06T00:00 + duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 mapping: - span: units: hours - to: duration switch-3: common: p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 @@ -81,13 +79,12 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 + timestamp: 2023-07-06T00:00 + duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 mapping: - span: units: hours - to: duration switch-4: common: p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 @@ -98,13 +95,12 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 + timestamp: 2023-07-06T00:00 + duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 mapping: - span: - units: seconds - to: duration + units: seconds db-servers: model: default config: @@ -116,16 +112,15 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: - span: units: seconds - to: duration app-servers: model: default config: @@ -137,16 +132,15 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: - span: - units: seconds - to: duration + units: seconds web-servers: model: default config: @@ -158,15 +152,14 @@ graph: pue: 1.5 observations: series: - - timestamp: 2023-07-06T00:00 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: - span: - units: seconds - to: duration + units: seconds diff --git a/impls/spec.md b/impls/spec.md index 4eb67b7ad..d5c3bf435 100644 --- a/impls/spec.md +++ b/impls/spec.md @@ -26,11 +26,9 @@ graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up t common: # [KEYWORD] [ANY-SUBFIELDS] these measurements are common across all timeseries elements for this child series: # [KEYWORD] [ANY-SUBFIELDS] in here are measurements at specific times - can be any number of these per child - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - span: 1 # [KEYWORD] [NO-SUBFIELDS] how many of the given time units does each observation represent? + duration: 1 # [KEYWORD] [NO-SUBFIELDS] how many of the given time units does each observation represent? mapping: # [KEYWORD] [1-SUBFIELD] details for any unit conversions required - span: # [KEYWORD] [2-SUBFIELDS] maps span of time to real time units - units: #[KEYWORD] [NO-SUBFIELDS] - to: # [KEYWORD] [NO-SUBFIELDS] + units: #[KEYWORD] [NO-SUBFIELDS] time unit to normalize results to # ... more children ``` @@ -39,13 +37,13 @@ graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up t Each type of observation has a **default unit** and **default name**. For example, if you observe a CPU utilization, the name of the observation dimension is `CPU`, and the unit is as a `percentage`. The data passed in is expected to be in that format. -| Dimension | Unit | -| --------- | ------------------- | -| CPU | Percentage Utilized | -| MEM | Percentage Full | -| Disk | GB | -| Duration | Seconds | -| Timestamp | ISO Time | +| Dimension | Unit | +| ------------- | ------------------- | +| CPU_used | Percentage Utilized | +| mem_used | Percentage Full | +| mem_allocated | GB | +| Duration | Seconds | +| Timestamp | ISO Time | From 55ae60094650bc39f06ca24a85c8236c842a7340 Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 21 Aug 2023 09:13:49 +0100 Subject: [PATCH 015/199] apply changes from code review --- impls/aveva.yaml | 2 +- impls/farm-insights.yaml | 23 ++++++++++------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index ccacc3aef..d31f0ad56 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -6,7 +6,7 @@ tags: category: on-premise config: pipeline: - calculation: msft-eshoppen + calculation: default normalization: default aggregation: default enrichment: default diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index 3aee994d7..b6633c455 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -6,22 +6,19 @@ tags: category: device config: pipeline: - calculation: farm-insights + calculation: default normalization: default aggregation: default enrichment: default graph: rasp-pi: + model: sci-coefficient config: - embodied-c: 55 #kg CO2eq - margin-emissions: 0.713 #kg/kWh/day - children: - child: - observations: - common: - series: - - timestamp: 2023-07-06T00:00 - duration: 86400 # one day in seconds - energy_efficiency: 0.003 #kWh/day - mapping: - units: year \ No newline at end of file + e: 0.003 + i: 0.713 + r: 1 (day?) + te: 55 + tir: 1 (day?) + el: 1095 (days?) + rr: 1 + tor: 1 \ No newline at end of file From cdc1d0b43b0b4782404b7d1b5237dd825dc3bffa Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 24 Aug 2023 14:16:57 +0100 Subject: [PATCH 016/199] initial commit for shell command imp --- src/lib/shell_imp.ts | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/lib/shell_imp.ts diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts new file mode 100644 index 000000000..75b1f148f --- /dev/null +++ b/src/lib/shell_imp.ts @@ -0,0 +1,49 @@ +// require these libraries +const fs = require('fs'); +const yaml = require('js-yaml'); +const cp = require('child_process'); + + +function shellCommand(impl, execPath, omplName) { + /* + description: + spawns a child process to run an external IMP + expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl + The shell command then calls the --command method passing var impl as the path to the desired impl file + + params: + - impl: (string) path to impl file + - execPath: (string) path to executable + - omplName: (string) savename for ompl file + + returns: + - ompl data to stdout + - ompl data to disk as omplName.yaml + */ + + // create a child process to run the CLI + const exe = execPath; // assign the path to an executable + try { + const child = cp.spawn(exe, ['--calculate', '--impl=' + impl]); // pass the CLI argument in the array + + // handle the return data + child.stdout.on('data', function (data) { + // print to stdout + var o = '' + data + const yamlStr = yaml.safeDump(o, { lineWidth: -1 }); + console.log(yamlStr) + fs.writeFileSync(omplName, yamlStr, 'utf8'); + }); + // close the process + child.stdin.end(); + } + catch (e) { + // report error to stderr + console.error("Error calling external IMP: please check input arguments"); + } +} + +//example invocation +// calling prototype python model available in ief-sandbox repo + +//shellCommand('intel.yaml', '/bin/cli', 'ompl.yaml') From 3ce1e7e09ff1c4de765fe20227c325c9355abb79 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 25 Aug 2023 09:14:41 +0100 Subject: [PATCH 017/199] rename example exe to pimply.py --- src/lib/shell_imp.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index 75b1f148f..2d52b5356 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -46,4 +46,4 @@ function shellCommand(impl, execPath, omplName) { //example invocation // calling prototype python model available in ief-sandbox repo -//shellCommand('intel.yaml', '/bin/cli', 'ompl.yaml') +//shellCommand('intel.yaml', '/bin/pimpl.py', 'ompl.yaml') From 628dc9065fcadb94f213a8a43e8ea25179dff1d8 Mon Sep 17 00:00:00 2001 From: Joe Date: Fri, 25 Aug 2023 09:39:33 +0100 Subject: [PATCH 018/199] + acenture yaml --- impls/accenture.yaml | 137 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 impls/accenture.yaml diff --git a/impls/accenture.yaml b/impls/accenture.yaml new file mode 100644 index 000000000..830bb7ac7 --- /dev/null +++ b/impls/accenture.yaml @@ -0,0 +1,137 @@ +name: accenture +description: sci calculation for accenture model (note need to add app gateway SCI to final calculation) +tags: +config: + pue: 1.125 + emission_factor: 350.861 + embodied_c: 458 #kgCo2 @ 4yr lifespan + requests_per_month: 890000 + embodied_emissions: 763.33 + pipeline: + calculation: default + normalization: default + aggregation: default + enrichment: default +graph: + vm: + config: + children: + vm1: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 15 + ram_utilization: 75 + power: 5.26 + energy: 4.26 + mapping: + units: month + vm2: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 12 + ram_utilization: 72 + power: 5.26 + energy: 4.26 + mapping: + units: month + vm3: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 10 + ram_utilization: 65 + power: 5.20 + energy: 4.21 + mapping: + units: month + vm4: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 9 + ram_utilization: 70 + power: 5.20 + energy: 4.21 + mapping: + units: month + vm5: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 9 + ram_utilization: 70 + power: 5.20 + energy: 4.21 + mapping: + units: month + vm6: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 8 + ram_utilization: 65 + power: 4.06 + energy: 3.29 + mapping: + units: month + vm7: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 7 + ram_utilization: 72 + power: 4.06 + energy: 3.29 + mapping: + units: month + vm8: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 6 + ram_utilization: 70 + power: 4.06 + energy: 3.29 + mapping: + units: month + db: + config: + children: + db: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 4 + ram_utilization: 40 + power: 3.31 + energy: 2.68 + mapping: + units: month + monitoring: + config: + children: + monitoring: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 20 + ram_utilization: 0 + power: 5.70 + energy: 4.62 + mapping: + units: month + app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions + config: + sci: 1053.94 \ No newline at end of file From cbb86245c750b8bc666e8725a5a5887da1a47580 Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Fri, 25 Aug 2023 21:51:38 +0000 Subject: [PATCH 019/199] Update msft-eshoppen yaml with model pipeline --- impls/msft-eshoppen.yaml | 141 ++++++++++++++++----------------------- 1 file changed, 59 insertions(+), 82 deletions(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index b1e1a14e4..b4feb03c1 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -5,92 +5,69 @@ tags: complexity: moderate category: cloud config: - pipeline: - calculation: msft-eshoppen - normalization: default - aggregation: default - enrichment: default + models: + - name: sci-m # a model that returns an embodied value given the sci embodied attribution equation. + path: builtin + - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + path: builtin + - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + path: builtin graph: front-end: + pipeline: + - teads-curve # tdp & cpu -> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - embodied_c: 350 # kgCO2eq - reserved_time: 1 # hour - resources_reserved: 1 - total_resources_available: 1 - lifespan: 4 #years - children: - cpu: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 28 # W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 1 - cpu_utilization: 18.392 - mapping: - units: hour - memory: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 12.16 # W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 1 - mem_utilization: 0.1 #% - mapping: - units: hour + sci-m: + te: 350 # kgCO2eq + tir: "duration" # get this value from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + processor: Intel® Core™ i7-1185G7 + duration: 3600 # Secs + tdp: 28 # W + cpu: 18.392 + grid-carbon-intensity: 951 # gCO2e/kWh app-server: + pipeline: + - teads-curve # tdp & cpu -> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - embodied_c: 1205.52 # kgCO2eq - reserved_time: 1 # hour - resources_reserved: 2 - total_resources_available: 16 - lifespan: 4 #years - children: - child: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 205 #W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - n_chips: 1 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 1 - cpu_utilization: 18.392 - mapping: - units: hour - + sci-m: + te: 1205.52 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 2 # using cores + tor: 26 # the original report has a typo, says 16 but actually has 26 cores. + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 + processor: Intel® Xeon® Platinum 8272CL + tdp: 205 # W + cpu: 18.392 + grid-carbon-intensity: 951 # gCO2e/kWh db-server: + pipeline: + - teads-curve # tdp & cpu & duration-> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - embodied_c: 1433.12 # kgCO2eq - reserved_time: 1 # hour - resources_reserved: 2 - total_resources_available: 16 - lifespan: 4 #years - children: - child: - observations: - common: - server: Intel® Xeon® Platinum 8272CL - tdp: 150 #W - carbon_intensity: 951 - tdp_coeff: 0.32 - n_cores: 2 - n_chips: 1 - series: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 1 - cpu_utilization: 10 #% - mapping: - units: hour \ No newline at end of file + sci-m: + te: 1433.12 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 2 # using cores + tor: 24 # total cores + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 + cpu_utilization: 10 #% + processor: Intel® Xeon® Platinum 8160 + tdp: 150 # W + cpu: 10 + grid-carbon-intensity: 951 # gCO2e/kWh \ No newline at end of file From 9e78a05287e7239860ede658ab578febbf2a2e9a Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 09:55:26 +0100 Subject: [PATCH 020/199] update accenture model - conform w 'pipeline' spec --- impls/accenture.yaml | 55 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 830bb7ac7..b29bc1aa7 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -3,18 +3,30 @@ description: sci calculation for accenture model (note need to add app gateway S tags: config: pue: 1.125 - emission_factor: 350.861 - embodied_c: 458 #kgCo2 @ 4yr lifespan requests_per_month: 890000 - embodied_emissions: 763.33 - pipeline: - calculation: default - normalization: default - aggregation: default - enrichment: default + models: + - name: sci-m + path: builtin + - name: sci-c + path: builtin + - name: teads-curve + path: builtin graph: vm: + pipeline: + - teads-curve + - sci-c + - sci-m config: + sci-m: + te: 458 #kgCo2 @ 4yr lifespan + tir: "duration" + el: 126144000 + rr: 1 + tor: 1 + sci-c: + i: 350.861 + m: 763.33 children: vm1: observations: @@ -105,7 +117,20 @@ graph: mapping: units: month db: + pipeline: + - teads-curve + - sci-c + - sci-m config: + sci-m: + te: 458 #kgCo2 @ 4yr lifespan + tir: "duration" + el: 126144000 + rr: 1 + tor: 1 + sci-c: + i: 350.861 + m: 763.33 children: db: observations: @@ -119,7 +144,21 @@ graph: mapping: units: month monitoring: + pipeline: + - teads-curve + - sci-c + - sci-m config: + config: + sci-m: + te: 458 #kgCo2 @ 4yr lifespan + tir: "duration" + el: 126144000 + rr: 1 + tor: 1 + sci-c: + i: 350.861 + m: 763.33 children: monitoring: observations: From cb9d72327b38cceedca4095b016ccb7225fcd14c Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 10:09:48 +0100 Subject: [PATCH 021/199] rm redundant child nodes --- impls/accenture.yaml | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index b29bc1aa7..9f4cbb568 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -131,18 +131,16 @@ graph: sci-c: i: 350.861 m: 763.33 - children: - db: - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 4 - ram_utilization: 40 - power: 3.31 - energy: 2.68 - mapping: - units: month + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 4 + ram_utilization: 40 + power: 3.31 + energy: 2.68 + mapping: + units: month monitoring: pipeline: - teads-curve @@ -159,18 +157,16 @@ graph: sci-c: i: 350.861 m: 763.33 - children: - monitoring: - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 20 - ram_utilization: 0 - power: 5.70 - energy: 4.62 - mapping: - units: month + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu_utilization: 20 + ram_utilization: 0 + power: 5.70 + energy: 4.62 + mapping: + units: month app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions config: sci: 1053.94 \ No newline at end of file From fa7a616d1bd242314736ecb653e1513581f49842 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Tue, 29 Aug 2023 11:37:16 +0100 Subject: [PATCH 022/199] Update src/lib/shell_imp.ts Signed-off-by: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> --- src/lib/shell_imp.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index 2d52b5356..e80aa1f56 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -1,4 +1,3 @@ -// require these libraries const fs = require('fs'); const yaml = require('js-yaml'); const cp = require('child_process'); From 04882f71c801de432626fea947df9236be403ee5 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 12:24:22 +0100 Subject: [PATCH 023/199] update ntt & farm examples to spec --- impls/farm-insights.yaml | 11 +- impls/ntt-data-on-premise.yaml | 232 ++++++++++++++++++--------------- 2 files changed, 128 insertions(+), 115 deletions(-) diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index b6633c455..0900f6ce4 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -6,19 +6,16 @@ tags: category: device config: pipeline: - calculation: default - normalization: default - aggregation: default - enrichment: default + - sci-coefficient graph: rasp-pi: model: sci-coefficient config: e: 0.003 i: 0.713 - r: 1 (day?) + r: 86400 # 1 day in seconds te: 55 - tir: 1 (day?) - el: 1095 (days?) + tir: 86400 # 1 day in seconds + el: 94608000 # 1095 days in seconds rr: 1 tor: 1 \ No newline at end of file diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index d994019fb..f471fe659 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -5,46 +5,68 @@ tags: complexity: moderate category: on-premise config: - pipeline: - calculation: ntt-web - normalization: default - aggregation: default - enrichment: default -# Single observation + models: + - name: switch # a model that returns an embodied value given the sci embodied attribution equation. + path: plugin + - name: sci-m # a model that calculatyes m from te, tir, el, rr and rtor + path: builtin + - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + path: builtin + - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + path: builtin graph: layer-3-switch: # an advanced grouping node - model: default + pipeline: + - switch + - pue + - teads-curve + - sci-m + - sci-c config: - children: - switch-1: - common: - p_baseline: 92.5 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 - n_ports: 24 - c_intensity: 457 # gCO2/kwh - embodied_c: 0.251 #g per unit - lifespan: 4 # years - pue: 1.5 - observations: - series: - timestamp: 2023-07-06T00:00 - duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 - mapping: - units: hours - + switch: + p_baseline: 92.5 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + pue: + pue: 1.5 + sci-m: + te: 0.251 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-c: + i: 457 # gCO2/kwh + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1 + five-min-input-rate: 100 + five-min-output-rate: 100 + mapping: + units: hours layer-2-switch: - model: default + pipeline: + - switch-model + - pue-model + - teads-curve # tdp & cpu -> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: + switch: + p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 + n_ports: 24 + pue: + pue: 1.5 + sci-m: + te: 0.251 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-c: + i: 457 # gCO2/kwh children: switch-1: - common: - p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 - n_ports: 24 - c_intensity: 457 # gCO2/kwh - embodied_c: 7.16 #g per unit - lifespan: 4 # years - pue: 1.5 observations: series: timestamp: 2023-07-06T00:00 @@ -54,13 +76,6 @@ graph: mapping: units: hours switch-2: - common: - p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 - n_ports: 24 - c_intensity: 457 # gCO2/kwh - embodied_c: 7.16 #g per unit - lifespan: 4 # years - pue: 1.5 observations: series: timestamp: 2023-07-06T00:00 @@ -70,13 +85,6 @@ graph: mapping: units: hours switch-3: - common: - p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 - n_ports: 24 - c_intensity: 457 # gCO2/kwh - embodied_c: 7.16 #g per unit - lifespan: 4 # years - pue: 1.5 observations: series: timestamp: 2023-07-06T00:00 @@ -86,13 +94,6 @@ graph: mapping: units: hours switch-4: - common: - p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 - n_ports: 24 - c_intensity: 457 # gCO2/kwh - embodied_c: 7.16 #g per unit - lifespan: 4 # years - pue: 1.5 observations: series: timestamp: 2023-07-06T00:00 @@ -102,64 +103,79 @@ graph: mapping: units: seconds db-servers: - model: default + pipeline: + - server-energy # average power -> energy in kwh + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - children: - common: - c_intensity: 457 # gCO2/kwh - embodied_c: 6270 #g per unit - lifespan: 4 # years - pue: 1.5 - observations: - series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds - mapping: - units: seconds + sci-m: + te: 6270 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-c: + i: 457 # gCO2/kwh + observations: + series: + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + units: seconds app-servers: - model: default + pipeline: + - server-energy # average power -> energy in kwh + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - children: - common: - c_intensity: 457 # gCO2/kwh - embodied_c: 6270 #g per unit - lifespan: 4 # years - pue: 1.5 - observations: - series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds - mapping: - units: seconds + sci-m: + te: 6270 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-c: + i: 457 # gCO2/kwh + observations: + series: + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + units: seconds web-servers: - model: default + pipeline: + - server-energy # average power -> energy in kwh + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: - children: - common: - c_intensity: 457 # gCO2/kwh - embodied_c: 6270 #g per unit - lifespan: 4 # years - pue: 1.5 - observations: - series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds - mapping: - units: seconds + sci-m: + te: 6270 # kgCO2eq + tir: duration # get from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-c: + i: 457 # gCO2/kwh + observations: + series: + timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds + mapping: + units: WIPS #web interactions-per-second From 72b1318d37ccaa05b8d93c854e483f4a42fd150f Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 12:28:03 +0100 Subject: [PATCH 024/199] add funit to ntt impl --- impls/ntt-data-on-premise.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index f471fe659..8953ac6e1 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -5,6 +5,9 @@ tags: complexity: moderate category: on-premise config: + funit: + - name: web interactions + scale-factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction models: - name: switch # a model that returns an embodied value given the sci embodied attribution equation. path: plugin @@ -14,6 +17,8 @@ config: path: builtin - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp path: builtin + - name: server-energy # average power -> energy in kwh + path: plugin graph: layer-3-switch: # an advanced grouping node pipeline: @@ -101,7 +106,7 @@ graph: five-min-input-rate: 100 five-min-output-rate: 100 mapping: - units: seconds + units: hours db-servers: pipeline: - server-energy # average power -> energy in kwh @@ -126,7 +131,7 @@ graph: mean_over_sample: 113 sampling_period: 0.0000001 #seconds mapping: - units: seconds + units: hours app-servers: pipeline: - server-energy # average power -> energy in kwh @@ -151,7 +156,7 @@ graph: mean_over_sample: 113 sampling_period: 0.0000001 #seconds mapping: - units: seconds + units: hours web-servers: pipeline: - server-energy # average power -> energy in kwh @@ -176,6 +181,6 @@ graph: mean_over_sample: 113 sampling_period: 0.0000001 #seconds mapping: - units: WIPS #web interactions-per-second + units: hours From 9fad06465701db167d825828d58d5ec848781f99 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 12:30:12 +0100 Subject: [PATCH 025/199] add funit to accenture impl --- impls/accenture.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 9f4cbb568..3472712e1 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -2,6 +2,9 @@ name: accenture description: sci calculation for accenture model (note need to add app gateway SCI to final calculation) tags: config: + funit: + - name: requests + scale_factor: 890000 #' divide SCI per month by this to yield SCi per request' pue: 1.125 requests_per_month: 890000 models: @@ -25,7 +28,7 @@ graph: rr: 1 tor: 1 sci-c: - i: 350.861 + i: 350.861 m: 763.33 children: vm1: From f60b1ae1179fd07a234c429dfdc2e1121cb1267d Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 12:34:03 +0100 Subject: [PATCH 026/199] add unit mapping to eshoppen --- impls/msft-eshoppen.yaml | 46 ++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index b4feb03c1..bd4ba0a5d 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -5,6 +5,9 @@ tags: complexity: moderate category: cloud config: + funit: + - name: requests + scale-factor: 500 # divide SCi per hour by this to get SCI per request models: - name: sci-m # a model that returns an embodied value given the sci embodied attribution equation. path: builtin @@ -25,18 +28,22 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 + sci-c: + i: 951 # gCO2e/kWh + teads-curve: + processor: Intel® Core™ i7-1185G7 + tdp: 28 # W observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - processor: Intel® Core™ i7-1185G7 duration: 3600 # Secs - tdp: 28 # W cpu: 18.392 - grid-carbon-intensity: 951 # gCO2e/kWh + - mapping: + units: hour app-server: pipeline: - - teads-curve # tdp & cpu -> energy - - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - teads-curve # tdp & cpu -> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: sci-m: te: 1205.52 # kgCO2eq @@ -44,18 +51,22 @@ graph: el: 126144000 # 4 years in seconds rr: 2 # using cores tor: 26 # the original report has a typo, says 16 but actually has 26 cores. + sci-c: + i: 951 # gCO2e/kWh + teads-curve: + processor: Intel® Xeon® Platinum 8272CL + tdp: 205 observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - processor: Intel® Xeon® Platinum 8272CL - tdp: 205 # W cpu: 18.392 - grid-carbon-intensity: 951 # gCO2e/kWh + - mapping: + units: hour db-server: pipeline: - - teads-curve # tdp & cpu & duration-> energy - - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - teads-curve # tdp & cpu & duration-> energy + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: sci-m: te: 1433.12 # kgCO2eq @@ -63,11 +74,14 @@ graph: el: 126144000 # 4 years in seconds rr: 2 # using cores tor: 24 # total cores + sci-c: + i: 951 + teads-curve: + processor: Intel® Xeon® Platinum 8160 + tdp: 150 # W observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - cpu_utilization: 10 #% - processor: Intel® Xeon® Platinum 8160 - tdp: 150 # W cpu: 10 - grid-carbon-intensity: 951 # gCO2e/kWh \ No newline at end of file + - mapping: + units: hour \ No newline at end of file From f8d41b3a49bffa4703f5692829cb267c6670b742 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 12:49:28 +0100 Subject: [PATCH 027/199] update aveva impl to spec --- impls/aveva.yaml | 33 +++++++++++++++++++++------------ impls/ntt-data-on-premise.yaml | 2 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index d31f0ad56..badb220ff 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -5,26 +5,35 @@ tags: complexity: moderate category: on-premise config: - pipeline: - calculation: default - normalization: default - aggregation: default - enrichment: default + funit: + - name: requests + scale-factor: 500 # divide SCi per hour by this to get SCI per request + models: + - name: sci-aveva # a model that takes in power observations and returns the necessary inputs to sci-m. + path: plugin + - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + path: builtin + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor. + - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + path: builtin graph: pc: - config: + config: + sci-c: + te: 350 # kgCO2eq + tir: 31536000 # 1 year in seconds + el: 157680000 # 5 years in seconds + rr: 1 + tor: 1 + sci-m: + i: 474.8 #gCo2/kWh children: child: observations: - common: - embodied_c: 350000 # g CO2eq - time_share: 20 # % of the total lifespan used by application - resource-share: 100 # % of the available resources allocated to application series: timestamp: 2023-07-06T00:00 measured_power: 16.009 # average over timespan baseline_power: 11.335 # average over timespan annual_usage: 8322 # (hours in year * average uptime e.g. 95%) - emission_factor: 474.8 # gCO2e/kWh mapping: - units: hour # unit to convert to + units: hour diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 8953ac6e1..ee741c8ed 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -11,7 +11,7 @@ config: models: - name: switch # a model that returns an embodied value given the sci embodied attribution equation. path: plugin - - name: sci-m # a model that calculatyes m from te, tir, el, rr and rtor + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor path: builtin - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m path: builtin From 6bab078ba410c4149189f210eda7d628f964741e Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 14:31:10 +0100 Subject: [PATCH 028/199] update dow-msft to spec --- impls/dow_msft.yaml | 118 +++++++++++++++++++++++++++++++------------- 1 file changed, 84 insertions(+), 34 deletions(-) diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index c36487e04..8e22ddd5c 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -5,73 +5,123 @@ tags: complexity: simple category: cloud config: - pipeline: - calculation: dow-msft - normalization: default - aggregation: default - enrichment: default + funit: + - name: api-call + scale-factor: 32000 # divide SCI (per hour) by this value to get SCI per api call + models: + - name: tdp-curve # a model that returns an embodied value given the sci embodied attribution equation. + path: builtin + - name: sci-mem + path: plugin + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor + path: builtin + - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + path: builtin # Single observation graph: backend: # an advanced grouping node - model: default + pipeline: + - teads-curve # tdp & cpu -> energy + - sci-mem # calculates energy used by memory as component of sci-m + - sci-m # duration & config -> embodied + - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: vendor: azure region: east-us # lookup carbon intensity from region children: tiger-database: # a leaf component + config: + teads-curve: + processor: Intel-xeon-platinum-8380 + tdp: 270 + sci-mem: + mem_allocation: 32 # GB + mem-energy: 0.38 # kwh/GB + sci-m: + te: 1533.12 # kgCO2eq + tir: 3600 # get this value from the duration field + el: 94608000 # 3 years in seconds + rr: 1 + tor: 8 + sci-c: + i: 554 # gCO2e/kWh observations: - common: - n_cpu: 8 - ram: 32 - server: Intel-xeon-platinum-8380 # can lookup TPU and total embodied coefficients from model name series: timestamp: 2023-07-06T00:00 - duration: 1 - tdp_coeff: 0.4 - cpu_utilization: 17.12 - memory_utilization: 6.2 + cpu: 17.12 + ram: 19.375 # % of available mapping: units: hours tiger-api: # a leaf component + config: + teads-curve: + processor: Intel-xeon-platinum-8270 + tdp: 205 + sci-mem: + mem_allocation: 1.75 # GB + mem-energy: 0.38 # kwh/GB + sci-m: + te: 1216.62 # kgCO2eq + tir: 3600 # get this value from the duration field + el: 94608000 # 3 years in seconds + rr: 1 + tor: 8 + sci-c: + i: 554 # gCO2e/kWh observations: - common: - n_cpu: 1 - ram: 1.75 #total allocated - server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name series: timestamp: 2023-08-06T00:00 duration: 1 - tdp_coeff: 0.4 cpu_utilization: 25 - memory_utilization: 1.22 # 70% of memory allocation, as per docs + memory_utilization: 70 # % of total mapping: units: hours neo4j-database: # a leaf component - observations: - common: - n_cpu: 8 - ram: 32 # total allocated in GB - server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name + config: + teads-curve: + processor: Intel-xeon-platinum-8270 + tdp: 270 + sci-mem: + mem_allocation: 32 # GB + mem-energy: 0.38 # kwh/GB + sci-m: + te: 1216.62 # kgCO2eq + tir: 3600 # get this value from the duration field + el: 94608000 # 3 years in seconds + rr: 2 + tor: 64 + sci-c: + i: 554 # gCO2e/kWh + observations: series: timestamp: 2023-07-06T00:00 duration: 1 # this data is using span, but the model expects duration - tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 cpu_utilization: 28.05 - memory_utilization: 6.3 + memory_utilization: 19.375 mapping: units: hours neo4j-api: # a leaf component - observations: - common: - n_cpu: 1 - ram: 1.75 #total allocated - server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name + config: + teads-curve: + processor: Intel-xeon-platinum-8270 + tdp: 205 + sci-mem: + mem_allocation: 1.75 # GB + mem-energy: 0.38 # kwh/GB + sci-m: + te: 1216.62 # kgCO2eq + tir: 3600 # get this value from the duration field + el: 94608000 # 3 years in seconds + rr: 2 + tor: 64 + sci-c: + i: 554 # gCO2e/kWh + observations: series: timestamp: 2023-08-06T00:00 duration: 1 - tdp_coeff: 0.8 cpu_utilization: 14 - memory_utilization: 1.13 # 65% of memory allocation, as per docs + memory_utilization: 65 mapping: units: hours From 0ca77fbfddbd2ad3619d4c6a5b678db3c5cc356d Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 14:50:57 +0100 Subject: [PATCH 029/199] add ms-green-ai case study impl --- impls/dow_msft.yaml | 2 +- impls/msft-green-ai.yaml | 44 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 impls/msft-green-ai.yaml diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 8e22ddd5c..51981f651 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -20,7 +20,7 @@ config: # Single observation graph: backend: # an advanced grouping node - pipeline: + pipeline: - teads-curve # tdp & cpu -> energy - sci-mem # calculates energy used by memory as component of sci-m - sci-m # duration & config -> embodied diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml new file mode 100644 index 000000000..ba54f0d12 --- /dev/null +++ b/impls/msft-green-ai.yaml @@ -0,0 +1,44 @@ +name: mft-green-ai +description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/msft-green-ai.md" +tags: + kind: ml + complexity: simple + category: cloud +config: + funit: + - name: job + scale-factor: 1 # divide SCI by this value to get SCI per ml job + models: + - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + path: builtin +graph: + DenseNet: # an advanced grouping node + pipeline: + - sci-c # energy & grid-carbon-intensity & embodied -> carbon + config: + sci-c: + processor: nvidia-t4-nc16as-v3 + e: 17.97 + i: 1 # data not provided in case study + m: 0 + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1336 # 22.27 min runtime in seconds + mapping: + units: duration # R is per job, and the job took `duration` seconds + InceptionV3: # an advanced grouping node + pipeline: + - sci-c # energy & grid-carbon-intensity & embodied -> carbon + config: + sci-c: + processor: nvidia-t4-nc16as-v3 + e: 14.37 + i: 1 # data not provided in case study + m: 0 + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1205 # 22.27 min runtime in seconds + mapping: + units: duration # R is per job, and the job took `duration` seconds \ No newline at end of file From f0189bf29b13df7164a1c7b5d195cfdf52cc6b48 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 14:52:24 +0100 Subject: [PATCH 030/199] rm redundant spec file --- impls/spec.md | 165 -------------------------------------------------- 1 file changed, 165 deletions(-) delete mode 100644 impls/spec.md diff --git a/impls/spec.md b/impls/spec.md deleted file mode 100644 index d5c3bf435..000000000 --- a/impls/spec.md +++ /dev/null @@ -1,165 +0,0 @@ -## Impl specification - -The code snippet below defines a generic impl file, demonstrating the expected structure required by the IEF. This basic structure should generalize the any use case, and any model plugins should expect data to arrive in this format. - -The `KEYWORD` tag is used to identify fields whose names should not be changed. Fields without the `KEYWORD` tag can have any name withoiut affecting the compatibility of the `impl` with a model plugin. - -The `NO-SUBFIELDS`, `N-SUBFIELDS` or `ANY-SUBFILEDS` tags define whether there are restrictions on the subfields that should be present for each field in the spec. `NO-SUBFIELDS` means there should be no additional sub-nesting beneath a field. `N-SUBFIELDS` is used where there is a fixed number of subfields that shoudl be present (with `N` replaced by that number), and `ANY-SUBFIELDS` is useed for fields that can take any number of user-defined subfields without restriction. - -```yaml -name: # [KEYWORD] [NO-SUBFIELDS] project name -description: # [KEYWORD] [NO-SUBFIELDS] description or external link to project site/docs -tags: # [KEYWORD] [ANY-SUBFIELDS] contains sub-fields with any relevant topic tags -config: # [KEYWORD] [ANY-SUBFIELDS] determines global config for generating energy calcs that apply to all nodes - global-data: # [KEYWORD] [ANY-SUBFIELDS] sub-fields containing any data that is common across the entire graph - pipeline [KEYWORD] [4-SUBFIELDS]: - calculation: # [KEYWORD] [NO-SUBFIELDS] which model to use to calculate energy/carbon - normalization: # [KEYWORD] [NO-SUBFIELDS] which model to use to normalize over time - aggregation: # [KEYWORD] [NO-SUBFIELDS] which model to use to aggregate data - enrichment: # [KEYWORD] [NO-SUBFIELDS] which model to use for enrichment -graph: # [KEYWORD] [ANY-SUBFIELDS] graph is the set of components that make up the system under examination. - component: # [2-SUBFIELDS] an example of a component - can take any name - config: # [KEYWORD] [ANY-SUBFIELDS] elements under config are common to all children for this graph component - children: # [KEYWORD] [ANY-SUBFIELDS] the individual nodes inside this component - child: # [1-SUBFIELDS] divider identifying a child node - observations: # [KEYWORD] [2-SUBFIELDS] measurements for this node - common: # [KEYWORD] [ANY-SUBFIELDS] these measurements are common across all timeseries elements for this child - series: # [KEYWORD] [ANY-SUBFIELDS] in here are measurements at specific times - can be any number of these per child - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 1 # [KEYWORD] [NO-SUBFIELDS] how many of the given time units does each observation represent? - mapping: # [KEYWORD] [1-SUBFIELD] details for any unit conversions required - units: #[KEYWORD] [NO-SUBFIELDS] time unit to normalize results to - -# ... more children -``` - -## Units - -Each type of observation has a **default unit** and **default name**. For example, if you observe a CPU utilization, the name of the observation dimension is `CPU`, and the unit is as a `percentage`. The data passed in is expected to be in that format. - -| Dimension | Unit | -| ------------- | ------------------- | -| CPU_used | Percentage Utilized | -| mem_used | Percentage Full | -| mem_allocated | GB | -| Duration | Seconds | -| Timestamp | ISO Time | - - - -## TDP coefficient - -The TDP coefficient accounts for the non-linear relationhsip between CPU utilization and power. For example, the TDP of a CPU operating at 20% of the max capacity is not equal to `max TDP * 0.2`. Instead, there is a curve that describes the relationship. Four known points on this curve are: - -| CPU Utilisation | TDP Coefficient | -| --------------- | --------------- | -| 0 | 0.12 | -| 10 | 0.32 | -| 50 | 0.75 | -| 100 | 1.02 | - -This is a naive model to convert utilization to energy consumption proposed by Benjamin Davy in this article https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac. The TDP coeffcient for any utilization value can be calculated by interpolating these points. - - -## Power use efficiency (PUE) - -PUE values are derived from this [source](https://github.com/cloud-carbon-footprint/cloud-carbon-footprint/blob/e48c659f6dafc8b783e570053024f28b88aafc79/microsite/docs/Methodology.md#power-usage-effectiveness). - -| Cloud provider | Power usage efficiency (PUE) | -| -------------- | ---------------------------- | -| AWS | 1.135 | -| GCP | 1.1 | -| Azure | 1.185 | - - - - - -## Example - -```yaml -name: dow-msft -description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md" -tags: - kind: db-api - complexity: simple - category: cloud -config: - pipeline: - calculation: dow-msft - normalization: default - aggregation: default -# Single observation -graph: - backend: # an advanced grouping node - model: default - config: - vendor: azure - region: east-us # lookup carbon intensity from region - children: - tiger-database: # a leaf component - observations: - common: - n_cpu: 8 - ram: 32 - server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name - series: - - timestamp: 2023-07-06T00:00 - span: 1 # this data is using span, but the model expects duration - tdp_coeff: 0.4 #% total available cpu usage as fraction in range 0-1 - cpu_utilization: 17.12 - memory_utilization: 6.2 - mapping: - span: - units: hours - to: duration - tiger-api: # a leaf component - observations: - common: - n_cpu: 1 - ram: 1.75 #total allocated - server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name - series: - - datetime: 2023-08-06T00:00 - duration: 1 - tdp_coeff: 0.4 - cpu_utilization: 25 - memory_utilization: 1.22 # 70% of memory allocation, as per docs - mapping: - span: - units: hours - to: duration - neo4j-database: # a leaf component - observations: - common: - n_cpu: 8 - ram: 32 # total allocated in GB - server: Intel-xeon-platinum-8380 # will lookup TPU and total embodied coefficients from model name - series: - - timestamp: 2023-07-06T00:00 - span: 1 # this data is using span, but the model expects duration - tdp_coeff: 0.5 #% total available cpu usage as fraction in range 0-1 - cpu_utilization: 28.05 - memory_utilization: 6.3 - mapping: - span: - units: hours - to: duration - neo4j-api: # a leaf component - observations: - common: - n_cpu: 1 - ram: 1.75 #total allocated - server: Intel-xeon-platinum-8270 # will lookup TPU and total embodied coefficients from model name - series: - - datetime: 2023-08-06T00:00 - duration: 1 - tdp_coeff: 0.8 - cpu_utilization: 14 - memory_utilization: 1.13 # 65% of memory allocation, as per docs - mapping: - span: - units: hours - to: duration - -``` \ No newline at end of file From 66c981e27c04abc8d72b2c90048fbe50f70b67ac Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 29 Aug 2023 15:13:47 +0100 Subject: [PATCH 031/199] fix hyphens --- impls/ntt-data-on-premise.yaml | 74 +++++++++++++++++----------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index ee741c8ed..37a77f82a 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -74,37 +74,37 @@ graph: switch-1: observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 + - timestamp: 2023-07-06T00:00 + duration: 1 + five-min-input-rate: 100 + five-min-output-rate: 100 mapping: units: hours switch-2: observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 + - timestamp: 2023-07-06T00:00 + duration: 1 + five-min-input-rate: 100 + five-min-output-rate: 100 mapping: units: hours switch-3: observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 + - timestamp: 2023-07-06T00:00 + duration: 1 + five-min-input-rate: 100 + five-min-output-rate: 100 mapping: units: hours switch-4: observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 + - timestamp: 2023-07-06T00:00 + duration: 1 + five-min-input-rate: 100 + five-min-output-rate: 100 mapping: units: hours db-servers: @@ -123,13 +123,13 @@ graph: i: 457 # gCO2/kwh observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + - timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: units: hours app-servers: @@ -148,13 +148,13 @@ graph: i: 457 # gCO2/kwh observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + - timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: units: hours web-servers: @@ -173,13 +173,13 @@ graph: i: 457 # gCO2/kwh observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + - timestamp: 2023-07-06T00:00 + duration: 1 + instantaneous-power: 176 + min_in_sample: 1 + max_in_sample: 6560 + mean_over_sample: 113 + sampling_period: 0.0000001 #seconds mapping: units: hours From c7a197e222d0508c9b841606049feb816474df5a Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 29 Aug 2023 15:29:41 +0100 Subject: [PATCH 032/199] fix comment --- impls/msft-eshoppen.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index bd4ba0a5d..170373840 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -9,7 +9,7 @@ config: - name: requests scale-factor: 500 # divide SCi per hour by this to get SCI per request models: - - name: sci-m # a model that returns an embodied value given the sci embodied attribution equation. + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor path: builtin - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m path: builtin From b5559cb2d4f9374641841864f53f2fdb2c6567d1 Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 30 Aug 2023 09:08:43 +0100 Subject: [PATCH 033/199] add newlines to end of file --- impls/accenture.yaml | 2 +- impls/aveva.yaml | 3 ++- impls/farm-insights.yaml | 2 +- impls/msft-eshoppen.yaml | 2 +- impls/msft-green-ai.yaml | 2 +- impls/ntt-data-on-premise.yaml | 2 -- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 3472712e1..fa0f0792b 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -172,4 +172,4 @@ graph: units: month app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions config: - sci: 1053.94 \ No newline at end of file + sci: 1053.94 diff --git a/impls/aveva.yaml b/impls/aveva.yaml index badb220ff..e4fbcda08 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -36,4 +36,5 @@ graph: baseline_power: 11.335 # average over timespan annual_usage: 8322 # (hours in year * average uptime e.g. 95%) mapping: - units: hour + units: hour + diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index 0900f6ce4..abac7298a 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -18,4 +18,4 @@ graph: tir: 86400 # 1 day in seconds el: 94608000 # 1095 days in seconds rr: 1 - tor: 1 \ No newline at end of file + tor: 1 diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 170373840..945660728 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -84,4 +84,4 @@ graph: duration: 3600 cpu: 10 - mapping: - units: hour \ No newline at end of file + units: hour diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index ba54f0d12..1c9c13c8c 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -41,4 +41,4 @@ graph: - timestamp: 2023-07-06T00:00 duration: 1205 # 22.27 min runtime in seconds mapping: - units: duration # R is per job, and the job took `duration` seconds \ No newline at end of file + units: duration # R is per job, and the job took `duration` seconds diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 37a77f82a..1a321feb5 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -182,5 +182,3 @@ graph: sampling_period: 0.0000001 #seconds mapping: units: hours - - From d57db060a6d56fe88f5101f073160451d72a390f Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 30 Aug 2023 16:48:30 +0100 Subject: [PATCH 034/199] refine shell func --- src/lib/shell_imp.ts | 65 +++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index e80aa1f56..d911f390a 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -2,47 +2,32 @@ const fs = require('fs'); const yaml = require('js-yaml'); const cp = require('child_process'); - -function shellCommand(impl, execPath, omplName) { - /* - description: - spawns a child process to run an external IMP - expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl - The shell command then calls the --command method passing var impl as the path to the desired impl file - - params: - - impl: (string) path to impl file - - execPath: (string) path to executable - - omplName: (string) savename for ompl file - - returns: - - ompl data to stdout - - ompl data to disk as omplName.yaml - */ - - // create a child process to run the CLI - const exe = execPath; // assign the path to an executable - try { - const child = cp.spawn(exe, ['--calculate', '--impl=' + impl]); // pass the CLI argument in the array - - // handle the return data - child.stdout.on('data', function (data) { - // print to stdout - var o = '' + data - const yamlStr = yaml.safeDump(o, { lineWidth: -1 }); - console.log(yamlStr) - fs.writeFileSync(omplName, yamlStr, 'utf8'); - }); - // close the process - child.stdin.end(); - } - catch (e) { - // report error to stderr - console.error("Error calling external IMP: please check input arguments"); - } +/* +description: + spawns a child process to run an external IMP + expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl + The shell command then calls the --command method passing var impl as the path to the desired impl file + +params: +- impl: (string) path to impl file +- execPath: (string) path to executable +- omplName: (string) savename for ompl file + +returns: +- ompl data to stdout +- ompl data to disk as omplName.yaml +*/ +function runModelInShell(impl, execPath, omplName) { + var out = '' + const child = cp.spawn(execPath, ['--calculate', '--impl=' + impl]); + child.stdout.on('data', function (data) { + out = yaml.load(data) + fs.writeFileSync(omplName, yaml.dump(out), 'utf8'); + }); + child.stdin.end(); + return out } //example invocation // calling prototype python model available in ief-sandbox repo - -//shellCommand('intel.yaml', '/bin/pimpl.py', 'ompl.yaml') +let out = runModelInShell('dow_msft.yaml', '/home/joe/Code/ief-sandbox/dist/cli/cli', 'ompl2.yaml') \ No newline at end of file From 8d748b4afd21ac99abacfde83a6680d045674846 Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 30 Aug 2023 21:06:33 +0100 Subject: [PATCH 035/199] async -> sync spawn mode --- src/lib/shell_imp.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index d911f390a..9c403ad31 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -18,16 +18,13 @@ returns: - ompl data to disk as omplName.yaml */ function runModelInShell(impl, execPath, omplName) { - var out = '' - const child = cp.spawn(execPath, ['--calculate', '--impl=' + impl]); - child.stdout.on('data', function (data) { - out = yaml.load(data) - fs.writeFileSync(omplName, yaml.dump(out), 'utf8'); - }); - child.stdin.end(); - return out + const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + impl]).stdout.toString(); + const yamlData = yaml.dump(yaml.load(result)) + fs.writeFileSync(omplName, yamlData, 'utf8'); + return yamlData } //example invocation // calling prototype python model available in ief-sandbox repo -let out = runModelInShell('dow_msft.yaml', '/home/joe/Code/ief-sandbox/dist/cli/cli', 'ompl2.yaml') \ No newline at end of file +// let out = runModelInShell('dow_msft.yaml', '/home/joe/Code/ief-sandbox/dist/cli/cli', 'ompl2.yaml') +// console.log(out) \ No newline at end of file From 73f2364d482b82240f2ac72df7d043b8b19fa31f Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 30 Aug 2023 21:08:58 +0100 Subject: [PATCH 036/199] basic error handling --- src/lib/shell_imp.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index 9c403ad31..4d6a333cd 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -18,13 +18,17 @@ returns: - ompl data to disk as omplName.yaml */ function runModelInShell(impl, execPath, omplName) { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + impl]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData + try { + const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + impl]).stdout.toString(); + const yamlData = yaml.dump(yaml.load(result)) + fs.writeFileSync(omplName, yamlData, 'utf8'); + return yamlData + } catch { + console.error("Error spawning shell process") + } } //example invocation // calling prototype python model available in ief-sandbox repo -// let out = runModelInShell('dow_msft.yaml', '/home/joe/Code/ief-sandbox/dist/cli/cli', 'ompl2.yaml') +// let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') // console.log(out) \ No newline at end of file From 269f7a8f93a684fd184c0bba541e3c2ce17f157d Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Wed, 30 Aug 2023 22:28:55 +0100 Subject: [PATCH 037/199] Adjusted to fit a new model structure --- impls/accenture.yaml | 203 ++++++++++++++++++------------------------- 1 file changed, 85 insertions(+), 118 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index fa0f0792b..a4722b90f 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -2,24 +2,32 @@ name: accenture description: sci calculation for accenture model (note need to add app gateway SCI to final calculation) tags: config: - funit: - - name: requests - scale_factor: 890000 #' divide SCI per month by this to yield SCi per request' - pue: 1.125 - requests_per_month: 890000 models: + - name: add-obs # a model that just copies some values into every observation. + path: builtin + - name: teads-curve + path: builtin + - name: pue + path: builtin + config: + pue: 1.125 - name: sci-m path: builtin - name: sci-c path: builtin - - name: teads-curve + - name: sci path: builtin + config: + r: 890000 # a common denominator (R) for all sci calcs, in this case number of requests for month graph: vm: pipeline: - - teads-curve - - sci-c - - sci-m + - add-obs # add common values to every observertion + - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - pue # multiplies every energy by a pue coeff. + - sci-m # adds embodied to the observeation. + - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci # calculates sci by dividing carbon by `r` config: sci-m: te: 458 #kgCo2 @ 4yr lifespan @@ -27,129 +35,91 @@ graph: el: 126144000 rr: 1 tor: 1 - sci-c: - i: 350.861 - m: 763.33 + teads-curve: + tdp: ??? # what's the TDP for this server + add-obs: + grid-ci: 350.861 # Just copies any values under here to the observation as is. children: vm1: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 15 - ram_utilization: 75 - power: 5.26 - energy: 4.26 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 15 + ram-util: 75 vm2: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 12 - ram_utilization: 72 - power: 5.26 - energy: 4.26 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 12 + ram-util: 72 vm3: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 10 - ram_utilization: 65 - power: 5.20 - energy: 4.21 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 10 + ram-util: 65 vm4: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 9 - ram_utilization: 70 - power: 5.20 - energy: 4.21 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 9 + ram-util: 70 vm5: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 9 - ram_utilization: 70 - power: 5.20 - energy: 4.21 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 9 + ram-util: 70 vm6: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 8 - ram_utilization: 65 - power: 4.06 - energy: 3.29 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 8 + ram-util: 65 vm7: - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 7 - ram_utilization: 72 - power: 4.06 - energy: 3.29 - mapping: - units: month + observations: + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 7 + ram-util: 72 vm8: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 6 - ram_utilization: 70 - power: 4.06 - energy: 3.29 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 6 + ram-util: 70 db: pipeline: - - teads-curve - - sci-c - - sci-m + - add-obs # add common values to every observertion + - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - pue # multiplies every energy by a pue coeff. + - sci-m # adds embodied to the observeation. + - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci # calculates sci by dividing carbon by `r` config: sci-m: te: 458 #kgCo2 @ 4yr lifespan tir: "duration" el: 126144000 rr: 1 - tor: 1 - sci-c: - i: 350.861 - m: 763.33 + tor: 1 + teads-curve: + tdp: ??? # what's the TDP for this server + add-obs: + grid-ci: 350.861 # Just copies any values under here to the observation as is. observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 4 - ram_utilization: 40 - power: 3.31 - energy: 2.68 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 4 + ram-util: 40 monitoring: pipeline: - - teads-curve - - sci-c - - sci-m - config: + - add-obs # add common values to every observertion + - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - pue # multiplies every energy by a pue coeff. + - sci-m # adds embodied to the observeation. + - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci # calculates sci by dividing carbon by `r` config: sci-m: te: 458 #kgCo2 @ 4yr lifespan @@ -157,19 +127,16 @@ graph: el: 126144000 rr: 1 tor: 1 - sci-c: - i: 350.861 - m: 763.33 + teads-curve: + tdp: ??? # what's the TDP for this server + add-obs: + grid-ci: 350.861 # Just copies any values under here to the observation as is. observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 2419200 # seconds in a month (7 days * 4 weeks) - cpu_utilization: 20 - ram_utilization: 0 - power: 5.70 - energy: 4.62 - mapping: - units: month + - timestamp: 2023-07-06T00:00 + duration: 2419200 # seconds in a month (7 days * 4 weeks) + cpu-util: 20 + ram-util: 0 app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions + # NOTE - There is currently no way to model this in the current infra (this is part of the total, but needs the total to know it's value :/) config: - sci: 1053.94 + sci: 1053.94 From 6f74c7dcaa8ba982099f7e0e4c53207281d8eeba Mon Sep 17 00:00:00 2001 From: jmc Date: Thu, 31 Aug 2023 09:25:19 +0100 Subject: [PATCH 038/199] start integrating runModelInShell to IEF structure --- src/lib/shell-imp/index.ts | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/lib/shell-imp/index.ts diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts new file mode 100644 index 000000000..9090b3d56 --- /dev/null +++ b/src/lib/shell-imp/index.ts @@ -0,0 +1,83 @@ +import { IImpactModelInterface } from '../interfaces'; +import { KeyValuePair } from '../../types/boavizta'; + + +export class ShellModel implements IImpactModelInterface { + // Defined for compatibility. Not used in TEADS. + authParams: object | undefined; + // name of the data source + name: string | undefined; + + /** + * Defined for compatibility. Not used in TEADS. + */ + authenticate(authParams: object): void { + this.authParams = authParams; + } + + /** + * Configures the TEADS Plugin for IEF + * @param {string} name name of the resource + * @param {Object} staticParams static parameters for the resource + * @param {number} staticParams.tdp Thermal Design Power in Watts + */ + async configure( + name: string, + staticParams: object | undefined = undefined + ): Promise { + this.name = name; + return this; + } + + /* + description: + spawns a child process to run an external IMP + expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl + The shell command then calls the --command method passing var impl as the path to the desired impl file + + params: + - impl: yaml string (impl minus top level config) + - execPath: (string) path to executable + - omplName: (string) savename for ompl file + + returns: + - ompl data to stdout + - ompl data to disk as omplName.yaml +*/ + private runModelInShell(observations, execPath, omplName) { + try { + const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + observations]).stdout.toString(); + const yamlData = yaml.dump(yaml.load(result)) + fs.writeFileSync(omplName, yamlData, 'utf8'); + return yamlData + } catch (e) { + console.error(e) + } + } + + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + // TODO: NEED TO CONVERT OBSERVATIONS TO YAML STRING HERE + + const resultsYaml = this.runModelInShell(observations, "/usr/bin/pimpl.py", "ompl.yaml") + + // TODO: NEED TO PARSE YAML RETURNED FROM MODEL TO RESULTS OBJECT + // TODO: RETURN THE RESULTS OBJECT + + //return results; + } + + + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'shellModel'; + } +} From f94333da8b63ec03225509d3e5b0e80065e8501f Mon Sep 17 00:00:00 2001 From: jmc Date: Thu, 31 Aug 2023 09:30:38 +0100 Subject: [PATCH 039/199] add imports --- src/lib/shell-imp/index.ts | 4 +++- src/lib/shell_imp.ts | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 9090b3d56..f0b6a083f 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,6 +1,8 @@ import { IImpactModelInterface } from '../interfaces'; import { KeyValuePair } from '../../types/boavizta'; - +const fs = require('fs'); +const yaml = require('js-yaml'); +const cp = require('child_process'); export class ShellModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index 4d6a333cd..c44fc7535 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -23,12 +23,12 @@ function runModelInShell(impl, execPath, omplName) { const yamlData = yaml.dump(yaml.load(result)) fs.writeFileSync(omplName, yamlData, 'utf8'); return yamlData - } catch { - console.error("Error spawning shell process") + } catch (e) { + console.error(e) } } //example invocation // calling prototype python model available in ief-sandbox repo -// let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') -// console.log(out) \ No newline at end of file +//let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') +//console.log(out) \ No newline at end of file From 3aa0055d66f4d86c984bf67a125bda539a74fea5 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 1 Sep 2023 23:34:04 +0400 Subject: [PATCH 040/199] util: init observation pipeline. --- src/util/observation-pipeline.ts | 72 ++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/util/observation-pipeline.ts diff --git a/src/util/observation-pipeline.ts b/src/util/observation-pipeline.ts new file mode 100644 index 000000000..f9f35d29a --- /dev/null +++ b/src/util/observation-pipeline.ts @@ -0,0 +1,72 @@ +import {BoaviztaCpuImpactModel} from '../lib'; + +/** + * Pipeline for computing impacts based on observation. + */ +export class ObservationPipeline { + private observations: any; + + /** + * Init observations object. + */ + constructor(observations: any) { + this.observations = observations; + } + + /** + * Apply `boavizta` model computation to observations. + */ + private async boaviztaHandler(params: any) { + const modelInstance = await new BoaviztaCpuImpactModel().configure( + 'test', + params + ); + + const preparedObservations = this.observations.map((observation: any) => ({ + cpu: observation.cpu, + duration: `${observation.duration}s`, + datetime: observation.timestamp, + })); + + const calculatedImpacts = await modelInstance.calculate( + preparedObservations + ); + + const result = this.observations.map((observation: any, index: number) => ({ + ...observation, + ...calculatedImpacts[index], + })); + + this.observations = result; + + return this; + } + + /** + * Apply appropriate observation. + */ + private doObservationsUsing(modelType: string, params: any) { + switch (modelType) { + case 'boavizta': + return this.boaviztaHandler(params); + // case 'ccf': + // return this.ccfHandler(params) + } + } + + /** + * Getter for observation data. + */ + public getObservationsData() { + return this.observations; + } + + /** + * Pipe function which takes model, and returns the observation instance. + */ + public async pipe(modelType: string, params: any) { + await this.doObservationsUsing(modelType, params); + + return this; + } +} From 9dc3252a48430aaf3eb934862840e5bb94fbf01d Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 1 Sep 2023 23:34:27 +0400 Subject: [PATCH 041/199] interfaces: use array as calcualtion response. --- src/lib/interfaces/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/interfaces/index.ts b/src/lib/interfaces/index.ts index 9b46f629a..0a6164fed 100644 --- a/src/lib/interfaces/index.ts +++ b/src/lib/interfaces/index.ts @@ -9,6 +9,6 @@ export interface IImpactModelInterface { authenticate(authParams: object): void; - calculate(observations: object | object[] | undefined): Promise; + calculate(observations: object | object[] | undefined): Promise; } export * from './ccf'; From 9d27c774ef21ca2a346d63f943783e5b0cdab9ae Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 1 Sep 2023 23:35:21 +0400 Subject: [PATCH 042/199] lib: in boavizta use array as calculation response --- src/lib/boavizta.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/boavizta.ts b/src/lib/boavizta.ts index 663a78637..7b3a3b606 100644 --- a/src/lib/boavizta.ts +++ b/src/lib/boavizta.ts @@ -98,15 +98,17 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { // Calculates the impact of the given usage async calculate( observations: object | object[] | undefined = undefined - ): Promise { + ): Promise { if (Array.isArray(observations)) { - const results = []; + const results: KeyValuePair[] = []; + for (const observation of observations) { const usageResult = await this.calculateUsageForObservation( observation ); results.push(usageResult); } + return results; } else { throw new Error( From 0c8d7342aa0ab6bbd8de21375fea5fb39627f10c Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 1 Sep 2023 23:42:35 +0400 Subject: [PATCH 043/199] scripts: init basic version. --- scripts/rimpl-poc.ts | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/scripts/rimpl-poc.ts b/scripts/rimpl-poc.ts index 4821fbb19..a3b5d26a9 100644 --- a/scripts/rimpl-poc.ts +++ b/scripts/rimpl-poc.ts @@ -1,6 +1,40 @@ import {parseProcessArgument} from '../src/util/args'; import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; +import {ObservationPipeline} from '../src/util/observation-pipeline'; +import {KeyValuePair} from '../src'; + +/** + * Computes impact based on given `observations` and `params`. + */ +const computeImpact = async (observations: any[], params: any) => { + const observatory = new ObservationPipeline(observations); + const computation = await observatory.pipe('boavizta', params); + + return computation.getObservationsData(); +}; + +/** + * For each graph builds params, then passes it to computing fn. + */ +const calculateImpactsBasedOnGraph = (graphs: any) => (title: string) => { + const serviceData = graphs[title]; + const {observations} = serviceData; + + const params: KeyValuePair = { + allocation: 'TOTAL', + verbose: true, + name: observations[0].processor, + core_units: 24, + }; + + return computeImpact(observations, params).then(result => { + graphs[title].observations = result; + + return graphs; + }); +}; + /** * 1. Parses yml input/output process arguments. * 2. Opens yaml file as an object. @@ -13,6 +47,23 @@ const rimplPOCScript = async () => { const {inputPath, outputPath} = parseProcessArgument(); const impl = await openYamlFileAsObject(inputPath); + if (!('graph' in impl)) { + throw new Error('No graph data found.'); + } + + const graphs = impl.graph; + + // calculate for single graph + const serviceTitles = Object.keys(graphs).splice(0); + + const graphsUpdated = await Promise.all( + serviceTitles.map(calculateImpactsBasedOnGraph(graphs)) + ); + + impl.graph = graphsUpdated[0]; + + console.log(impl.graph); + if (!outputPath) { console.log(JSON.stringify(impl)); return; From 34aa7a069b1bc0ba7f56dece1e9d51bcd58e88bb Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 1 Sep 2023 23:45:58 +0400 Subject: [PATCH 044/199] lib: in ccf use array for calculation result type. --- src/lib/ccf/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib/ccf/index.ts b/src/lib/ccf/index.ts index 528144f3a..f07199b79 100644 --- a/src/lib/ccf/index.ts +++ b/src/lib/ccf/index.ts @@ -121,9 +121,7 @@ export class CloudCarbonFootprint implements IImpactModelInterface { * @param {number} observations[].duration observation duration in seconds * @param {number} observations[].cpu percentage cpu usage */ - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } From ffb4044b445c547c785a5afb02a1851cf1052f25 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Sat, 2 Sep 2023 09:35:07 +0400 Subject: [PATCH 045/199] util: simplify observatory. --- .../{observation-pipeline.ts => observatory.ts} | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) rename src/util/{observation-pipeline.ts => observatory.ts} (80%) diff --git a/src/util/observation-pipeline.ts b/src/util/observatory.ts similarity index 80% rename from src/util/observation-pipeline.ts rename to src/util/observatory.ts index f9f35d29a..787dcfda6 100644 --- a/src/util/observation-pipeline.ts +++ b/src/util/observatory.ts @@ -3,7 +3,7 @@ import {BoaviztaCpuImpactModel} from '../lib'; /** * Pipeline for computing impacts based on observation. */ -export class ObservationPipeline { +export class Observatory { private observations: any; /** @@ -45,7 +45,7 @@ export class ObservationPipeline { /** * Apply appropriate observation. */ - private doObservationsUsing(modelType: string, params: any) { + public doInvestigationsWith(modelType: string, params: any) { switch (modelType) { case 'boavizta': return this.boaviztaHandler(params); @@ -60,13 +60,4 @@ export class ObservationPipeline { public getObservationsData() { return this.observations; } - - /** - * Pipe function which takes model, and returns the observation instance. - */ - public async pipe(modelType: string, params: any) { - await this.doObservationsUsing(modelType, params); - - return this; - } } From da385623ffb9285c90fd76f9bbf143c8ea01a391 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Sat, 2 Sep 2023 09:47:15 +0400 Subject: [PATCH 046/199] scripts: make fn's less coupled. --- scripts/rimpl-poc.ts | 55 ++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/scripts/rimpl-poc.ts b/scripts/rimpl-poc.ts index a3b5d26a9..432cf095d 100644 --- a/scripts/rimpl-poc.ts +++ b/scripts/rimpl-poc.ts @@ -1,39 +1,50 @@ import {parseProcessArgument} from '../src/util/args'; import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; -import {ObservationPipeline} from '../src/util/observation-pipeline'; +import {Observatory} from '../src/util/observatory'; import {KeyValuePair} from '../src'; /** * Computes impact based on given `observations` and `params`. */ -const computeImpact = async (observations: any[], params: any) => { - const observatory = new ObservationPipeline(observations); - const computation = await observatory.pipe('boavizta', params); +const runPipelineComputer = async ( + observations: any[], + params: any, + pipeline: string[] +) => { + const observatory = new Observatory(observations); + + for (const model of pipeline) { + await observatory.doInvestigationsWith(model, params); + } - return computation.getObservationsData(); + return observatory.getObservationsData(); }; /** * For each graph builds params, then passes it to computing fn. */ -const calculateImpactsBasedOnGraph = (graphs: any) => (title: string) => { - const serviceData = graphs[title]; - const {observations} = serviceData; - - const params: KeyValuePair = { - allocation: 'TOTAL', - verbose: true, - name: observations[0].processor, - core_units: 24, - }; - - return computeImpact(observations, params).then(result => { - graphs[title].observations = result; +const calculateImpactsBasedOnGraph = + (graphs: any) => async (service: string) => { + const serviceData = graphs[service]; + const {observations, pipeline} = serviceData; + + /** + * Building params should be optimized to support any model. + * Mock params for boavizta model. + */ + const params: KeyValuePair = { + allocation: 'TOTAL', + verbose: true, + name: observations[0].processor, + core_units: 24, + }; + + const result = await runPipelineComputer(observations, params, pipeline); + graphs[service].observations = result; return graphs; - }); -}; + }; /** * 1. Parses yml input/output process arguments. @@ -54,10 +65,10 @@ const rimplPOCScript = async () => { const graphs = impl.graph; // calculate for single graph - const serviceTitles = Object.keys(graphs).splice(0); + const services = Object.keys(graphs).splice(0); const graphsUpdated = await Promise.all( - serviceTitles.map(calculateImpactsBasedOnGraph(graphs)) + services.map(calculateImpactsBasedOnGraph(graphs)) ); impl.graph = graphsUpdated[0]; From 2612b1408f0a5d93900b1c98e3fd9fd163243a06 Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Sun, 3 Sep 2023 22:34:55 +0100 Subject: [PATCH 047/199] Update agenda.md Signed-off-by: Asim Hussain --- .github/ISSUE_TEMPLATE/agenda.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/agenda.md b/.github/ISSUE_TEMPLATE/agenda.md index baefb84a0..86c02347a 100644 --- a/.github/ISSUE_TEMPLATE/agenda.md +++ b/.github/ISSUE_TEMPLATE/agenda.md @@ -1,17 +1,17 @@ --- name: Agenda about: The standard agenda template for carbon ql -title: "GSF Carbon QL Meeting Agenda yyyy-mm-dd" +title: "GSF IEF Meeting Agenda yyyy-mm-dd" labels: agenda assignees: '' --- -Time 12:00pm (GMT) - See the time in your [timezone](link) +Time 11:30am (GMT) / 4:00pm (IST) - See the time in your [timezone](https://everytimezone.com/s/e7e219dd) - Lead – @srini1978 (Microsoft) - Co-Lead @navveenb (Accenture) -- PM – @Oleg-Zhymolokhov (GSF) +- PM – @jawache (GSF) ## Antitrust Policy Joint Development Foundation meetings may involve participation by industry competitors, and it is the intention of the Joint Development Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. @@ -23,10 +23,14 @@ Please add 'Attended' to this issue during the meeting to denote attendance. Any untracked attendees will be added by the GSF team below: ## Agenda -- [ ] -- [ ] AOB +- [ ] Press Record! -## Decisions +### PRs +- [ ] +### Discussions +- [ ] -## Actions +### Issues +- [ ] Discuss in-progress/blocked issues on project board: https://github.com/orgs/Green-Software-Foundation/projects/26/views/1 +- [ ] AOB From 1613d72b876b4a7c194bd4644a08153972c7749c Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Sun, 3 Sep 2023 22:35:28 +0100 Subject: [PATCH 048/199] Update user-story.md Signed-off-by: Asim Hussain --- .github/ISSUE_TEMPLATE/user-story.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/user-story.md b/.github/ISSUE_TEMPLATE/user-story.md index 7a6e354df..3d154001f 100644 --- a/.github/ISSUE_TEMPLATE/user-story.md +++ b/.github/ISSUE_TEMPLATE/user-story.md @@ -1,6 +1,6 @@ --- name: User story -about: This describes a user story for the carbon ql +about: This describes a user story for IEF title: "[User story] ...." labels: user-story assignees: '' From 32025620ce1860bef452771015805cd82e41606a Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Sun, 3 Sep 2023 22:46:41 +0100 Subject: [PATCH 049/199] Create model-plugin.md Signed-off-by: Asim Hussain --- .github/ISSUE_TEMPLATE/model-plugin.md | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/model-plugin.md diff --git a/.github/ISSUE_TEMPLATE/model-plugin.md b/.github/ISSUE_TEMPLATE/model-plugin.md new file mode 100644 index 000000000..b260e9b3d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/model-plugin.md @@ -0,0 +1,55 @@ +- **What**: +- **Why**: +- **DoD**: +- [ ] Does the model meet the specification? +- [ ] Does the model have complete test coverage, including edge cases, happy path and error cases? +- [ ] Is the code documented? + +## Config +- `variable`: If this variable is present in the top level config what behaviour does it trigger? What is the default value if none is provided? + +## Observation +_List the variables this model expects in an input observation_ +- `variable`: Description + +## Impacts +_List the variables this model exports out as an impact_ +- `variable`: Description + +## Behavior +What does the model do to turn the observations into impacts? List any important equations or references. + +## Assumptions +What are the core assumptions this model makes? + +## Limitations +In what situations is this model limited in it's function, behaviour, accuracy etc... + +## Example +Provide at least one example of some input config and observations. This is in pimpl format not rimpl format, so the config is the global config and all parameters must be present on the observation. + +### Input + +```yaml +config: + key: value +observations: + - timestamp: 2023-07-06T00:00 + duration: 3600 +``` + +### Output + +```yaml +config: + key: value +observations: + - timestamp: 2023-07-06T00:00 + duration: 3600 + yyyy: zzzz +impacts: + - timestamp: 2023-07-06T00:00 + duration: 3600 + yyyy: zzzz + aaaa: bbbb +``` From 7c90a8c05b4e0179047d977c57e7e63f58b408f2 Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Sun, 3 Sep 2023 22:47:59 +0100 Subject: [PATCH 050/199] Update model-plugin.md Signed-off-by: Asim Hussain --- .github/ISSUE_TEMPLATE/model-plugin.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/model-plugin.md b/.github/ISSUE_TEMPLATE/model-plugin.md index b260e9b3d..5d98bf182 100644 --- a/.github/ISSUE_TEMPLATE/model-plugin.md +++ b/.github/ISSUE_TEMPLATE/model-plugin.md @@ -1,3 +1,11 @@ +--- +name: Model Plugin +about: Submiting a request to create a model plugin +title: "Model Plugin - " +labels: model +assignees: '' +--- + - **What**: - **Why**: - **DoD**: From 32ba31bfe85d5b7aa1b0eb200db432f6ca2e18c1 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 10:36:08 +0100 Subject: [PATCH 051/199] rm mapping, + `sci` as model to deal with f.unit --- .gitignore | 2 ++ impls/accenture.yaml | 11 +++++++-- impls/aveva.yaml | 18 +++++++------- impls/dow_msft.yaml | 44 +++++++++++++++++++--------------- impls/msft-eshoppen.yaml | 25 ++++++++++++------- impls/msft-green-ai.yaml | 20 +++++++++------- impls/ntt-data-on-premise.yaml | 39 ++++++++++++++++++------------ 7 files changed, 96 insertions(+), 63 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..4e637713e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +node_modules diff --git a/impls/accenture.yaml b/impls/accenture.yaml index a4722b90f..157e6dace 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -17,8 +17,6 @@ config: path: builtin - name: sci path: builtin - config: - r: 890000 # a common denominator (R) for all sci calcs, in this case number of requests for month graph: vm: pipeline: @@ -39,6 +37,9 @@ graph: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. + sci: + time: hour # signal to convert /s -> /hr + factor: 89000 # factor to convert per time to per f.unit children: vm1: observations: @@ -107,6 +108,9 @@ graph: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. + sci: + time: hour # signal to convert /s -> /hr + factor: 89000 # factor to convert per time to per f.unit observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) @@ -131,6 +135,9 @@ graph: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. + sci: + time: hour # signal to convert /s -> /hr + factor: 89000 # factor to convert per time to per f.unit observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index e4fbcda08..f6224e22d 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -16,6 +16,7 @@ config: - name: sci-m # a model that calculates m from te, tir, el, rr and rtor. - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp path: builtin + - name: sci # sums SCI components and converts to f.unit graph: pc: config: @@ -27,14 +28,11 @@ graph: tor: 1 sci-m: i: 474.8 #gCo2/kWh - children: - child: - observations: - series: - timestamp: 2023-07-06T00:00 - measured_power: 16.009 # average over timespan - baseline_power: 11.335 # average over timespan - annual_usage: 8322 # (hours in year * average uptime e.g. 95%) - mapping: - units: hour + observations: + series: + timestamp: 2023-07-06T00:00 + measured_power: 16.009 # average over timespan + baseline_power: 11.335 # average over timespan + annual_usage: 8322 # (hours in year * average uptime e.g. 95%) + diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 51981f651..3f60d4e1a 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -5,18 +5,19 @@ tags: complexity: simple category: cloud config: - funit: - - name: api-call - scale-factor: 32000 # divide SCI (per hour) by this value to get SCI per api call models: - name: tdp-curve # a model that returns an embodied value given the sci embodied attribution equation. path: builtin - - name: sci-mem + - name: sci-mem # a model that calculates a carbon value for memory path: plugin - name: sci-m # a model that calculates m from te, tir, el, rr and rtor path: builtin - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + path: builtin + - name: sci-sum + path: builtin # a model that knows to sum the carbon values for cpu and memory before calculating total SCI + - name: functional-unit + path: builtin # builtin model that normalizes all metrics from the default /s to /hr # Single observation graph: backend: # an advanced grouping node @@ -25,6 +26,7 @@ graph: - sci-mem # calculates energy used by memory as component of sci-m - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci # add cpu and memory components and convert to f.unit config: vendor: azure region: east-us # lookup carbon intensity from region @@ -45,13 +47,14 @@ graph: tor: 8 sci-c: i: 554 # gCO2e/kWh + sci: + time: hour # signal to convert /s -> /hr + factor: 32000 # factor to convert per time to per f.unit observations: series: timestamp: 2023-07-06T00:00 cpu: 17.12 ram: 19.375 # % of available - mapping: - units: hours tiger-api: # a leaf component config: teads-curve: @@ -68,14 +71,15 @@ graph: tor: 8 sci-c: i: 554 # gCO2e/kWh + sci: + time: hour # signal to convert /s -> /hr + factor: 32000 # factor to convert per time to per f.unit observations: series: timestamp: 2023-08-06T00:00 duration: 1 - cpu_utilization: 25 - memory_utilization: 70 # % of total - mapping: - units: hours + cpu_util: 25 + memory_util: 70 # % of total neo4j-database: # a leaf component config: teads-curve: @@ -92,14 +96,15 @@ graph: tor: 64 sci-c: i: 554 # gCO2e/kWh + sci: + time: hour # signal to convert /s -> /hr + factor: 32000 # factor to convert per time to per f.unit observations: series: timestamp: 2023-07-06T00:00 duration: 1 # this data is using span, but the model expects duration - cpu_utilization: 28.05 - memory_utilization: 19.375 - mapping: - units: hours + cpu_util: 28.05 + memory_util: 19.375 neo4j-api: # a leaf component config: teads-curve: @@ -116,12 +121,13 @@ graph: tor: 64 sci-c: i: 554 # gCO2e/kWh + sci: + time: hour # signal to convert /s -> /hr + factor: 32000 # factor to convert per time to per f.unit observations: series: timestamp: 2023-08-06T00:00 duration: 1 - cpu_utilization: 14 - memory_utilization: 65 - mapping: - units: hours + cpu_util: 14 + memory_util: 65 diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 945660728..e00caf8a0 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -15,12 +15,15 @@ config: path: builtin - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp path: builtin + - name: sci # sums SCI components and converts to f.unit + path: builtin graph: front-end: pipeline: - teads-curve # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci # config: sci-m: te: 350 # kgCO2eq @@ -33,12 +36,13 @@ graph: teads-curve: processor: Intel® Core™ i7-1185G7 tdp: 28 # W + sci: + time: hour # signal to convert /s -> /hr + factor: 1 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 # Secs - cpu: 18.392 - - mapping: - units: hour + cpu_util: 18.392 app-server: pipeline: - teads-curve # tdp & cpu -> energy @@ -56,12 +60,13 @@ graph: teads-curve: processor: Intel® Xeon® Platinum 8272CL tdp: 205 + sci: + time: hour # signal to convert /s -> /hr + factor: 1 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - cpu: 18.392 - - mapping: - units: hour + cpu_util: 18.392 db-server: pipeline: - teads-curve # tdp & cpu & duration-> energy @@ -79,9 +84,11 @@ graph: teads-curve: processor: Intel® Xeon® Platinum 8160 tdp: 150 # W + sci: + time: hour # signal to convert /s -> /hr + factor: 1 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - cpu: 10 - - mapping: - units: hour + cpu_util: 10 + diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index 1c9c13c8c..543a3ce2c 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -5,28 +5,31 @@ tags: complexity: simple category: cloud config: - funit: - - name: job - scale-factor: 1 # divide SCI by this value to get SCI per ml job models: - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + path: builtin + - name: wattime + path: builtin + - name: sci + path: builtin graph: DenseNet: # an advanced grouping node pipeline: - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci config: sci-c: processor: nvidia-t4-nc16as-v3 e: 17.97 i: 1 # data not provided in case study m: 0 + sci: + time: s # no time normalization + factor: 1 # no unit normalization observations: series: - timestamp: 2023-07-06T00:00 duration: 1336 # 22.27 min runtime in seconds - mapping: - units: duration # R is per job, and the job took `duration` seconds InceptionV3: # an advanced grouping node pipeline: - sci-c # energy & grid-carbon-intensity & embodied -> carbon @@ -36,9 +39,10 @@ graph: e: 14.37 i: 1 # data not provided in case study m: 0 + sci: + time: s # no time normalization + factor: 1 # no unit normalization observations: series: - timestamp: 2023-07-06T00:00 duration: 1205 # 22.27 min runtime in seconds - mapping: - units: duration # R is per job, and the job took `duration` seconds diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 1a321feb5..9e0132edc 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -5,9 +5,6 @@ tags: complexity: moderate category: on-premise config: - funit: - - name: web interactions - scale-factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction models: - name: switch # a model that returns an embodied value given the sci embodied attribution equation. path: plugin @@ -19,6 +16,8 @@ config: path: builtin - name: server-energy # average power -> energy in kwh path: plugin + - name: sci + path: builtin graph: layer-3-switch: # an advanced grouping node pipeline: @@ -26,7 +25,8 @@ graph: - pue - teads-curve - sci-m - - sci-c + - sci-c + - sci config: switch: p_baseline: 92.5 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 @@ -41,14 +41,15 @@ graph: tor: 1 sci-c: i: 457 # gCO2/kwh + sci: + time: hour + factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction observations: series: - timestamp: 2023-07-06T00:00 duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 - mapping: - units: hours layer-2-switch: pipeline: - switch-model @@ -56,6 +57,7 @@ graph: - teads-curve # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci config: switch: p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 @@ -70,6 +72,9 @@ graph: tor: 1 sci-c: i: 457 # gCO2/kwh + sci: + time: hour + factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction children: switch-1: observations: @@ -105,13 +110,12 @@ graph: duration: 1 five-min-input-rate: 100 five-min-output-rate: 100 - mapping: - units: hours db-servers: pipeline: - server-energy # average power -> energy in kwh - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci config: sci-m: te: 6270 # kgCO2eq @@ -121,6 +125,9 @@ graph: tor: 1 sci-c: i: 457 # gCO2/kwh + sci: + time: hour + factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction observations: series: - timestamp: 2023-07-06T00:00 @@ -130,13 +137,12 @@ graph: max_in_sample: 6560 mean_over_sample: 113 sampling_period: 0.0000001 #seconds - mapping: - units: hours app-servers: pipeline: - server-energy # average power -> energy in kwh - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci config: sci-m: te: 6270 # kgCO2eq @@ -145,7 +151,10 @@ graph: rr: 1 tor: 1 sci-c: - i: 457 # gCO2/kwh + i: 457 # gCO2/kwh + sci: + time: hour + factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction observations: series: - timestamp: 2023-07-06T00:00 @@ -155,13 +164,12 @@ graph: max_in_sample: 6560 mean_over_sample: 113 sampling_period: 0.0000001 #seconds - mapping: - units: hours web-servers: pipeline: - server-energy # average power -> energy in kwh - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci config: sci-m: te: 6270 # kgCO2eq @@ -171,6 +179,9 @@ graph: tor: 1 sci-c: i: 457 # gCO2/kwh + sci: + time: hour + factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction observations: series: - timestamp: 2023-07-06T00:00 @@ -180,5 +191,3 @@ graph: max_in_sample: 6560 mean_over_sample: 113 sampling_period: 0.0000001 #seconds - mapping: - units: hours From 158a936f0be6fc9b87a89de44609c9da7cdb9fa4 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 10:56:09 +0100 Subject: [PATCH 052/199] move e from config to obs --- impls/msft-green-ai.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index 543a3ce2c..b268b1776 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -16,11 +16,12 @@ graph: DenseNet: # an advanced grouping node pipeline: - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - watttime + - add-obs - sci config: sci-c: processor: nvidia-t4-nc16as-v3 - e: 17.97 i: 1 # data not provided in case study m: 0 sci: @@ -30,13 +31,16 @@ graph: series: - timestamp: 2023-07-06T00:00 duration: 1336 # 22.27 min runtime in seconds + energy: 17.97 InceptionV3: # an advanced grouping node pipeline: - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - watttime + - add-obs + - sci config: sci-c: processor: nvidia-t4-nc16as-v3 - e: 14.37 i: 1 # data not provided in case study m: 0 sci: @@ -46,3 +50,4 @@ graph: series: - timestamp: 2023-07-06T00:00 duration: 1205 # 22.27 min runtime in seconds + energy: 14.37 \ No newline at end of file From 7325e24592fa2ba6310ab110a814b4f73acf6ea1 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 10:57:18 +0100 Subject: [PATCH 053/199] rm gsf website for now --- impls/gsf-website.yaml | 96 ------------------------------------------ 1 file changed, 96 deletions(-) delete mode 100644 impls/gsf-website.yaml diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml deleted file mode 100644 index 63a7fe523..000000000 --- a/impls/gsf-website.yaml +++ /dev/null @@ -1,96 +0,0 @@ -name: "Green Software Foundation Website" -description: "https://github.com/Green-Software-Foundation/ief/issues/58" -tags: - kind: website - complexity: moderate - category: cloud -config: - global-data: - pipeline: - calculation: default - normalization: default - aggregation: default - enrichment: default -graph: - build: - config: - children: - netlify: - common: - model: netlify-build - observations: - common: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - users: 40000 - builds: 67 #how many builds in most recent month - c-per-build: 2.4 # g - mapping: - units: month - gh-pages: - observations: - common: - model: gh-pages-build - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - users: 40000 - builds: 67 #how many builds in most recent month - c-per-build: 2.4 # g - mapping: - units: month - serving: - children: - netlify: - observations: - common: - model: netlify-serve - functional-unit: user - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - views-per-user: 2.1 - users: 2000 # unique users in most recent month - mapping: - units: month - gh-pages: - observations: - common: - model: gh-pages-server - functional-unit: user - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - views-per-user: 2.1 - users: 2000 # unique users in most recent month - mapping: - units: month - traffic: - children: - child: - observations: - common: - model: co2.js - kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ - green-hosting: true - series: - - timestamp: 2023-07-06T00:00 - data: 20 #GB data transferred in most recent month - users: 2000 # unique users in most recent month - mapping: - units: month - browser: - children: - child: - observations: - common: - model: sci - kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ - green-hosting: true - series: - - timestamp: 2023-07-06T00:00 - data: 20 #GB data transferred in most recent month - users: 2000 # unique users in most recent month - mapping: - units: month \ No newline at end of file From 219bc80d606cb5545839d93f3851d5b22eed7141 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 16:15:39 +0530 Subject: [PATCH 054/199] Update: Fixing issues Signed-off-by: Gnanakeethan Balasubramaniam --- package.json | 1 + src/lib/shell-imp/index.ts | 87 +++++++++++++++++++++----------------- yarn.lock | 5 +++ 3 files changed, 55 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 1092d39f0..8dcb0da3b 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@babel/core": "7.22.10", "@babel/preset-typescript": "^7.22.5", "@jest/globals": "^29.6.1", + "@types/js-yaml": "^4.0.5", "fixpack": "^4.0.0", "gts": "^5.0.0", "jest": "^29.6.1", diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index f0b6a083f..b0fe8ddfd 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,14 +1,13 @@ -import { IImpactModelInterface } from '../interfaces'; -import { KeyValuePair } from '../../types/boavizta'; -const fs = require('fs'); -const yaml = require('js-yaml'); -const cp = require('child_process'); +import {IImpactModelInterface} from '../interfaces'; +import * as cp from 'child_process'; +import {KeyValuePair} from '../../types/boavizta'; export class ShellModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source name: string | undefined; + staticParams: object | undefined; /** * Defined for compatibility. Not used in TEADS. @@ -28,10 +27,41 @@ export class ShellModel implements IImpactModelInterface { staticParams: object | undefined = undefined ): Promise { this.name = name; + this.staticParams = staticParams; return this; } - /* + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + const input: KeyValuePair = {}; + input['observations'] = observations; + if (this.staticParams !== undefined) { + input['config'] = this.staticParams; + } + + const inputAsString = yaml.dump(input); + + const results = this.runModelInShell( + inputAsString, + '/home/gnanakeethan/pimpl.py' + ); + + return results['impacts']; + } + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'shellModel'; + } + + /* description: spawns a child process to run an external IMP expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl @@ -46,40 +76,21 @@ export class ShellModel implements IImpactModelInterface { - ompl data to stdout - ompl data to disk as omplName.yaml */ - private runModelInShell(observations, execPath, omplName) { + /** + * Runs the model in a shell + * @param input + * @param execPath + * @param omplName + * @private + */ + private runModelInShell(input: object[], execPath: string) { try { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + observations]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData + const result = cp + .spawnSync(execPath, ['--calculate', '--impl=' + input]) + .stdout.toString(); + return yaml.load(result); } catch (e) { - console.error(e) + console.error(e); } } - - async calculate( - observations: object | object[] | undefined - ): Promise { - if (observations === undefined) { - throw new Error('Required Parameters not provided'); - } - - // TODO: NEED TO CONVERT OBSERVATIONS TO YAML STRING HERE - - const resultsYaml = this.runModelInShell(observations, "/usr/bin/pimpl.py", "ompl.yaml") - - // TODO: NEED TO PARSE YAML RETURNED FROM MODEL TO RESULTS OBJECT - // TODO: RETURN THE RESULTS OBJECT - - //return results; - } - - - - /** - * Returns model identifier - */ - modelIdentifier(): string { - return 'shellModel'; - } } diff --git a/yarn.lock b/yarn.lock index c7b1ed89c..b32422554 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1104,6 +1104,11 @@ dependencies: "@types/istanbul-lib-report" "*" +"@types/js-yaml@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + "@types/json-schema@^7.0.9": version "7.0.12" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" From 220ed97403c55d19dab39c8ed21a2a530b8a77ee Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 16:15:39 +0530 Subject: [PATCH 055/199] Update: Fixing issues Signed-off-by: Gnanakeethan Balasubramaniam --- package.json | 1 + src/lib/shell-imp/index.ts | 84 +++++++++++++++++++++----------------- src/lib/shell_imp.ts | 40 +++++++++--------- yarn.lock | 5 +++ 4 files changed, 73 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index 1092d39f0..8dcb0da3b 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@babel/core": "7.22.10", "@babel/preset-typescript": "^7.22.5", "@jest/globals": "^29.6.1", + "@types/js-yaml": "^4.0.5", "fixpack": "^4.0.0", "gts": "^5.0.0", "jest": "^29.6.1", diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index f0b6a083f..083fd6234 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,14 +1,13 @@ -import { IImpactModelInterface } from '../interfaces'; -import { KeyValuePair } from '../../types/boavizta'; -const fs = require('fs'); -const yaml = require('js-yaml'); -const cp = require('child_process'); +import {IImpactModelInterface} from '../interfaces'; +import * as cp from 'child_process'; +import {KeyValuePair} from '../../types/boavizta'; export class ShellModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source name: string | undefined; + staticParams: object | undefined; /** * Defined for compatibility. Not used in TEADS. @@ -28,10 +27,38 @@ export class ShellModel implements IImpactModelInterface { staticParams: object | undefined = undefined ): Promise { this.name = name; + this.staticParams = staticParams; return this; } - /* + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + const input: KeyValuePair = {}; + input['observations'] = observations; + if (this.staticParams !== undefined) { + input['config'] = this.staticParams; + } + + const inputAsString = yaml.dump(input); + + const results = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); + + return results['impacts']; + } + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'shellModel'; + } + + /* description: spawns a child process to run an external IMP expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl @@ -46,40 +73,21 @@ export class ShellModel implements IImpactModelInterface { - ompl data to stdout - ompl data to disk as omplName.yaml */ - private runModelInShell(observations, execPath, omplName) { + /** + * Runs the model in a shell + * @param input + * @param execPath + * @param omplName + * @private + */ + private runModelInShell(input: object[], execPath: string) { try { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + observations]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData + const result = cp + .spawnSync(execPath, ['--calculate', '--impl=' + input]) + .stdout.toString(); + return yaml.load(result); } catch (e) { - console.error(e) + console.error(e); } } - - async calculate( - observations: object | object[] | undefined - ): Promise { - if (observations === undefined) { - throw new Error('Required Parameters not provided'); - } - - // TODO: NEED TO CONVERT OBSERVATIONS TO YAML STRING HERE - - const resultsYaml = this.runModelInShell(observations, "/usr/bin/pimpl.py", "ompl.yaml") - - // TODO: NEED TO PARSE YAML RETURNED FROM MODEL TO RESULTS OBJECT - // TODO: RETURN THE RESULTS OBJECT - - //return results; - } - - - - /** - * Returns model identifier - */ - modelIdentifier(): string { - return 'shellModel'; - } } diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index c44fc7535..a3eb23896 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -1,8 +1,8 @@ -const fs = require('fs'); -const yaml = require('js-yaml'); -const cp = require('child_process'); +// const fs = require('fs'); +// const yaml = require('js-yaml'); +// const cp = require('child_process'); -/* +/* description: spawns a child process to run an external IMP expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl @@ -17,18 +17,20 @@ returns: - ompl data to stdout - ompl data to disk as omplName.yaml */ -function runModelInShell(impl, execPath, omplName) { - try { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + impl]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData - } catch (e) { - console.error(e) - } -} - -//example invocation -// calling prototype python model available in ief-sandbox repo -//let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') -//console.log(out) \ No newline at end of file +// function runModelInShell(impl, execPath, omplName) { +// try { +// const result = cp +// .spawnSync(execPath, ['--calculate', '--impl=' + impl]) +// .stdout.toString(); +// const yamlData = yaml.dump(yaml.load(result)); +// fs.writeFileSync(omplName, yamlData, 'utf8'); +// return yamlData; +// } catch (e) { +// console.error(e); +// } +// } +// +// //example invocation +// // calling prototype python model available in ief-sandbox repo +// //let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') +// //console.log(out) diff --git a/yarn.lock b/yarn.lock index c7b1ed89c..b32422554 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1104,6 +1104,11 @@ dependencies: "@types/istanbul-lib-report" "*" +"@types/js-yaml@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + "@types/json-schema@^7.0.9": version "7.0.12" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" From 65b518283763d3a572ffe3f772224ba38599f194 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 12:18:07 +0100 Subject: [PATCH 056/199] rm functional unit field --- impls/msft-eshoppen.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index e00caf8a0..e0abf6c63 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -5,9 +5,6 @@ tags: complexity: moderate category: cloud config: - funit: - - name: requests - scale-factor: 500 # divide SCi per hour by this to get SCI per request models: - name: sci-m # a model that calculates m from te, tir, el, rr and rtor path: builtin @@ -38,7 +35,7 @@ graph: tdp: 28 # W sci: time: hour # signal to convert /s -> /hr - factor: 1 # factor to convert per time to per f.unit () + factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 # Secs @@ -62,7 +59,7 @@ graph: tdp: 205 sci: time: hour # signal to convert /s -> /hr - factor: 1 # factor to convert per time to per f.unit () + factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 @@ -86,7 +83,7 @@ graph: tdp: 150 # W sci: time: hour # signal to convert /s -> /hr - factor: 1 # factor to convert per time to per f.unit () + factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 From 02b073bace74a2b67c875a1ccfdfa0d7397b39a0 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 16:15:39 +0530 Subject: [PATCH 057/199] Update: Fixing issues Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 84 +++++++++++++++++++++----------------- src/lib/shell_imp.ts | 40 +++++++++--------- 2 files changed, 67 insertions(+), 57 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index f0b6a083f..083fd6234 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,14 +1,13 @@ -import { IImpactModelInterface } from '../interfaces'; -import { KeyValuePair } from '../../types/boavizta'; -const fs = require('fs'); -const yaml = require('js-yaml'); -const cp = require('child_process'); +import {IImpactModelInterface} from '../interfaces'; +import * as cp from 'child_process'; +import {KeyValuePair} from '../../types/boavizta'; export class ShellModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source name: string | undefined; + staticParams: object | undefined; /** * Defined for compatibility. Not used in TEADS. @@ -28,10 +27,38 @@ export class ShellModel implements IImpactModelInterface { staticParams: object | undefined = undefined ): Promise { this.name = name; + this.staticParams = staticParams; return this; } - /* + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + const input: KeyValuePair = {}; + input['observations'] = observations; + if (this.staticParams !== undefined) { + input['config'] = this.staticParams; + } + + const inputAsString = yaml.dump(input); + + const results = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); + + return results['impacts']; + } + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'shellModel'; + } + + /* description: spawns a child process to run an external IMP expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl @@ -46,40 +73,21 @@ export class ShellModel implements IImpactModelInterface { - ompl data to stdout - ompl data to disk as omplName.yaml */ - private runModelInShell(observations, execPath, omplName) { + /** + * Runs the model in a shell + * @param input + * @param execPath + * @param omplName + * @private + */ + private runModelInShell(input: object[], execPath: string) { try { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + observations]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData + const result = cp + .spawnSync(execPath, ['--calculate', '--impl=' + input]) + .stdout.toString(); + return yaml.load(result); } catch (e) { - console.error(e) + console.error(e); } } - - async calculate( - observations: object | object[] | undefined - ): Promise { - if (observations === undefined) { - throw new Error('Required Parameters not provided'); - } - - // TODO: NEED TO CONVERT OBSERVATIONS TO YAML STRING HERE - - const resultsYaml = this.runModelInShell(observations, "/usr/bin/pimpl.py", "ompl.yaml") - - // TODO: NEED TO PARSE YAML RETURNED FROM MODEL TO RESULTS OBJECT - // TODO: RETURN THE RESULTS OBJECT - - //return results; - } - - - - /** - * Returns model identifier - */ - modelIdentifier(): string { - return 'shellModel'; - } } diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts index c44fc7535..a3eb23896 100644 --- a/src/lib/shell_imp.ts +++ b/src/lib/shell_imp.ts @@ -1,8 +1,8 @@ -const fs = require('fs'); -const yaml = require('js-yaml'); -const cp = require('child_process'); +// const fs = require('fs'); +// const yaml = require('js-yaml'); +// const cp = require('child_process'); -/* +/* description: spawns a child process to run an external IMP expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl @@ -17,18 +17,20 @@ returns: - ompl data to stdout - ompl data to disk as omplName.yaml */ -function runModelInShell(impl, execPath, omplName) { - try { - const result = cp.spawnSync(execPath, ['--calculate', '--impl=' + impl]).stdout.toString(); - const yamlData = yaml.dump(yaml.load(result)) - fs.writeFileSync(omplName, yamlData, 'utf8'); - return yamlData - } catch (e) { - console.error(e) - } -} - -//example invocation -// calling prototype python model available in ief-sandbox repo -//let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') -//console.log(out) \ No newline at end of file +// function runModelInShell(impl, execPath, omplName) { +// try { +// const result = cp +// .spawnSync(execPath, ['--calculate', '--impl=' + impl]) +// .stdout.toString(); +// const yamlData = yaml.dump(yaml.load(result)); +// fs.writeFileSync(omplName, yamlData, 'utf8'); +// return yamlData; +// } catch (e) { +// console.error(e); +// } +// } +// +// //example invocation +// // calling prototype python model available in ief-sandbox repo +// //let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') +// //console.log(out) From 5d4f4437b0ea016cea4762c11b04c4b2721c6982 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 14:32:48 +0100 Subject: [PATCH 058/199] add js-yaml import --- src/lib/shell-imp/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index c08e9a0e5..fc93f850f 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,6 +1,7 @@ import { IImpactModelInterface } from '../interfaces'; import * as cp from 'child_process'; import { KeyValuePair } from '../../types/boavizta'; +import * as yaml from 'js-yaml'; export class ShellModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. From c31ea43f0fad83585a1bb728022a9805d8fd8265 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 14:34:00 +0100 Subject: [PATCH 059/199] remove redundant file --- src/lib/shell_imp.ts | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 src/lib/shell_imp.ts diff --git a/src/lib/shell_imp.ts b/src/lib/shell_imp.ts deleted file mode 100644 index a3eb23896..000000000 --- a/src/lib/shell_imp.ts +++ /dev/null @@ -1,36 +0,0 @@ -// const fs = require('fs'); -// const yaml = require('js-yaml'); -// const cp = require('child_process'); - -/* -description: - spawns a child process to run an external IMP - expects execPath to be a path to an executable with a CLI exposing two methods: --calculate and --impl - The shell command then calls the --command method passing var impl as the path to the desired impl file - -params: -- impl: (string) path to impl file -- execPath: (string) path to executable -- omplName: (string) savename for ompl file - -returns: -- ompl data to stdout -- ompl data to disk as omplName.yaml -*/ -// function runModelInShell(impl, execPath, omplName) { -// try { -// const result = cp -// .spawnSync(execPath, ['--calculate', '--impl=' + impl]) -// .stdout.toString(); -// const yamlData = yaml.dump(yaml.load(result)); -// fs.writeFileSync(omplName, yamlData, 'utf8'); -// return yamlData; -// } catch (e) { -// console.error(e); -// } -// } -// -// //example invocation -// // calling prototype python model available in ief-sandbox repo -// //let out = runModelInShell('dow_msft.yaml', '~/ief-sandbox/dist/cli/cli', 'ompl2.yaml') -// //console.log(out) From e88147577ecda924a7134d378109ff8234f261f0 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Mon, 4 Sep 2023 14:40:57 +0100 Subject: [PATCH 060/199] linter --- src/lib/shell-imp/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index fc93f850f..c259ed2f3 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,6 +1,6 @@ -import { IImpactModelInterface } from '../interfaces'; +import {IImpactModelInterface} from '../interfaces'; import * as cp from 'child_process'; -import { KeyValuePair } from '../../types/boavizta'; +import {KeyValuePair} from '../../types/boavizta'; import * as yaml from 'js-yaml'; export class ShellModel implements IImpactModelInterface { From c3f1eac28439395209aba28249a5731a8fa14e64 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 4 Sep 2023 15:13:05 +0100 Subject: [PATCH 061/199] fix type definitions --- src/lib/shell-imp/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index c259ed2f3..25bf1b4d9 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,6 +1,6 @@ -import {IImpactModelInterface} from '../interfaces'; +import { IImpactModelInterface } from '../interfaces'; import * as cp from 'child_process'; -import {KeyValuePair} from '../../types/boavizta'; +import { KeyValuePair } from '../../types/boavizta'; import * as yaml from 'js-yaml'; export class ShellModel implements IImpactModelInterface { @@ -45,9 +45,9 @@ export class ShellModel implements IImpactModelInterface { input['config'] = this.staticParams; } - const inputAsString = yaml.dump(input); + const inputAsString: string = yaml.dump(input); - const results = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); + const results: string = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); return results['impacts']; } @@ -81,7 +81,7 @@ export class ShellModel implements IImpactModelInterface { * @param omplName * @private */ - private runModelInShell(input: object[], execPath: string) { + private runModelInShell(input: string, execPath: string): any { try { const result = cp .spawnSync(execPath, ['--calculate', '--impl=' + input]) From e0ecbc485baa87fe3b31a18d37a2da02bf1462db Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Mon, 4 Sep 2023 15:13:57 +0100 Subject: [PATCH 062/199] lint --- src/lib/shell-imp/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 25bf1b4d9..44cc310d5 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -1,6 +1,6 @@ -import { IImpactModelInterface } from '../interfaces'; +import {IImpactModelInterface} from '../interfaces'; import * as cp from 'child_process'; -import { KeyValuePair } from '../../types/boavizta'; +import {KeyValuePair} from '../../types/boavizta'; import * as yaml from 'js-yaml'; export class ShellModel implements IImpactModelInterface { From 5b135b8a9eb0cb134ded436f7afa57cd5a734723 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 20:12:31 +0530 Subject: [PATCH 063/199] Update: fixing typing Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 44cc310d5..2d342d51d 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -47,7 +47,7 @@ export class ShellModel implements IImpactModelInterface { const inputAsString: string = yaml.dump(input); - const results: string = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); + const results = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); return results['impacts']; } @@ -81,14 +81,14 @@ export class ShellModel implements IImpactModelInterface { * @param omplName * @private */ - private runModelInShell(input: string, execPath: string): any { + private runModelInShell(input: string, execPath: string): KeyValuePair { try { const result = cp .spawnSync(execPath, ['--calculate', '--impl=' + input]) .stdout.toString(); - return yaml.load(result); + return yaml.load(result) as KeyValuePair; } catch (e) { - console.error(e); + throw new Error(e.message); } } } From 7cbed875980eeb0e49cbaa8b0f823a7e20b3a328 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 20:14:20 +0530 Subject: [PATCH 064/199] Fix error type Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 2d342d51d..43efd9a3e 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -87,7 +87,7 @@ export class ShellModel implements IImpactModelInterface { .spawnSync(execPath, ['--calculate', '--impl=' + input]) .stdout.toString(); return yaml.load(result) as KeyValuePair; - } catch (e) { + } catch (e: any) { throw new Error(e.message); } } From b9f916c1111c6953e7abb8890604ad9ea1bea289 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:19:30 +0530 Subject: [PATCH 065/199] Adding test file and fixing build Signed-off-by: Gnanakeethan Balasubramaniam --- .github/workflows/nodejs-ci.yml | 7 +++++++ src/lib/index.ts | 1 + src/lib/shell-imp/index.test.ts | 22 ++++++++++++++++++++++ src/lib/shell-imp/index.ts | 14 ++++++++++++-- src/lib/shell-imp/sampler | 30 ++++++++++++++++++++++++++++++ 5 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 src/lib/shell-imp/index.test.ts create mode 100755 src/lib/shell-imp/sampler diff --git a/.github/workflows/nodejs-ci.yml b/.github/workflows/nodejs-ci.yml index d43c80490..ce91e1bbe 100644 --- a/.github/workflows/nodejs-ci.yml +++ b/.github/workflows/nodejs-ci.yml @@ -16,10 +16,17 @@ jobs: node-version: 18 cache: 'yarn' + - name: 'setup python' + uses: actions/setup-python@v4 + with: + python-version: '3.11' - name: Install dependencies run: yarn install + - name: Copy Sample CLI Mocker to bin folder + run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /bin/sampler + - name: Run lint run: yarn lint diff --git a/src/lib/index.ts b/src/lib/index.ts index 99bddf1ab..329c42fa7 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,2 +1,3 @@ export * from './boavizta'; export * from './ccf'; +export * from './shell-imp'; diff --git a/src/lib/shell-imp/index.test.ts b/src/lib/shell-imp/index.test.ts new file mode 100644 index 000000000..2f4e308a8 --- /dev/null +++ b/src/lib/shell-imp/index.test.ts @@ -0,0 +1,22 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {ShellModel} from './index'; + +jest.setTimeout(30000); + +describe('ccf:configure test', () => { + test('initialize with params', async () => { + const impactModel = new ShellModel(); + await impactModel.configure('test', { + provider: 'aws', + instance_type: 't2.micro', + executable: 'sampler', + }); + await expect( + impactModel.calculate([ + {duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z'}, + ]) + ).resolves.toStrictEqual([ + {duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z', e: 1}, + ]); + }); +}); diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 43efd9a3e..53cd82a07 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -9,6 +9,7 @@ export class ShellModel implements IImpactModelInterface { // name of the data source name: string | undefined; staticParams: object | undefined; + executable = ''; /** * Defined for compatibility. Not used in TEADS. @@ -28,6 +29,13 @@ export class ShellModel implements IImpactModelInterface { staticParams: object | undefined = undefined ): Promise { this.name = name; + if (staticParams === undefined) { + throw new Error('Required staticParams not provided'); + } + if ('executable' in staticParams) { + this.executable = staticParams['executable'] as string; + delete staticParams['executable']; + } this.staticParams = staticParams; return this; } @@ -47,7 +55,7 @@ export class ShellModel implements IImpactModelInterface { const inputAsString: string = yaml.dump(input); - const results = this.runModelInShell(inputAsString, '/usr/bin/pimpl'); + const results = this.runModelInShell(inputAsString, this.executable); return results['impacts']; } @@ -83,9 +91,11 @@ export class ShellModel implements IImpactModelInterface { */ private runModelInShell(input: string, execPath: string): KeyValuePair { try { + console.log('input', input); const result = cp - .spawnSync(execPath, ['--calculate', '--impl=' + input]) + .spawnSync(execPath, ['--calculate'], {input: input, encoding: 'utf8'}) .stdout.toString(); + console.log('result', result); return yaml.load(result) as KeyValuePair; } catch (e: any) { throw new Error(e.message); diff --git a/src/lib/shell-imp/sampler b/src/lib/shell-imp/sampler new file mode 100755 index 000000000..635fa79e5 --- /dev/null +++ b/src/lib/shell-imp/sampler @@ -0,0 +1,30 @@ +#!/opt/homebrew/bin/python3 +import sys +import yaml +import copy + +# Initialize an empty list to collect lines +input_lines = [] + +for line in sys.stdin: + # Collect the lines + input_lines.append(line) + +# Join the collected lines into a single string +yaml_input = ''.join(input_lines) + +try: + # Parse the entire YAML input + data = yaml.safe_load(yaml_input) + + if data is not None: + data['impacts'] = [] + for impact in data['observations']: + imp = copy.deepcopy(impact) + imp['e'] = 1 + data['impacts'].append(imp) + print(yaml.dump(data, default_flow_style=False)) + else: + print("No valid YAML input provided.") +except yaml.YAMLError as e: + print("Error parsing YAML:", e) From 56bebbaae0dcbfaa18a462e2e7f67f76e5e7ed96 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:22:00 +0530 Subject: [PATCH 066/199] Fix copy of executable Signed-off-by: Gnanakeethan Balasubramaniam --- .github/workflows/nodejs-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs-ci.yml b/.github/workflows/nodejs-ci.yml index ce91e1bbe..46b418947 100644 --- a/.github/workflows/nodejs-ci.yml +++ b/.github/workflows/nodejs-ci.yml @@ -25,7 +25,7 @@ jobs: run: yarn install - name: Copy Sample CLI Mocker to bin folder - run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /bin/sampler + run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /usr/local/bin/sampler - name: Run lint run: yarn lint From 259ed8d6a4eec6892df603addabfaa8afa1eb238 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:23:42 +0530 Subject: [PATCH 067/199] Add executable permission to the sampler Signed-off-by: Gnanakeethan Balasubramaniam --- .github/workflows/nodejs-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs-ci.yml b/.github/workflows/nodejs-ci.yml index 46b418947..4c82818a2 100644 --- a/.github/workflows/nodejs-ci.yml +++ b/.github/workflows/nodejs-ci.yml @@ -25,7 +25,7 @@ jobs: run: yarn install - name: Copy Sample CLI Mocker to bin folder - run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /usr/local/bin/sampler + run: pip3 install pyyaml && cp src/lib/shell-imp/sampler /usr/local/bin/sampler && chmod +x /usr/local/bin/sampler - name: Run lint run: yarn lint From 2f7df41d94a3a742bdfc5435209141ff62ac2709 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:28:55 +0530 Subject: [PATCH 068/199] Use full executable path Signed-off-by: Gnanakeethan Balasubramaniam --- Makefile | 3 +++ src/lib/shell-imp/index.test.ts | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e37b8f6b9..2dab86e09 100644 --- a/Makefile +++ b/Makefile @@ -11,3 +11,6 @@ ccf-data: cat third-party/ccf-coefficients/data/azure-instances.csv | python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))' > lib/ccf/azure-instances.json cat third-party/ccf-coefficients/output/coefficients-azure-use.csv | python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))' > lib/ccf/azure-use.json cat third-party/ccf-coefficients/output/coefficients-azure-embodied.csv | python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))' > lib/ccf/azure-embodied.json + +install-shell-imp: + cp src/lib/shell-imp/sampler /usr/local/bin/sampler diff --git a/src/lib/shell-imp/index.test.ts b/src/lib/shell-imp/index.test.ts index 2f4e308a8..fc426f0f6 100644 --- a/src/lib/shell-imp/index.test.ts +++ b/src/lib/shell-imp/index.test.ts @@ -9,7 +9,7 @@ describe('ccf:configure test', () => { await impactModel.configure('test', { provider: 'aws', instance_type: 't2.micro', - executable: 'sampler', + executable: '/usr/local/bin/sampler', }); await expect( impactModel.calculate([ From 27a56537ba7447aa98de4afadce1c51904d8b11b Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:33:48 +0530 Subject: [PATCH 069/199] Fix bin path Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/sampler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/shell-imp/sampler b/src/lib/shell-imp/sampler index 635fa79e5..574a1b5f5 100755 --- a/src/lib/shell-imp/sampler +++ b/src/lib/shell-imp/sampler @@ -1,4 +1,4 @@ -#!/opt/homebrew/bin/python3 +#!/bin/env python3 import sys import yaml import copy From bcd94425f81d8a0d4503a8467ab17164466509c3 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:35:19 +0530 Subject: [PATCH 070/199] Fix build Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 2 +- src/lib/shell-imp/sampler | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 53cd82a07..3a7bfacf6 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -42,7 +42,7 @@ export class ShellModel implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } diff --git a/src/lib/shell-imp/sampler b/src/lib/shell-imp/sampler index 574a1b5f5..746f607de 100755 --- a/src/lib/shell-imp/sampler +++ b/src/lib/shell-imp/sampler @@ -1,4 +1,4 @@ -#!/bin/env python3 +#!/usr/local/bin/python3 import sys import yaml import copy From ad621d0b597f4b5513046786f8b356e44996e3f2 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:37:06 +0530 Subject: [PATCH 071/199] Bin path reset Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/sampler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/shell-imp/sampler b/src/lib/shell-imp/sampler index 746f607de..574a1b5f5 100755 --- a/src/lib/shell-imp/sampler +++ b/src/lib/shell-imp/sampler @@ -1,4 +1,4 @@ -#!/usr/local/bin/python3 +#!/bin/env python3 import sys import yaml import copy From 65626e3951497c626f309f8f332bc191c192baa9 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 21:40:00 +0530 Subject: [PATCH 072/199] Typo fix Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/shell-imp/index.test.ts b/src/lib/shell-imp/index.test.ts index fc426f0f6..c4f4319af 100644 --- a/src/lib/shell-imp/index.test.ts +++ b/src/lib/shell-imp/index.test.ts @@ -3,7 +3,7 @@ import {ShellModel} from './index'; jest.setTimeout(30000); -describe('ccf:configure test', () => { +describe('shell:configure test', () => { test('initialize with params', async () => { const impactModel = new ShellModel(); await impactModel.configure('test', { From c2611bb22186baf935dc33c95e57a64b62e67464 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 09:23:08 +0530 Subject: [PATCH 073/199] Adding a units.yaml in config folder Signed-off-by: Gnanakeethan Balasubramaniam --- docs/Observation.md | 20 +++++++++++--------- src/config/units.yaml | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 9 deletions(-) create mode 100644 src/config/units.yaml diff --git a/docs/Observation.md b/docs/Observation.md index b7a412e29..f7f72f6c2 100644 --- a/docs/Observation.md +++ b/docs/Observation.md @@ -42,15 +42,17 @@ But they can also be stored in CSV files like so: #### Default Units and Names -Each type of observation has a **default unit** and **default name**. For example, if you observe a CPU utilization, the name of the observation dimension is `CPU`, and the unit is as a `percentage`. The data passed in is expected to be in that format. +Each type of observation has a **default unit** and **default name**. For example, if you observe a CPU utilization, the name of the observation dimension is `cpu`, and the unit is as a `percentage`. Aggregation method is `avg`. The data passed in is expected to be in that format. + + +| Dimension | Unit | +| --------- |---------------------------| +| CPU | Percentage Utilized | +| MEM | Percentage Full | +| Disk | Total Read/Writes | +| Duration | Seconds | +| Timestamp | ISO8601/RFC3339 Timestamp | -| Dimension | Unit | -| --------- | ------------------- | -| CPU | Percentage Utilized | -| MEM | Percentage Full | -| Disk | ???? | -| Duration | Seconds | -| Timestamp | ISO Time | ## Observation synchronization @@ -78,4 +80,4 @@ You can provide one single observation for a long duration for every component i This is why Observations are a time series; the more observations you can provide about components over time, the more the engine can surface impacts over time. -Another reason to provide multiple observations is to gain a much more accurate emissions estimate. Many of the models used to translate observations into impacts are non-linear. This means just providing an average value over time will give you a less accurate value than providing more data points over time. \ No newline at end of file +Another reason to provide multiple observations is to gain a much more accurate emissions estimate. Many of the models used to translate observations into impacts are non-linear. This means just providing an average value over time will give you a less accurate value than providing more data points over time. diff --git a/src/config/units.yaml b/src/config/units.yaml new file mode 100644 index 000000000..3275fc27a --- /dev/null +++ b/src/config/units.yaml @@ -0,0 +1,36 @@ +cpu: + description: refers to CPU utilization. + unit: percentage + aggregation: avg +memory: + description: refers to GB of memory utilized. + unit: GB + aggregation: avg +disk: + description: refers to GB of disk written/read + unit: GB + aggregation: sum +duration: + description: refers to the duration of the observation + unit: S + aggregation: sum +timestamp: + description: refers to the time of occurrence of the observation + unit: ISO8601 / RFC3339 compatible timestamp + aggregation: None +carbon: + description: an amount of carbon emitted into the atmosphere + unit: gCO2e + aggregation: sum +energy: + description: amount of energy utilised by the component + unit: KWh + aggregation: sum +embodied_emission: + description: Embodied Emissions of the component + unit: gCO2e + aggregation: sum +expected_life_span: + description: Total Expected Lifespan of the Component in Years + unit: Years + aggregation: None From 1e2d1e7798d9de20a7c01367cc86c412852eeabd Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 09:29:01 +0530 Subject: [PATCH 074/199] Typo fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index 3275fc27a..b11651b8d 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -7,7 +7,7 @@ memory: unit: GB aggregation: avg disk: - description: refers to GB of disk written/read + description: refers to GB of data written/read from disk unit: GB aggregation: sum duration: From f2a4d71b621859de3c6d0b7c819503d9cd17d614 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 30 Aug 2023 09:41:44 +0000 Subject: [PATCH 075/199] Update src/config/units.yaml Co-authored-by: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index b11651b8d..487054a15 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -12,7 +12,7 @@ disk: aggregation: sum duration: description: refers to the duration of the observation - unit: S + unit: s aggregation: sum timestamp: description: refers to the time of occurrence of the observation From 53f5cc888c0b5b4f54d2960477caa39cc70bb319 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 31 Aug 2023 20:18:54 +0530 Subject: [PATCH 076/199] Apply suggestions from code review by @jawache Co-authored-by: Asim Hussain Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index 487054a15..6878437ab 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -1,18 +1,18 @@ -cpu: +cpu-util: description: refers to CPU utilization. unit: percentage aggregation: avg -memory: +ram-util: description: refers to GB of memory utilized. unit: GB aggregation: avg -disk: +disk-io: description: refers to GB of data written/read from disk unit: GB aggregation: sum duration: description: refers to the duration of the observation - unit: s + unit: seconds aggregation: sum timestamp: description: refers to the time of occurrence of the observation @@ -24,9 +24,9 @@ carbon: aggregation: sum energy: description: amount of energy utilised by the component - unit: KWh + unit: kWh aggregation: sum -embodied_emission: +embodied: description: Embodied Emissions of the component unit: gCO2e aggregation: sum From 9c720b3ef9165562c6d3a48ca61139b259fef259 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 05:43:09 +0530 Subject: [PATCH 077/199] Resolve issues Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index 6878437ab..ce7f48156 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -2,10 +2,18 @@ cpu-util: description: refers to CPU utilization. unit: percentage aggregation: avg +cpu-alloc: + description: refers to CPU allocation. + unit: percentage + aggregation: avg ram-util: description: refers to GB of memory utilized. unit: GB aggregation: avg +ram-alloc: + description: refers to GB of memory allocated. + unit: GB + aggregation: avg disk-io: description: refers to GB of data written/read from disk unit: GB @@ -30,7 +38,7 @@ embodied: description: Embodied Emissions of the component unit: gCO2e aggregation: sum -expected_life_span: - description: Total Expected Lifespan of the Component in Years - unit: Years +expected-lifespan: + description: Total Expected Lifespan of the Component in Seconds + unit: Seconds aggregation: None From 66a7bd2bcf953a6908cdaf95b2498d6cd20e1194 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 05:50:00 +0530 Subject: [PATCH 078/199] Timestamp unit Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index ce7f48156..de7a2a81d 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -24,7 +24,7 @@ duration: aggregation: sum timestamp: description: refers to the time of occurrence of the observation - unit: ISO8601 / RFC3339 compatible timestamp + unit: RFC3339 compatible timestamp aggregation: None carbon: description: an amount of carbon emitted into the atmosphere From 04c1546e87ea6bb6da74fa6db9209e73cd1992ff Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 16:33:50 +0530 Subject: [PATCH 079/199] Adding operational-emissions from sci-o Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/config/units.yaml b/src/config/units.yaml index de7a2a81d..4f1652597 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -38,6 +38,10 @@ embodied: description: Embodied Emissions of the component unit: gCO2e aggregation: sum +operational-emissions: + description: Operational Emissions of the component + unit: gCO2e + aggregation: sum expected-lifespan: description: Total Expected Lifespan of the Component in Seconds unit: Seconds From bcec5983979e241acb2dfb64b5386481c901f304 Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Mon, 4 Sep 2023 14:33:10 +0100 Subject: [PATCH 080/199] Updated with feedback --- src/config/units.yaml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index 4f1652597..cfddcb7e5 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -2,13 +2,9 @@ cpu-util: description: refers to CPU utilization. unit: percentage aggregation: avg -cpu-alloc: - description: refers to CPU allocation. - unit: percentage - aggregation: avg ram-util: - description: refers to GB of memory utilized. - unit: GB + description: refers to percentage of memory utilized. + unit: percentage aggregation: avg ram-alloc: description: refers to GB of memory allocated. @@ -24,7 +20,7 @@ duration: aggregation: sum timestamp: description: refers to the time of occurrence of the observation - unit: RFC3339 compatible timestamp + unit: RFC3339 aggregation: None carbon: description: an amount of carbon emitted into the atmosphere @@ -34,15 +30,15 @@ energy: description: amount of energy utilised by the component unit: kWh aggregation: sum -embodied: +embodied-carbon: description: Embodied Emissions of the component unit: gCO2e aggregation: sum -operational-emissions: +operational-carbon: description: Operational Emissions of the component unit: gCO2e aggregation: sum expected-lifespan: description: Total Expected Lifespan of the Component in Seconds - unit: Seconds + unit: seconds aggregation: None From 083f389fe589270596b72c57314a8553e7839a5b Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 06:13:49 +0530 Subject: [PATCH 081/199] Fixing Typo Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 3a7bfacf6..8f5ecacd2 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -4,7 +4,7 @@ import {KeyValuePair} from '../../types/boavizta'; import * as yaml from 'js-yaml'; export class ShellModel implements IImpactModelInterface { - // Defined for compatibility. Not used in TEADS. + // Defined for compatibility. Not used. authParams: object | undefined; // name of the data source name: string | undefined; @@ -12,14 +12,14 @@ export class ShellModel implements IImpactModelInterface { executable = ''; /** - * Defined for compatibility. Not used in TEADS. + * Defined for compatibility. Not used. */ authenticate(authParams: object): void { this.authParams = authParams; } /** - * Configures the TEADS Plugin for IEF + * Configures the Plugin for IEF * @param {string} name name of the resource * @param {Object} staticParams static parameters for the resource * @param {number} staticParams.tdp Thermal Design Power in Watts From ccae7767273c49bb1ebd9c6f6de3df9a8a7e3dbc Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 5 Sep 2023 08:42:29 +0400 Subject: [PATCH 082/199] util: tune yaml to exclude reference. --- src/util/yaml.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/yaml.ts b/src/util/yaml.ts index 0ed2f3ccc..1a9191dd5 100644 --- a/src/util/yaml.ts +++ b/src/util/yaml.ts @@ -15,7 +15,7 @@ export const openYamlFileAsObject = async (filePath: string): Promise => { * Saves given `yaml` dump as a file. */ export const saveYamlFileAs = (object: any, name: string) => { - const yamlString = YAML.dump(object); + const yamlString = YAML.dump(object, {noRefs: true}); return writeFile(name, yamlString); }; From 44ec70efad0ceec9b783c053f95435d08453f8b5 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 5 Sep 2023 08:43:36 +0400 Subject: [PATCH 083/199] util: in observatory tune logic to not use model specific handlers. --- src/util/observatory.ts | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/util/observatory.ts b/src/util/observatory.ts index 787dcfda6..d065554dd 100644 --- a/src/util/observatory.ts +++ b/src/util/observatory.ts @@ -5,6 +5,7 @@ import {BoaviztaCpuImpactModel} from '../lib'; */ export class Observatory { private observations: any; + private impact: any; /** * Init observations object. @@ -14,30 +15,19 @@ export class Observatory { } /** - * Apply `boavizta` model computation to observations. + * Calculates impact based on observation and model. */ - private async boaviztaHandler(params: any) { - const modelInstance = await new BoaviztaCpuImpactModel().configure( - 'test', - params - ); - - const preparedObservations = this.observations.map((observation: any) => ({ - cpu: observation.cpu, - duration: `${observation.duration}s`, - datetime: observation.timestamp, - })); + private async monitorAndCalculateImpact(Model: any, params: any) { + const modelInstance = await new Model().configure('test', params); - const calculatedImpacts = await modelInstance.calculate( - preparedObservations - ); + const calculatedImpacts = await modelInstance.calculate(this.observations); const result = this.observations.map((observation: any, index: number) => ({ ...observation, ...calculatedImpacts[index], })); - this.observations = result; + this.impact = result; return this; } @@ -48,9 +38,9 @@ export class Observatory { public doInvestigationsWith(modelType: string, params: any) { switch (modelType) { case 'boavizta': - return this.boaviztaHandler(params); + return this.monitorAndCalculateImpact(BoaviztaCpuImpactModel, params); // case 'ccf': - // return this.ccfHandler(params) + // return this.monitorAndCalculateImpact(CloudCarbonFootprint, params); } } @@ -60,4 +50,11 @@ export class Observatory { public getObservationsData() { return this.observations; } + + /** + * Getter for impact data. + */ + public getObservedImpact() { + return this.impact; + } } From 21023c9a87acf5600c52aa36391ab62dea8461d8 Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 11:02:15 +0100 Subject: [PATCH 084/199] add 'kind' and 'path' fields to config/models --- impls/accenture.yaml | 18 ++++++++++++------ impls/aveva.yaml | 13 ++++++++++--- impls/dow_msft.yaml | 18 ++++++++++++------ impls/farm-insights.yaml | 6 ++++-- impls/msft-eshoppen.yaml | 12 ++++++++---- impls/msft-green-ai.yaml | 9 ++++++--- impls/ntt-data-on-premise.yaml | 18 ++++++++++++------ 7 files changed, 64 insertions(+), 30 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 157e6dace..b71467d6b 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -4,19 +4,25 @@ tags: config: models: - name: add-obs # a model that just copies some values into every observation. - path: builtin + kind: builtin + path: '' - name: teads-curve - path: builtin + kind: builtin + path: '' - name: pue - path: builtin + kind: builtin + path: '' config: pue: 1.125 - name: sci-m - path: builtin + kind: builtin + path: '' - name: sci-c - path: builtin + kind: builtin + path: '' - name: sci - path: builtin + kind: builtin + path: '' graph: vm: pipeline: diff --git a/impls/aveva.yaml b/impls/aveva.yaml index f6224e22d..61ce4ec10 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -10,13 +10,20 @@ config: scale-factor: 500 # divide SCi per hour by this to get SCI per request models: - name: sci-aveva # a model that takes in power observations and returns the necessary inputs to sci-m. - path: plugin + kind: plugin + path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + kind: builtin + path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor. + kind: builtin + path: '' - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp - path: builtin + kind: builtin + path: '' - name: sci # sums SCI components and converts to f.unit + kind: builtin + path: '' graph: pc: config: diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 3f60d4e1a..cc0f9528a 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -7,17 +7,23 @@ tags: config: models: - name: tdp-curve # a model that returns an embodied value given the sci embodied attribution equation. - path: builtin + kind: builtin + path: '' - name: sci-mem # a model that calculates a carbon value for memory - path: plugin + kind: plugin + path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor - path: builtin + kind: builtin + path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + kind: builtin + path: '' - name: sci-sum - path: builtin # a model that knows to sum the carbon values for cpu and memory before calculating total SCI + kind: builtin # a model that knows to sum the carbon values for cpu and memory before calculating total SCI + path: '' - name: functional-unit - path: builtin # builtin model that normalizes all metrics from the default /s to /hr + kind: builtin # builtin model that normalizes all metrics from the default /s to /hr + path: '' # Single observation graph: backend: # an advanced grouping node diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index abac7298a..a31f625a3 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -5,8 +5,10 @@ tags: complexity: simple category: device config: - pipeline: - - sci-coefficient + models: + - name: sci-coefficient # a model that returns an embodied value given the sci embodied attribution equation. + kind: builtin + path: '' graph: rasp-pi: model: sci-coefficient diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index e0abf6c63..21b622f7e 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -7,13 +7,17 @@ tags: config: models: - name: sci-m # a model that calculates m from te, tir, el, rr and rtor - path: builtin + kind: builtin + path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + kind: builtin + path: '' - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp - path: builtin + kind: builtin + path: '' - name: sci # sums SCI components and converts to f.unit - path: builtin + kind: builtin + path: '' graph: front-end: pipeline: diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index b268b1776..abab2aae9 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -7,11 +7,14 @@ tags: config: models: - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + kind: builtin + path: '' - name: wattime - path: builtin + kind: builtin + path: '' - name: sci - path: builtin + kind: builtin + path: '' graph: DenseNet: # an advanced grouping node pipeline: diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 9e0132edc..6f50f212b 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -7,17 +7,23 @@ tags: config: models: - name: switch # a model that returns an embodied value given the sci embodied attribution equation. - path: plugin + kind: plugin + path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor - path: builtin + kind: builtin + path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - path: builtin + kind: builtin + path: '' - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp - path: builtin + kind: builtin + path: '' - name: server-energy # average power -> energy in kwh - path: plugin + kind: plugin + path: '' - name: sci - path: builtin + kind: builtin + path: '' graph: layer-3-switch: # an advanced grouping node pipeline: From ec09df72bce1c4b69fa4c44b83839347fb22b0ff Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 11:10:06 +0100 Subject: [PATCH 085/199] add verbosity flag --- impls/aveva.yaml | 6 +++++- impls/dow_msft.yaml | 9 +++++++-- impls/farm-insights.yaml | 1 + impls/msft-green-ai.yaml | 3 +++ impls/ntt-data-on-premise.yaml | 6 +++++- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 61ce4ec10..756f4ef63 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -13,16 +13,20 @@ config: kind: plugin path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - kind: builtin + kind: builtin + verbose: false path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor. kind: builtin + verbose: false path: '' - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp kind: builtin + verbose: false path: '' - name: sci # sums SCI components and converts to f.unit kind: builtin + verbose: false path: '' graph: pc: diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index cc0f9528a..0cd61d85d 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -8,21 +8,26 @@ config: models: - name: tdp-curve # a model that returns an embodied value given the sci embodied attribution equation. kind: builtin + verbose: false path: '' - name: sci-mem # a model that calculates a carbon value for memory kind: plugin path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin + verbose: false path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin + verbose: false path: '' - name: sci-sum - kind: builtin # a model that knows to sum the carbon values for cpu and memory before calculating total SCI + kind: builtin + verbose: false # a model that knows to sum the carbon values for cpu and memory before calculating total SCI path: '' - name: functional-unit - kind: builtin # builtin model that normalizes all metrics from the default /s to /hr + kind: builtin + verbose: false # builtin model that normalizes all metrics from the default /s to /hr path: '' # Single observation graph: diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index a31f625a3..3e817a83e 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -8,6 +8,7 @@ config: models: - name: sci-coefficient # a model that returns an embodied value given the sci embodied attribution equation. kind: builtin + verbose: false path: '' graph: rasp-pi: diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index abab2aae9..034d0adf6 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -8,12 +8,15 @@ config: models: - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin + verbose: false path: '' - name: wattime kind: builtin + verbose: false path: '' - name: sci kind: builtin + verbose: false path: '' graph: DenseNet: # an advanced grouping node diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 6f50f212b..8b356d0d1 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -11,18 +11,22 @@ config: path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin + verbose: false path: '' - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m - kind: builtin + kind: builtin + verbose: false path: '' - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp kind: builtin + verbose: false path: '' - name: server-energy # average power -> energy in kwh kind: plugin path: '' - name: sci kind: builtin + verbose: false path: '' graph: layer-3-switch: # an advanced grouping node From 5584bf83eb9affd7c6ee1a976c05f59ca445a8b7 Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 12:02:32 +0100 Subject: [PATCH 086/199] consistent model naming --- impls/accenture.yaml | 49 ++++++++++++++++++++++------------ impls/aveva.yaml | 8 +++--- impls/dow_msft.yaml | 48 +++++++++++++++------------------ impls/ntt-data-on-premise.yaml | 42 ++++++++++++++--------------- 4 files changed, 79 insertions(+), 68 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index b71467d6b..ffc228de5 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -6,31 +6,41 @@ config: - name: add-obs # a model that just copies some values into every observation. kind: builtin path: '' - - name: teads-curve + - name: teads-cpu kind: builtin + verbose: false + path: '' + - name: teads-mem + kind: builtin + verbose: false path: '' - name: pue kind: builtin + verbose: false path: '' config: pue: 1.125 - - name: sci-m + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin + verbose: false path: '' - - name: sci-c + - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin + verbose: false path: '' - - name: sci + - name: sci # a model that sums sci-o + sci-m kind: builtin - path: '' + verbose: false + path: '' graph: vm: pipeline: - add-obs # add common values to every observertion - - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - teads-cpu # converts cpu-util to energy based on a tdp and a built in set of coeff. + - teads-mem # converts ram-util to energy based on a tdp and a built in set of coeff. - pue # multiplies every energy by a pue coeff. - - sci-m # adds embodied to the observeation. - - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci-m # adds embodied to the observation. + - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. - sci # calculates sci by dividing carbon by `r` config: sci-m: @@ -39,7 +49,7 @@ graph: el: 126144000 rr: 1 tor: 1 - teads-curve: + teads-cpu: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. @@ -98,10 +108,11 @@ graph: db: pipeline: - add-obs # add common values to every observertion - - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - teads-cpu # converts cpu-util to energy based on a tdp and a built in set of coeff. + - teads-mem # converts ram-util to energy - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observeation. - - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. - sci # calculates sci by dividing carbon by `r` config: sci-m: @@ -110,7 +121,7 @@ graph: el: 126144000 rr: 1 tor: 1 - teads-curve: + teads-cpu: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. @@ -125,10 +136,11 @@ graph: monitoring: pipeline: - add-obs # add common values to every observertion - - teads-curve # converts cpu-util to energy based on a tdp and a built in set of coeff. + - teads-cpu # converts cpu-util to energy + - teads-mem # conmverts ram-util to energy - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observeation. - - sci-c # calculates carbon for this obervation (energy * grid-ci) + embodied. + - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. - sci # calculates sci by dividing carbon by `r` config: sci-m: @@ -137,7 +149,7 @@ graph: el: 126144000 rr: 1 tor: 1 - teads-curve: + teads-cpu: tdp: ??? # what's the TDP for this server add-obs: grid-ci: 350.861 # Just copies any values under here to the observation as is. @@ -150,6 +162,9 @@ graph: cpu-util: 20 ram-util: 0 app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions - # NOTE - There is currently no way to model this in the current infra (this is part of the total, but needs the total to know it's value :/) + pipeline: + - add-obs config: - sci: 1053.94 + add-obs: + parameter: sci # parameter to add value to + value: 1053.94 # value to add diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 756f4ef63..3ffd6a017 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -9,10 +9,10 @@ config: - name: requests scale-factor: 500 # divide SCi per hour by this to get SCI per request models: - - name: sci-aveva # a model that takes in power observations and returns the necessary inputs to sci-m. + - name: sci-aveva # a model that takes in power observations and returns e. kind: plugin path: '' - - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin verbose: false path: '' @@ -31,13 +31,13 @@ config: graph: pc: config: - sci-c: + sci-m: te: 350 # kgCO2eq tir: 31536000 # 1 year in seconds el: 157680000 # 5 years in seconds rr: 1 tor: 1 - sci-m: + sci-o: i: 474.8 #gCo2/kWh observations: series: diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 0cd61d85d..7c36112db 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -6,37 +6,33 @@ tags: category: cloud config: models: - - name: tdp-curve # a model that returns an embodied value given the sci embodied attribution equation. + - name: teads-cpu # a model that returns an embodied value given the sci embodied attribution equation. kind: builtin verbose: false path: '' - - name: sci-mem # a model that calculates a carbon value for memory + - name: teads-mem # a model that calculates a carbon value for memory kind: plugin path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin verbose: false path: '' - - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin verbose: false - path: '' - - name: sci-sum - kind: builtin - verbose: false # a model that knows to sum the carbon values for cpu and memory before calculating total SCI path: '' - - name: functional-unit + - name: sci # a model that sums sci-o + sci-m kind: builtin - verbose: false # builtin model that normalizes all metrics from the default /s to /hr - path: '' + verbose: false + path: '' # Single observation graph: backend: # an advanced grouping node pipeline: - - teads-curve # tdp & cpu -> energy - - sci-mem # calculates energy used by memory as component of sci-m + - teads-cpu # tdp & cpu -> energy + - teads-mem # calculates energy used by memory as component of sci-m - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-e # energy & grid-carbon-intensity & embodied -> carbon - sci # add cpu and memory components and convert to f.unit config: vendor: azure @@ -44,10 +40,10 @@ graph: children: tiger-database: # a leaf component config: - teads-curve: + teads-cpu: processor: Intel-xeon-platinum-8380 tdp: 270 - sci-mem: + teads-mem: mem_allocation: 32 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -56,7 +52,7 @@ graph: el: 94608000 # 3 years in seconds rr: 1 tor: 8 - sci-c: + sci-e: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -64,14 +60,14 @@ graph: observations: series: timestamp: 2023-07-06T00:00 - cpu: 17.12 + cpu_util: 17.12 ram: 19.375 # % of available tiger-api: # a leaf component config: - teads-curve: + teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 - sci-mem: + teads-mem: mem_allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -80,7 +76,7 @@ graph: el: 94608000 # 3 years in seconds rr: 1 tor: 8 - sci-c: + sci-e: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -93,10 +89,10 @@ graph: memory_util: 70 # % of total neo4j-database: # a leaf component config: - teads-curve: + teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 270 - sci-mem: + teads-mem: mem_allocation: 32 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -105,7 +101,7 @@ graph: el: 94608000 # 3 years in seconds rr: 2 tor: 64 - sci-c: + sci-e: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -118,10 +114,10 @@ graph: memory_util: 19.375 neo4j-api: # a leaf component config: - teads-curve: + teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 - sci-mem: + teads-mem: mem_allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -130,7 +126,7 @@ graph: el: 94608000 # 3 years in seconds rr: 2 tor: 64 - sci-c: + sci-e: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 8b356d0d1..24dd3294e 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -13,18 +13,18 @@ config: kind: builtin verbose: false path: '' - - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin verbose: false path: '' - - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp kind: builtin verbose: false path: '' - - name: server-energy # average power -> energy in kwh + - name: server # average power -> energy in kwh kind: plugin path: '' - - name: sci + - name: sci # sums sci-o and sci-m kind: builtin verbose: false path: '' @@ -33,9 +33,9 @@ graph: pipeline: - switch - pue - - teads-curve + - teads-cpu - sci-m - - sci-c + - sci-o - sci config: switch: @@ -49,7 +49,7 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 457 # gCO2/kwh sci: time: hour @@ -62,11 +62,11 @@ graph: five-min-output-rate: 100 layer-2-switch: pipeline: - - switch-model - - pue-model - - teads-curve # tdp & cpu -> energy + - switch + - pue + - teads-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: switch: @@ -80,7 +80,7 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 457 # gCO2/kwh sci: time: hour @@ -122,9 +122,9 @@ graph: five-min-output-rate: 100 db-servers: pipeline: - - server-energy # average power -> energy in kwh + - server # average power -> energy in kwh - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: sci-m: @@ -133,7 +133,7 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 457 # gCO2/kwh sci: time: hour @@ -149,9 +149,9 @@ graph: sampling_period: 0.0000001 #seconds app-servers: pipeline: - - server-energy # average power -> energy in kwh + - server # average power -> energy in kwh - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: sci-m: @@ -160,7 +160,7 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 457 # gCO2/kwh sci: time: hour @@ -176,9 +176,9 @@ graph: sampling_period: 0.0000001 #seconds web-servers: pipeline: - - server-energy # average power -> energy in kwh + - server # average power -> energy in kwh - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: sci-m: @@ -187,7 +187,7 @@ graph: el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 457 # gCO2/kwh sci: time: hour From c91b041031bbe7552331dfee24fddb3e6cb8bab5 Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 12:10:34 +0100 Subject: [PATCH 087/199] rname model --- impls/msft-green-ai.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index 034d0adf6..e5a526a4d 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -6,7 +6,7 @@ tags: category: cloud config: models: - - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin verbose: false path: '' @@ -21,12 +21,12 @@ config: graph: DenseNet: # an advanced grouping node pipeline: - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - watttime - add-obs - sci config: - sci-c: + sci-o: processor: nvidia-t4-nc16as-v3 i: 1 # data not provided in case study m: 0 @@ -40,12 +40,12 @@ graph: energy: 17.97 InceptionV3: # an advanced grouping node pipeline: - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon - watttime - add-obs - sci config: - sci-c: + sci-o: processor: nvidia-t4-nc16as-v3 i: 1 # data not provided in case study m: 0 From 72ba2542521f85c5fa39083d1dcb3443047f3f99 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 5 Sep 2023 17:17:19 +0400 Subject: [PATCH 088/199] lib: in boavizta tune calculation params. --- src/lib/boavizta.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/boavizta.ts b/src/lib/boavizta.ts index 7b3a3b606..d099d518c 100644 --- a/src/lib/boavizta.ts +++ b/src/lib/boavizta.ts @@ -122,7 +122,7 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { observation: KeyValuePair ): Promise { if ( - 'datetime' in observation && + 'timestamp' in observation && 'duration' in observation && this.metricType in observation ) { @@ -131,8 +131,8 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { observation[this.metricType] ); const usage = (await this.fetchData(usageInput)) as IBoaviztaUsageSCI; - const result = {...usage}; - return result; + + return usage; } else { throw new Error('Invalid Input: Invalid observations parameter'); } From 6fad04f9c2bef772a9463b9592a712ec365f3482 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 5 Sep 2023 17:18:08 +0400 Subject: [PATCH 089/199] scripts: tune rimpl. --- scripts/{rimpl-poc.ts => rimpl.ts} | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) rename scripts/{rimpl-poc.ts => rimpl.ts} (75%) diff --git a/scripts/rimpl-poc.ts b/scripts/rimpl.ts similarity index 75% rename from scripts/rimpl-poc.ts rename to scripts/rimpl.ts index 432cf095d..2faa3df99 100644 --- a/scripts/rimpl-poc.ts +++ b/scripts/rimpl.ts @@ -15,10 +15,11 @@ const runPipelineComputer = async ( const observatory = new Observatory(observations); for (const model of pipeline) { + // better to init model instance here, and pass to observatory await observatory.doInvestigationsWith(model, params); } - return observatory.getObservationsData(); + return observatory.getObservedImpact(); }; /** @@ -40,10 +41,11 @@ const calculateImpactsBasedOnGraph = core_units: 24, }; - const result = await runPipelineComputer(observations, params, pipeline); - graphs[service].observations = result; + const impact = await runPipelineComputer(observations, params, pipeline); - return graphs; + graphs[service].impact = impact; + + return graphs[service]; }; /** @@ -51,7 +53,7 @@ const calculateImpactsBasedOnGraph = * 2. Opens yaml file as an object. * 3. Saves processed object as an yaml file. * @todo Apply logic here. - * @example run following command `npx ts-node scripts/rimpl-poc.ts --impl ./test.yml --ompl ./result.yml` + * @example run following command `npx ts-node scripts/rimpl.ts --impl ./test.yml --ompl ./result.yml` */ const rimplPOCScript = async () => { try { @@ -62,18 +64,16 @@ const rimplPOCScript = async () => { throw new Error('No graph data found.'); } - const graphs = impl.graph; + const graph = impl.graph; // calculate for single graph - const services = Object.keys(graphs).splice(0); + const services = Object.keys(graph); - const graphsUpdated = await Promise.all( - services.map(calculateImpactsBasedOnGraph(graphs)) + const graphsWithImpacts = await Promise.all( + services.map(calculateImpactsBasedOnGraph(graph)) ); - impl.graph = graphsUpdated[0]; - - console.log(impl.graph); + console.log(graphsWithImpacts); if (!outputPath) { console.log(JSON.stringify(impl)); From cb2120178c176ce0424ebad62d554afe9ac7d375 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 5 Sep 2023 17:28:06 +0400 Subject: [PATCH 090/199] scripts: simplify rimpl code structure. --- scripts/rimpl.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index 2faa3df99..610f8539d 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -64,16 +64,12 @@ const rimplPOCScript = async () => { throw new Error('No graph data found.'); } - const graph = impl.graph; - // calculate for single graph - const services = Object.keys(graph); + const services = Object.keys(impl.graph); - const graphsWithImpacts = await Promise.all( - services.map(calculateImpactsBasedOnGraph(graph)) - ); + await Promise.all(services.map(calculateImpactsBasedOnGraph(impl.graph))); - console.log(graphsWithImpacts); + console.log(impl); if (!outputPath) { console.log(JSON.stringify(impl)); From ebe717598b014e6a7231317a37aead729fbdaa10 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 18:59:24 +0530 Subject: [PATCH 091/199] Moving boavizta to directory Signed-off-by: Gnanakeethan Balasubramaniam --- .../index.test.ts} | 8 +- src/lib/{boavizta.ts => boavizta/index.ts} | 162 +++++++++--------- 2 files changed, 85 insertions(+), 85 deletions(-) rename src/lib/{boavizta.test.ts => boavizta/index.test.ts} (96%) rename src/lib/{boavizta.ts => boavizta/index.ts} (97%) diff --git a/src/lib/boavizta.test.ts b/src/lib/boavizta/index.test.ts similarity index 96% rename from src/lib/boavizta.test.ts rename to src/lib/boavizta/index.test.ts index 5a0ff6c8b..4e188c664 100644 --- a/src/lib/boavizta.test.ts +++ b/src/lib/boavizta/index.test.ts @@ -1,9 +1,9 @@ import {describe, expect, jest, test} from '@jest/globals'; -import {BoaviztaCloudImpactModel, BoaviztaCpuImpactModel} from './boavizta'; +import {BoaviztaCloudImpactModel, BoaviztaCpuImpactModel} from './index'; import axios from 'axios'; -import * as PROVIDERS from '../__mocks__/boavizta/providers.json'; -import * as COUNTRIES from '../__mocks__/boavizta/countries.json'; -import * as INSTANCE_TYPES from '../__mocks__/boavizta/instance_types.json'; +import * as PROVIDERS from '../../__mocks__/boavizta/providers.json'; +import * as COUNTRIES from '../../__mocks__/boavizta/countries.json'; +import * as INSTANCE_TYPES from '../../__mocks__/boavizta/instance_types.json'; jest.mock('axios'); const mockAxios = axios as jest.Mocked; diff --git a/src/lib/boavizta.ts b/src/lib/boavizta/index.ts similarity index 97% rename from src/lib/boavizta.ts rename to src/lib/boavizta/index.ts index 663a78637..120a900c5 100644 --- a/src/lib/boavizta.ts +++ b/src/lib/boavizta/index.ts @@ -1,31 +1,31 @@ import axios from 'axios'; -import {IImpactModelInterface} from './interfaces'; -import {CONFIG} from '../config'; +import {IImpactModelInterface} from '../interfaces'; +import {CONFIG} from '../../config'; import { BoaviztaInstanceTypes, IBoaviztaUsageSCI, KeyValuePair, -} from '../types/boavizta'; +} from '../../types/boavizta'; -export {IImpactModelInterface} from './interfaces'; +export {IImpactModelInterface} from '../interfaces'; export { BoaviztaInstanceTypes, IBoaviztaUsageSCI, KeyValuePair, -} from '../types/boavizta'; +} from '../../types/boavizta'; -const {BOAVIZTA} = CONFIG; -const {CPU_IMPACT_MODEL_ID, CLOUD_IMPACT_MODEL_ID} = BOAVIZTA; +const {BOAVIZTA: Index} = CONFIG; +const {CPU_IMPACT_MODEL_ID, CLOUD_IMPACT_MODEL_ID} = Index; abstract class BoaviztaImpactModel implements IImpactModelInterface { - protected authCredentials: object | undefined; name: string | undefined; sharedParams: object | undefined = undefined; metricType: 'cpu' | 'gpu' | 'ram' = 'cpu'; expectedLifespan = 4; + protected authCredentials: object | undefined; authenticate(authParams: object) { this.authCredentials = authParams; @@ -40,9 +40,6 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { return this; } - //abstract subs to make compatibility with base interface. allows configure to be defined in base class - protected abstract captureStaticParams(staticParams: object): any; - //defines the model identifier abstract modelIdentifier(): string; @@ -57,30 +54,6 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { return Object.values(countries.data); } - // extracts information from Boavizta API response to return the impact in the format required by IMPL - protected formatResponse(data: any): KeyValuePair { - let m = 0; - let e = 0; - - if ('impacts' in data) { - // manufacture impact is in kgCO2eq, convert to gCO2eq - m = data['impacts']['gwp']['manufacture'] * 1000; - // use impact is in J , convert to kWh. - // 1,000,000 J / 3600 = 277.7777777777778 Wh. - // 1 MJ / 3.6 = 0.278 kWh - e = data['impacts']['pe']['use'] / 3.6; - } else if ('gwp' in data && 'pe' in data) { - // manufacture impact is in kgCO2eq, convert to gCO2eq - m = data['gwp']['manufacture'] * 1000; - // use impact is in J , convert to kWh. - // 1,000,000 J / 3600 = 277.7777777777778 Wh. - // 1 MJ / 3.6 = 0.278 kWh - e = data['pe']['use'] / 3.6; - } - - return {embodied_emission: m, energy: e}; - } - // converts the usage from IMPL input to the format required by Boavizta API. transformToBoaviztaUsage(duration: any, metric: any) { // duration is in seconds, convert to hours @@ -115,6 +88,42 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { } } + // Adds location to usage if location is defined in sharedParams + addLocationToUsage(usageRaw: KeyValuePair) { + if (this.sharedParams !== undefined && 'location' in this.sharedParams) { + usageRaw['usage_location'] = this.sharedParams['location']; + } + + return usageRaw; + } + + //abstract subs to make compatibility with base interface. allows configure to be defined in base class + protected abstract captureStaticParams(staticParams: object): any; + + // extracts information from Boavizta API response to return the impact in the format required by IMPL + protected formatResponse(data: any): KeyValuePair { + let m = 0; + let e = 0; + + if ('impacts' in data) { + // manufacture impact is in kgCO2eq, convert to gCO2eq + m = data['impacts']['gwp']['manufacture'] * 1000; + // use impact is in J , convert to kWh. + // 1,000,000 J / 3600 = 277.7777777777778 Wh. + // 1 MJ / 3.6 = 0.278 kWh + e = data['impacts']['pe']['use'] / 3.6; + } else if ('gwp' in data && 'pe' in data) { + // manufacture impact is in kgCO2eq, convert to gCO2eq + m = data['gwp']['manufacture'] * 1000; + // use impact is in J , convert to kWh. + // 1,000,000 J / 3600 = 277.7777777777778 Wh. + // 1 MJ / 3.6 = 0.278 kWh + e = data['pe']['use'] / 3.6; + } + + return {embodied_emission: m, energy: e}; + } + // converts the usage to the format required by Boavizta API. protected async calculateUsageForObservation( observation: KeyValuePair @@ -135,26 +144,17 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { throw new Error('Invalid Input: Invalid observations parameter'); } } - - // Adds location to usage if location is defined in sharedParams - addLocationToUsage(usageRaw: KeyValuePair) { - if (this.sharedParams !== undefined && 'location' in this.sharedParams) { - usageRaw['usage_location'] = this.sharedParams['location']; - } - - return usageRaw; - } } export class BoaviztaCpuImpactModel extends BoaviztaImpactModel implements IImpactModelInterface { - private readonly componentType = 'cpu'; sharedParams: object | undefined = undefined; public name: string | undefined; public verbose = false; public allocation = 'LINEAR'; + private readonly componentType = 'cpu'; constructor() { super(); @@ -166,6 +166,22 @@ export class BoaviztaCpuImpactModel return CPU_IMPACT_MODEL_ID; } + async fetchData(usageData: object | undefined): Promise { + if (this.sharedParams === undefined) { + throw new Error('Improper configure: Missing configuration parameters'); + } + + const dataCast = this.sharedParams as KeyValuePair; + dataCast['usage'] = usageData; + + const response = await axios.post( + `https://api.boavizta.org/v1/component/${this.componentType}?verbose=${this.verbose}&allocation=${this.allocation}`, + dataCast + ); + + return this.formatResponse(response.data); + } + protected async captureStaticParams(staticParams: object): Promise { if ('verbose' in staticParams) { this.verbose = (staticParams.verbose as boolean) ?? false; @@ -187,22 +203,6 @@ export class BoaviztaCpuImpactModel return this.sharedParams; } - - async fetchData(usageData: object | undefined): Promise { - if (this.sharedParams === undefined) { - throw new Error('Improper configure: Missing configuration parameters'); - } - - const dataCast = this.sharedParams as KeyValuePair; - dataCast['usage'] = usageData; - - const response = await axios.post( - `https://api.boavizta.org/v1/component/${this.componentType}?verbose=${this.verbose}&allocation=${this.allocation}`, - dataCast - ); - - return this.formatResponse(response.data); - } } export class BoaviztaCloudImpactModel @@ -219,26 +219,6 @@ export class BoaviztaCloudImpactModel return CLOUD_IMPACT_MODEL_ID; } - protected async captureStaticParams(staticParams: object) { - if ('verbose' in staticParams) { - this.verbose = (staticParams.verbose as boolean) ?? false; - staticParams.verbose = undefined; - } - // if no valid provider found, throw error - await this.validateProvider(staticParams); - // if no valid instance_type found, throw error - await this.validateInstanceType(staticParams); - // if no valid location found, throw error - await this.validateLocation(staticParams); - if ('expected_lifespan' in staticParams) { - this.expectedLifespan = staticParams.expected_lifespan as number; - } - - this.sharedParams = Object.assign({}, staticParams); - - return this.sharedParams; - } - async validateLocation(staticParamsCast: object) { if ('location' in staticParamsCast) { const location = (staticParamsCast.location as string) ?? 'USA'; @@ -339,4 +319,24 @@ export class BoaviztaCloudImpactModel return this.formatResponse(response.data); } + + protected async captureStaticParams(staticParams: object) { + if ('verbose' in staticParams) { + this.verbose = (staticParams.verbose as boolean) ?? false; + staticParams.verbose = undefined; + } + // if no valid provider found, throw error + await this.validateProvider(staticParams); + // if no valid instance_type found, throw error + await this.validateInstanceType(staticParams); + // if no valid location found, throw error + await this.validateLocation(staticParams); + if ('expected_lifespan' in staticParams) { + this.expectedLifespan = staticParams.expected_lifespan as number; + } + + this.sharedParams = Object.assign({}, staticParams); + + return this.sharedParams; + } } From 83c5abfb3c680339a24f4159d7141276697a480d Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 19:03:52 +0530 Subject: [PATCH 092/199] Remove arbitrary any types Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/boavizta/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/boavizta/index.ts b/src/lib/boavizta/index.ts index 120a900c5..35e0b07ef 100644 --- a/src/lib/boavizta/index.ts +++ b/src/lib/boavizta/index.ts @@ -55,7 +55,7 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { } // converts the usage from IMPL input to the format required by Boavizta API. - transformToBoaviztaUsage(duration: any, metric: any) { + transformToBoaviztaUsage(duration: number, metric: number) { // duration is in seconds, convert to hours // metric is between 0 and 1, convert to percentage let usageInput: KeyValuePair = { @@ -98,10 +98,10 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { } //abstract subs to make compatibility with base interface. allows configure to be defined in base class - protected abstract captureStaticParams(staticParams: object): any; + protected abstract captureStaticParams(staticParams: object): object; // extracts information from Boavizta API response to return the impact in the format required by IMPL - protected formatResponse(data: any): KeyValuePair { + protected formatResponse(data: KeyValuePair): KeyValuePair { let m = 0; let e = 0; From 37377f9b0c24443ec59cde17a928b4ff2ff81428 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 08:27:33 +0530 Subject: [PATCH 093/199] Teads CPU Model Fixes #101 Signed-off-by: Gnanakeethan Balasubramaniam --- package.json | 2 +- src/lib/teads-cpu/index.test.ts | 73 +++++++++++++++++ src/lib/teads-cpu/index.ts | 134 ++++++++++++++++++++++++++++++++ yarn.lock | 32 ++++---- 4 files changed, 224 insertions(+), 17 deletions(-) create mode 100644 src/lib/teads-cpu/index.test.ts create mode 100644 src/lib/teads-cpu/index.ts diff --git a/package.json b/package.json index 83aa069c4..b7cf037fb 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "ts-command-line-args": "^2.5.1", "ts-sync-request": "^1.4.1", "typescript": "^5.1.6", - "typescript-cubic-spline": "*" + "typescript-cubic-spline": "^1.0.1" }, "devDependencies": { "@babel/core": "7.22.10", diff --git a/src/lib/teads-cpu/index.test.ts b/src/lib/teads-cpu/index.test.ts new file mode 100644 index 000000000..557733dd6 --- /dev/null +++ b/src/lib/teads-cpu/index.test.ts @@ -0,0 +1,73 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {TeadsCPUModel} from './index'; + +jest.setTimeout(30000); + +describe('teads:configure test', () => { + test('initialize with params', async () => { + const impactModel = new TeadsCPUModel(); + await impactModel.configure('test', { + tdp: 200, + }); + await expect( + impactModel.calculate([ + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z' + }, + ]) + ).resolves.toStrictEqual([ + { + energy: 0.15, + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + }, + ]); + }); + test('teads:initialize with params', async () => { + const impactModel = new TeadsCPUModel(); + await impactModel.configure('test', { + tdp: 300, + }); + await expect( + impactModel.calculate([ + { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', + }, + ]) + ).resolves.toStrictEqual([ + { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', + energy: 0.096, + }, + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + energy: 0.225, + }, + { + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', + energy: 0.306, + }, + ]); + }); +}); diff --git a/src/lib/teads-cpu/index.ts b/src/lib/teads-cpu/index.ts new file mode 100644 index 000000000..53d8f36ea --- /dev/null +++ b/src/lib/teads-cpu/index.ts @@ -0,0 +1,134 @@ +import {IImpactModelInterface} from '../interfaces'; +import Spline from 'typescript-cubic-spline'; +import {KeyValuePair} from '../../types/boavizta'; + +export class TeadsCPUModel implements IImpactModelInterface { + // Defined for compatibility. Not used in TEADS. + authParams: object | undefined; + // name of the data source + name: string | undefined; + // tdp of the chip being measured + tdp: number = 100; + // default power curve provided by the Teads Team + curve: number[] = [0.12, 0.32, 0.75, 1.02]; + // default percentage points + points: number[] = [0, 10, 50, 100]; + // spline interpolation of the power curve + spline: Spline = new Spline(this.points, this.curve); + + /** + * Defined for compatibility. Not used in TEADS. + */ + authenticate(authParams: object): void { + this.authParams = authParams; + } + + /** + * Configures the TEADS Plugin for IEF + * @param {string} name name of the resource + * @param {Object} staticParams static parameters for the resource + * @param {number} staticParams.tdp Thermal Design Power in Watts + */ + async configure( + name: string, + staticParams: object | undefined = undefined + ): Promise { + this.name = name; + + if (staticParams === undefined) { + throw new Error('Required Parameters not provided'); + } + + if ('tdp' in staticParams) { + this.tdp = staticParams?.tdp as number; + } else { + throw new Error('`tdp` Thermal Design Power not provided. Can not compute energy.'); + } + + if ('curve' in staticParams) { + this.curve = staticParams?.curve as number[]; + this.spline = new Spline(this.points, this.curve); + } + + + return this; + } + + /** + * Calculate the total emissions for a list of observations + * + * Each Observation require: + * @param {Object[]} observations ISO 8601 datetime string + * @param {string} observations[].datetime ISO 8601 datetime string + * @param {number} observations[].duration observation duration in seconds + * @param {number} observations[].cpu percentage cpu usage + */ + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + const results: KeyValuePair[] = []; + if (Array.isArray(observations)) { + observations.forEach((observation: KeyValuePair) => { + const e = this.calculateEnergy(observation); + results.push({ + energy: e, + ...observation + }); + }); + } + + return results; + } + + + /** + * Calculates the energy consumption for a single observation + * requires + * + * duration: duration of the observation in seconds + * cpu: cpu usage in percentage + * datetime: ISO 8601 datetime string + * + * Uses a spline method on the teads cpu wattage data + */ + private calculateEnergy(observation: KeyValuePair) { + if ( + !('duration' in observation) || + !('cpu' in observation) || + !('datetime' in observation) + ) { + throw new Error( + 'Required Parameters duration,cpu,datetime not provided for observation' + ); + } + + // duration is in seconds + const duration = observation['duration']; + + // convert cpu usage to percentage + const cpu = observation['cpu'] * 100.0; + + const wattage = this.spline.at(cpu) * this.tdp; + // duration is in seconds + // wattage is in watts + // eg: 30W x 300s = 9000 J + // 1 Wh = 3600 J + // 9000 J / 3600 = 2.5 Wh + // J / 3600 = Wh + // 2.5 Wh / 1000 = 0.0025 kWh + // Wh / 1000 = kWh + // (wattage * duration) / (seconds in an hour) / 1000 = kWh + return (wattage * duration) / 3600 / 1000; + } + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'teads.cpu'; + } +} diff --git a/yarn.lock b/yarn.lock index 1e07e2962..4b3ab4b1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1404,9 +1404,9 @@ aws-sdk-mock@^5.1.0: traverse "^0.6.6" aws-sdk@^2.1231.0, aws-sdk@^2.910.0, aws-sdk@^2.927.0: - version "2.1448.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1448.0.tgz#13d961afd7c4498d5b4af561118cd80eadee078d" - integrity sha512-15r8YKdAAXLgtPfQTAzD/qNxxgndF1SMEw6F+mXvLxZrLkG4BHnzOW2g2sQc3C2qG5yqCb3K6R+OrjbvGOAmdQ== + version "2.1449.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1449.0.tgz#ac7d8bdb52cdad8bafe0ae3e4f0698c939ae0cb6" + integrity sha512-3AXg7S8mhOhUQDaqE8CpbkvRXCvVhzoLAGJ0Ngv7a6/m3JoZkGx7115HHcbiIqR13/AtMyid8MjIVHP0DPdwHw== dependencies: buffer "4.9.2" events "1.1.1" @@ -1618,9 +1618,9 @@ camelcase@^6.2.0, camelcase@^6.3.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001517: - version "1.0.30001524" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001524.tgz#1e14bce4f43c41a7deaeb5ebfe86664fe8dadb80" - integrity sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA== + version "1.0.30001525" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001525.tgz#d2e8fdec6116ffa36284ca2c33ef6d53612fe1c8" + integrity sha512-/3z+wB4icFt3r0USMwxujAqRvaD/B7rvGTsKhbhSQErVrJvkZCLhgNLJxU8MevahQVH6hCU9FsHdNUFbiwmE7Q== case@^1.6.3: version "1.6.3" @@ -2035,9 +2035,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.477: - version "1.4.506" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.506.tgz#59f64a211102db4c3ebae2f39cc0e8e1b12b3a07" - integrity sha512-xxGct4GPAKSRlrLBtJxJFYy74W11zX6PO9GyHgl/U+2s3Dp0ZEwAklDfNHXOWcvH7zWMpsmgbR0ggEuaYAVvHA== + version "1.4.507" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.507.tgz#e99d87fcfaa6887edc18edc5dd46835df1a71f22" + integrity sha512-brvPFnO1lu3UYBpBht2qWw9qqhdG4htTjT90/9oOJmxQ77VvTxL9+ghErFqQzgj7n8268ONAmlebqjBR/S+qgA== emittery@^0.13.1: version "0.13.1" @@ -4782,9 +4782,9 @@ spdx-license-ids@^3.0.0: integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== spdx-license-list@^6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/spdx-license-list/-/spdx-license-list-6.6.0.tgz#403e1807fd87ef2b4781677bc91896d23eaed4ea" - integrity sha512-vLwdf9AWgdJQmG8cai2HKfkInFsliKaCCOwXmdVonClIhdURTX61KdDOoXC1qcQ7gDaZj+CUTcrMJeAdnCtrKA== + version "6.7.0" + resolved "https://registry.yarnpkg.com/spdx-license-list/-/spdx-license-list-6.7.0.tgz#dd8c6aba00e7a3f9549e473d0be2b83c4cae081f" + integrity sha512-NFqavuJxNsHdwSy/0PjmUpcc76XwlmHQRPjVVtE62qmSLhKJUnzSvJCkU9nrY6TsChfGU1xqGePriBkNtNRMiA== sprintf-js@~1.0.2: version "1.0.3" @@ -5196,7 +5196,7 @@ types-ramda@^0.29.4: dependencies: ts-toolbelt "^9.6.0" -typescript-cubic-spline@*: +typescript-cubic-spline@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/typescript-cubic-spline/-/typescript-cubic-spline-1.0.1.tgz#340ef0f4f068fa28be0a0c3b4484e11f55b40610" integrity sha512-h1dvp2YK66CU/p1thrBjQ61/CBSmkZw4Uh28ay8v9UjAA0gQdCQ+Etkie9sdj74WjYuYHEom5qLHjrci1IVMPA== @@ -5207,9 +5207,9 @@ typescript@^5.1.6: integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== typescript@next: - version "5.3.0-dev.20230830" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.0-dev.20230830.tgz#1d2c397c3c01250f8af9e20ceb1078fa834837ae" - integrity sha512-Blg+ZXlQ4QmC958EKLuEPr82sxizVZhc70X6mWFQjru8pOgBz1j6rTM7KGQhFdb6/HsdT5BSV+BcUMVO6m7v2w== + version "5.3.0-dev.20230831" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.0-dev.20230831.tgz#1df60990d26d18bff9bd0b4aaf38decb2017788f" + integrity sha512-rF6KQ0q/AuevKbtHjFEZ7dXRGv0t6bIcmo2K1ypmwZmnqwcxcvDfHxBjQM0u3v//5rpHiqasPTC8nB7SMEwvOA== typescript@~3.9.10: version "3.9.10" From 99113789de15d47bb5c495b6df0d2a59eec4e075 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 30 Aug 2023 10:50:56 +0530 Subject: [PATCH 094/199] Linter fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-cpu/index.test.ts | 2 +- src/lib/teads-cpu/index.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/teads-cpu/index.test.ts b/src/lib/teads-cpu/index.test.ts index 557733dd6..0ae37bb47 100644 --- a/src/lib/teads-cpu/index.test.ts +++ b/src/lib/teads-cpu/index.test.ts @@ -14,7 +14,7 @@ describe('teads:configure test', () => { { duration: 3600, cpu: 0.5, - datetime: '2021-01-01T00:00:00Z' + datetime: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ diff --git a/src/lib/teads-cpu/index.ts b/src/lib/teads-cpu/index.ts index 53d8f36ea..b616a19d2 100644 --- a/src/lib/teads-cpu/index.ts +++ b/src/lib/teads-cpu/index.ts @@ -8,7 +8,7 @@ export class TeadsCPUModel implements IImpactModelInterface { // name of the data source name: string | undefined; // tdp of the chip being measured - tdp: number = 100; + tdp = 100; // default power curve provided by the Teads Team curve: number[] = [0.12, 0.32, 0.75, 1.02]; // default percentage points @@ -42,7 +42,9 @@ export class TeadsCPUModel implements IImpactModelInterface { if ('tdp' in staticParams) { this.tdp = staticParams?.tdp as number; } else { - throw new Error('`tdp` Thermal Design Power not provided. Can not compute energy.'); + throw new Error( + '`tdp` Thermal Design Power not provided. Can not compute energy.' + ); } if ('curve' in staticParams) { @@ -50,7 +52,6 @@ export class TeadsCPUModel implements IImpactModelInterface { this.spline = new Spline(this.points, this.curve); } - return this; } @@ -75,16 +76,15 @@ export class TeadsCPUModel implements IImpactModelInterface { observations.forEach((observation: KeyValuePair) => { const e = this.calculateEnergy(observation); results.push({ - energy: e, - ...observation - }); + energy: e, + ...observation, + }); }); } return results; } - /** * Calculates the energy consumption for a single observation * requires From 81fa4126d16d75ab54b94571d09d5a9d9924db24 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 30 Aug 2023 15:20:59 +0530 Subject: [PATCH 095/199] Rename the model to TeadsCurveModel Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/{teads-cpu => teads-curve}/index.test.ts | 6 +++--- src/lib/{teads-cpu => teads-curve}/index.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) rename src/lib/{teads-cpu => teads-curve}/index.test.ts (91%) rename src/lib/{teads-cpu => teads-curve}/index.ts (98%) diff --git a/src/lib/teads-cpu/index.test.ts b/src/lib/teads-curve/index.test.ts similarity index 91% rename from src/lib/teads-cpu/index.test.ts rename to src/lib/teads-curve/index.test.ts index 0ae37bb47..2ae13f0b7 100644 --- a/src/lib/teads-cpu/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -1,11 +1,11 @@ import {describe, expect, jest, test} from '@jest/globals'; -import {TeadsCPUModel} from './index'; +import {TeadsCurveModel} from './index'; jest.setTimeout(30000); describe('teads:configure test', () => { test('initialize with params', async () => { - const impactModel = new TeadsCPUModel(); + const impactModel = new TeadsCurveModel(); await impactModel.configure('test', { tdp: 200, }); @@ -27,7 +27,7 @@ describe('teads:configure test', () => { ]); }); test('teads:initialize with params', async () => { - const impactModel = new TeadsCPUModel(); + const impactModel = new TeadsCurveModel(); await impactModel.configure('test', { tdp: 300, }); diff --git a/src/lib/teads-cpu/index.ts b/src/lib/teads-curve/index.ts similarity index 98% rename from src/lib/teads-cpu/index.ts rename to src/lib/teads-curve/index.ts index b616a19d2..b4a788b05 100644 --- a/src/lib/teads-cpu/index.ts +++ b/src/lib/teads-curve/index.ts @@ -2,7 +2,7 @@ import {IImpactModelInterface} from '../interfaces'; import Spline from 'typescript-cubic-spline'; import {KeyValuePair} from '../../types/boavizta'; -export class TeadsCPUModel implements IImpactModelInterface { +export class TeadsCurveModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source From 52ae3a981f8ebdffc29aca68d576f8628e0578b4 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 31 Aug 2023 06:14:05 +0530 Subject: [PATCH 096/199] Simplify calculations & allow modification of the curve for linear interpolation Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index b4a788b05..e0ed422b7 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -47,8 +47,9 @@ export class TeadsCurveModel implements IImpactModelInterface { ); } - if ('curve' in staticParams) { + if ('curve' in staticParams && 'points' in staticParams) { this.curve = staticParams?.curve as number[]; + this.points = staticParams?.points as number[]; this.spline = new Spline(this.points, this.curve); } @@ -69,19 +70,18 @@ export class TeadsCurveModel implements IImpactModelInterface { ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); + } else if (!Array.isArray(observations)) { + throw new Error('Observations must be an array'); } const results: KeyValuePair[] = []; - if (Array.isArray(observations)) { - observations.forEach((observation: KeyValuePair) => { - const e = this.calculateEnergy(observation); - results.push({ - energy: e, - ...observation, - }); + for (const observation of observations) { + const e = this.calculateEnergy(observation); + results.push({ + energy: e, + ...observation, }); } - return results; } @@ -110,9 +110,18 @@ export class TeadsCurveModel implements IImpactModelInterface { const duration = observation['duration']; // convert cpu usage to percentage - const cpu = observation['cpu'] * 100.0; + const cpu = observation['cpu']; + if (cpu < 0 || cpu > 100) { + throw new Error('cpu usage must be between 0 and 100'); + } + + let tdp = this.tdp; + + if ('tdp' in observation) { + tdp = observation['tdp'] as number; + } - const wattage = this.spline.at(cpu) * this.tdp; + const wattage = this.spline.at(cpu) * tdp; // duration is in seconds // wattage is in watts // eg: 30W x 300s = 9000 J From 40568b4ef571c9f3f5fcdbc20f695db044bab97e Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 31 Aug 2023 06:19:55 +0530 Subject: [PATCH 097/199] Fixes for tests to percentage cpu Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.test.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/teads-curve/index.test.ts b/src/lib/teads-curve/index.test.ts index 2ae13f0b7..97486107a 100644 --- a/src/lib/teads-curve/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -13,7 +13,7 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 0.5, + cpu: 50.0, datetime: '2021-01-01T00:00:00Z', }, ]) @@ -21,7 +21,7 @@ describe('teads:configure test', () => { { energy: 0.15, duration: 3600, - cpu: 0.5, + cpu: 50.0, datetime: '2021-01-01T00:00:00Z', }, ]); @@ -35,36 +35,36 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 0.1, + cpu: 10.0, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 0.5, + cpu: 50.0, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 1, + cpu: 100.0, datetime: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 0.1, + cpu: 10.0, datetime: '2021-01-01T00:00:00Z', energy: 0.096, }, { duration: 3600, - cpu: 0.5, + cpu: 50.0, datetime: '2021-01-01T00:00:00Z', energy: 0.225, }, { duration: 3600, - cpu: 1, + cpu: 100.0, datetime: '2021-01-01T00:00:00Z', energy: 0.306, }, From 2a708113cfb6ce663fecbafa7f2689c129a340cb Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 07:34:00 +0530 Subject: [PATCH 098/199] Adding interpolation option Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 37 ++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index e0ed422b7..43bed8225 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -2,6 +2,11 @@ import {IImpactModelInterface} from '../interfaces'; import Spline from 'typescript-cubic-spline'; import {KeyValuePair} from '../../types/boavizta'; +export enum Interpolation { + SPLINE = 'spline', + LINEAR = 'linear', +} + export class TeadsCurveModel implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; @@ -15,6 +20,8 @@ export class TeadsCurveModel implements IImpactModelInterface { points: number[] = [0, 10, 50, 100]; // spline interpolation of the power curve spline: Spline = new Spline(this.points, this.curve); + // interpolation method + interpolation: Interpolation = Interpolation.SPLINE; /** * Defined for compatibility. Not used in TEADS. @@ -53,6 +60,10 @@ export class TeadsCurveModel implements IImpactModelInterface { this.spline = new Spline(this.points, this.curve); } + if ('interpolation' in staticParams) { + this.interpolation = staticParams?.interpolation as Interpolation; + } + return this; } @@ -73,16 +84,17 @@ export class TeadsCurveModel implements IImpactModelInterface { } else if (!Array.isArray(observations)) { throw new Error('Observations must be an array'); } + return observations.map(observation => { + observation['energy'] = this.calculateEnergy(observation); + return observation; + }); + } - const results: KeyValuePair[] = []; - for (const observation of observations) { - const e = this.calculateEnergy(observation); - results.push({ - energy: e, - ...observation, - }); - } - return results; + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'teads.curve'; } /** @@ -133,11 +145,4 @@ export class TeadsCurveModel implements IImpactModelInterface { // (wattage * duration) / (seconds in an hour) / 1000 = kWh return (wattage * duration) / 3600 / 1000; } - - /** - * Returns model identifier - */ - modelIdentifier(): string { - return 'teads.cpu'; - } } From 84f25c0ea1c3ccca019260ef5b48d6fddd5d875d Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 07:59:02 +0530 Subject: [PATCH 099/199] Adding interpolation calculation Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 43bed8225..bb4f451bd 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -35,6 +35,7 @@ export class TeadsCurveModel implements IImpactModelInterface { * @param {string} name name of the resource * @param {Object} staticParams static parameters for the resource * @param {number} staticParams.tdp Thermal Design Power in Watts + * @param {Interpolation} staticParams.interpolation Interpolation method */ async configure( name: string, @@ -133,7 +134,22 @@ export class TeadsCurveModel implements IImpactModelInterface { tdp = observation['tdp'] as number; } - const wattage = this.spline.at(cpu) * tdp; + let wattage = 0.0; + if (this.interpolation === Interpolation.SPLINE) { + wattage = this.spline.at(cpu) * tdp; + } else if (this.interpolation === Interpolation.LINEAR) { + let min = 0; + let max = 1; + const x = this.points; + const y = this.curve; + for (let i = 0; i < x.length; i++) { + if (cpu >= x[i] && cpu <= x[i + 1]) { + min = i; + max = i + 1; + } + } + wattage = (y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu) / 100.0; + } // duration is in seconds // wattage is in watts // eg: 30W x 300s = 9000 J From f24ee0754e47e5dc6d916b961541a4047a2365ed Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 11:17:36 +0530 Subject: [PATCH 100/199] Fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.test.ts | 47 ++++++++++++++++++++++++++++++- src/lib/teads-curve/index.ts | 14 +++++---- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/lib/teads-curve/index.test.ts b/src/lib/teads-curve/index.test.ts index 97486107a..498c3cd51 100644 --- a/src/lib/teads-curve/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -26,7 +26,7 @@ describe('teads:configure test', () => { }, ]); }); - test('teads:initialize with params', async () => { + test('teads:initialize with params:spline', async () => { const impactModel = new TeadsCurveModel(); await impactModel.configure('test', { tdp: 300, @@ -70,4 +70,49 @@ describe('teads:configure test', () => { }, ]); }); + test('teads:initialize with params:linear', async () => { + const impactModel = new TeadsCurveModel(); + await impactModel.configure('test', { + tdp: 300, + interpolation: 'linear', + }); + await expect( + impactModel.calculate([ + { + duration: 3600, + cpu: 10.0, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 50.0, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 100.0, + datetime: '2021-01-01T00:00:00Z', + }, + ]) + ).resolves.toStrictEqual([ + { + duration: 3600, + cpu: 10.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.096, + }, + { + duration: 3600, + cpu: 50.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.225, + }, + { + duration: 3600, + cpu: 100.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.306, + }, + ]); + }); }); diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index bb4f451bd..208a2e2f6 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -142,13 +142,15 @@ export class TeadsCurveModel implements IImpactModelInterface { let max = 1; const x = this.points; const y = this.curve; - for (let i = 0; i < x.length; i++) { - if (cpu >= x[i] && cpu <= x[i + 1]) { - min = i; - max = i + 1; - } + if (cpu > 10 && cpu <= 50) { + min = 1; + max = 2; } - wattage = (y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu) / 100.0; + if (cpu > 50 && cpu <= 100) { + min = 2; + max = 3; + } + wattage = y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu; } // duration is in seconds // wattage is in watts From c5d878aa5b4eb8ecda6bebe06ac2ebfd55ac6abd Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Sat, 2 Sep 2023 09:11:14 +0530 Subject: [PATCH 101/199] Fixing interpolation errors Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.test.ts | 34 +++++++++++++++++++++++++++++++ src/lib/teads-curve/index.ts | 34 ++++++++++++++++++++++--------- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/src/lib/teads-curve/index.test.ts b/src/lib/teads-curve/index.test.ts index 498c3cd51..8abe2168c 100644 --- a/src/lib/teads-curve/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -93,6 +93,21 @@ describe('teads:configure test', () => { cpu: 100.0, datetime: '2021-01-01T00:00:00Z', }, + { + duration: 3600, + cpu: 15.0, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 55.0, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 75.0, + datetime: '2021-01-01T00:00:00Z', + }, ]) ).resolves.toStrictEqual([ { @@ -113,6 +128,25 @@ describe('teads:configure test', () => { datetime: '2021-01-01T00:00:00Z', energy: 0.306, }, + + { + duration: 3600, + cpu: 15.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.11212500000000002, + }, + { + duration: 3600, + cpu: 55.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.2331, + }, + { + duration: 3600, + cpu: 75.0, + datetime: '2021-01-01T00:00:00Z', + energy: 0.2655, + }, ]); }); }); diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 208a2e2f6..e7a478f3a 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -58,6 +58,11 @@ export class TeadsCurveModel implements IImpactModelInterface { if ('curve' in staticParams && 'points' in staticParams) { this.curve = staticParams?.curve as number[]; this.points = staticParams?.points as number[]; + if (this.curve.length !== this.points.length) { + throw new Error( + 'Number of points and curve values must be the same length' + ); + } this.spline = new Spline(this.points, this.curve); } @@ -138,19 +143,28 @@ export class TeadsCurveModel implements IImpactModelInterface { if (this.interpolation === Interpolation.SPLINE) { wattage = this.spline.at(cpu) * tdp; } else if (this.interpolation === Interpolation.LINEAR) { - let min = 0; - let max = 1; const x = this.points; const y = this.curve; - if (cpu > 10 && cpu <= 50) { - min = 1; - max = 2; - } - if (cpu > 50 && cpu <= 100) { - min = 2; - max = 3; + // base rate is from which level of cpu linear interpolation is applied at + let base_rate = 0; + let base_cpu = 0; + let ratio = 0; + // find the base rate and ratio + for (let i = 0; i < x.length; i++) { + if (cpu === x[i]) { + base_rate = y[i]; + base_cpu = x[i]; + break; + } else if (cpu > x[i] && cpu < x[i + 1]) { + base_rate = y[i]; + base_cpu = x[i]; + ratio = (y[i + 1] - y[i]) / (x[i + 1] - x[i]); + break; + } } - wattage = y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu; + // sum of base_rate + (cpu - base_cpu) * ratio = total rate of cpu usage + // total rate * tdp = wattage + wattage = (base_rate + (cpu - base_cpu) * ratio) * tdp; } // duration is in seconds // wattage is in watts From 4caf18bed0452ee0c80c76fdd3c33818126caac0 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 09:29:54 +0530 Subject: [PATCH 102/199] Adding documentation for cpu model Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/teads-cpu.md | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/implementations/teads-cpu.md diff --git a/docs/implementations/teads-cpu.md b/docs/implementations/teads-cpu.md new file mode 100644 index 000000000..552465ffd --- /dev/null +++ b/docs/implementations/teads-cpu.md @@ -0,0 +1,59 @@ +# Teads' CPU Estimation Model + +Teads Engineering team has built a model that is capable of estimating CPU usages across varying type of CPUs using a curve commonly known as Teads Curve. + +## Implementation + +### Linear Interpolation + +This model implements linear interpolation by default for estimating energy consumption using the TDP of a chip. + +The power curve provided for `IDLE`, `10%`, `50%`, `100%` in the Teads Curve are used by default. + +The algorithm in linear interpolation will take the lowest possible base value + linear interpolated value. ie. 75% usage will be calculated by taking (50% as base + (100%-50%) _ (75%-50%)) _ `TDP`. + +#### Example + +```typescript +import {TeadsCurveModel} from 'ief'; + +const teads = new TeadsCurveModel(); +teads.configure({ + instance_type: 'c6i.large', +}); +const results = teads.calculate([ + { + duration: 3600, // duration institute + cpu: 0.1, // CPU usage as a value between 0 and 1 in floating point number + datetime: '2021-01-01T00:00:00Z', // ISO8601 / RFC3339 timestamp + }, +]); +``` + +### Spline Curve Approximation + +This method implements the spline curve approximation using `typescript-cubic-spline`. It is not possible to customize the spline behaviour as of now. + +Resulting values are an approximation / estimation based on the testing done by Teads' Engineering Team. Further information can be found in the following links. + +1. [TEADS Engineering: Building An AWS EC2 Carbon Emissions Dataset](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac) +2. [TEADS Engineering: Estimating AWS EC2 Instances Power Consumption](https://medium.com/teads-engineering/estimating-aws-ec2-instances-power-consumption-c9745e347959) + +#### Example + +```typescript +import {TeadsCurveModel, TeadsInterpolation} from '@gsf/ief'; + +const teads = new TeadsCurveModel(); +teads.configure({ + instance_type: 'c6i.large', + interpolation: Interpolation.SPLINE, +}); +const results = teads.calculate([ + { + duration: 3600, // duration institute + cpu: 0.1, // CPU usage as a value between 0 and 1 in floating point number + datetime: '2021-01-01T00:00:00Z', // ISO8601 / RFC3339 timestamp + }, +]); +``` From c2c842580cebcc3c4b096e90a82ba37263a355dd Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 09:31:19 +0530 Subject: [PATCH 103/199] Linting Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index e7a478f3a..3ab7358ad 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -1,6 +1,6 @@ -import {IImpactModelInterface} from '../interfaces'; +import { IImpactModelInterface } from '../interfaces'; import Spline from 'typescript-cubic-spline'; -import {KeyValuePair} from '../../types/boavizta'; +import { KeyValuePair } from '../../types/boavizta'; export enum Interpolation { SPLINE = 'spline', @@ -90,7 +90,7 @@ export class TeadsCurveModel implements IImpactModelInterface { } else if (!Array.isArray(observations)) { throw new Error('Observations must be an array'); } - return observations.map(observation => { + return observations.map((observation: KeyValuePair) => { observation['energy'] = this.calculateEnergy(observation); return observation; }); From 6f5c5bd56145d92863ed22138800d7d6dfbf4698 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 09:50:02 +0530 Subject: [PATCH 104/199] Lint fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 3ab7358ad..3a0e6d6f4 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -1,6 +1,6 @@ -import { IImpactModelInterface } from '../interfaces'; +import {IImpactModelInterface} from '../interfaces'; import Spline from 'typescript-cubic-spline'; -import { KeyValuePair } from '../../types/boavizta'; +import {KeyValuePair} from '../../types/boavizta'; export enum Interpolation { SPLINE = 'spline', From 20ca20910a9f2d38fa96562763df8582d3dce384 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 09:52:58 +0530 Subject: [PATCH 105/199] Documentation Update Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 3a0e6d6f4..93355a169 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -77,8 +77,8 @@ export class TeadsCurveModel implements IImpactModelInterface { * Calculate the total emissions for a list of observations * * Each Observation require: - * @param {Object[]} observations ISO 8601 datetime string - * @param {string} observations[].datetime ISO 8601 datetime string + * @param {Object[]} observations RFC3339 datetime string + * @param {string} observations[].datetime RFC3339 datetime string * @param {number} observations[].duration observation duration in seconds * @param {number} observations[].cpu percentage cpu usage */ @@ -109,7 +109,7 @@ export class TeadsCurveModel implements IImpactModelInterface { * * duration: duration of the observation in seconds * cpu: cpu usage in percentage - * datetime: ISO 8601 datetime string + * datetime: RFC3339 datetime string * * Uses a spline method on the teads cpu wattage data */ From f79ddf946cac60af68d01f534cb19418fa778de4 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 10:54:56 +0530 Subject: [PATCH 106/199] Disable customization of curve in teads model Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 93355a169..c58098388 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -55,16 +55,16 @@ export class TeadsCurveModel implements IImpactModelInterface { ); } - if ('curve' in staticParams && 'points' in staticParams) { - this.curve = staticParams?.curve as number[]; - this.points = staticParams?.points as number[]; - if (this.curve.length !== this.points.length) { - throw new Error( - 'Number of points and curve values must be the same length' - ); - } - this.spline = new Spline(this.points, this.curve); - } + // if ('curve' in staticParams && 'points' in staticParams) { + // this.curve = staticParams?.curve as number[]; + // this.points = staticParams?.points as number[]; + // if (this.curve.length !== this.points.length) { + // throw new Error( + // 'Number of points and curve values must be the same length' + // ); + // } + // this.spline = new Spline(this.points, this.curve); + // } if ('interpolation' in staticParams) { this.interpolation = staticParams?.interpolation as Interpolation; From 4730de39a0b6e67c46f5a8b0db703f9065e681b9 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 11:12:29 +0530 Subject: [PATCH 107/199] Teads CPU percentage in documentation Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/teads-cpu.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/implementations/teads-cpu.md b/docs/implementations/teads-cpu.md index 552465ffd..44bab9c53 100644 --- a/docs/implementations/teads-cpu.md +++ b/docs/implementations/teads-cpu.md @@ -10,7 +10,11 @@ This model implements linear interpolation by default for estimating energy cons The power curve provided for `IDLE`, `10%`, `50%`, `100%` in the Teads Curve are used by default. -The algorithm in linear interpolation will take the lowest possible base value + linear interpolated value. ie. 75% usage will be calculated by taking (50% as base + (100%-50%) _ (75%-50%)) _ `TDP`. +The algorithm in linear interpolation will take the lowest possible base value + linear interpolated value. ie. 75% usage will be calculated as follows. +`100%` and `50%` are the known values hence we are interpolating linearly between them. +(`50%` + `(100%-50%)` `x` `(75%-50%))` `x` `TDP`. + + #### Example @@ -19,12 +23,12 @@ import {TeadsCurveModel} from 'ief'; const teads = new TeadsCurveModel(); teads.configure({ - instance_type: 'c6i.large', + tdp: 100, // TDP of the CPU }); const results = teads.calculate([ { duration: 3600, // duration institute - cpu: 0.1, // CPU usage as a value between 0 and 1 in floating point number + cpu: 100, // CPU usage as a value between 0 to 100 in percentage datetime: '2021-01-01T00:00:00Z', // ISO8601 / RFC3339 timestamp }, ]); @@ -46,13 +50,13 @@ import {TeadsCurveModel, TeadsInterpolation} from '@gsf/ief'; const teads = new TeadsCurveModel(); teads.configure({ - instance_type: 'c6i.large', + tdp: 100, // TDP of the CPU interpolation: Interpolation.SPLINE, }); const results = teads.calculate([ { duration: 3600, // duration institute - cpu: 0.1, // CPU usage as a value between 0 and 1 in floating point number + cpu: 100, // CPU usage as a value between 0 to 100 in percentage datetime: '2021-01-01T00:00:00Z', // ISO8601 / RFC3339 timestamp }, ]); From 5c42f5bbf7027a56f0bbe51d55e372f10ac44a98 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 17:06:29 +0530 Subject: [PATCH 108/199] Set default tdp 0 and throw error if it was not updated. Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index c58098388..c5d594a64 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -13,7 +13,7 @@ export class TeadsCurveModel implements IImpactModelInterface { // name of the data source name: string | undefined; // tdp of the chip being measured - tdp = 100; + tdp = 0; // default power curve provided by the Teads Team curve: number[] = [0.12, 0.32, 0.75, 1.02]; // default percentage points @@ -49,7 +49,7 @@ export class TeadsCurveModel implements IImpactModelInterface { if ('tdp' in staticParams) { this.tdp = staticParams?.tdp as number; - } else { + } else if (this.tdp === 0) { throw new Error( '`tdp` Thermal Design Power not provided. Can not compute energy.' ); @@ -91,6 +91,7 @@ export class TeadsCurveModel implements IImpactModelInterface { throw new Error('Observations must be an array'); } return observations.map((observation: KeyValuePair) => { + this.configure(this.name!, observation); observation['energy'] = this.calculateEnergy(observation); return observation; }); From 1e74fb81609492209f79b14d5552cdc69bd470ce Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 11:13:41 +0530 Subject: [PATCH 109/199] Adding sci-o model base file Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-o/index.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/lib/sci-o/index.ts diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts new file mode 100644 index 000000000..73d2279d3 --- /dev/null +++ b/src/lib/sci-o/index.ts @@ -0,0 +1,23 @@ +import {IImpactModelInterface} from '../interfaces'; + +export class SciOModel implements IImpactModelInterface { + authParams: object | undefined = undefined; + authenticate(authParams: object): void { + this.authParams = authParams; + } + + calculate(observations: object | object[] | undefined): Promise { + return Promise.resolve([]); + } + + configure( + name: string, + staticParams: object | undefined + ): Promise { + return Promise.resolve(undefined); + } + + modelIdentifier(): string { + return ''; + } +} From c30243bab8ff3d4b40d746fcaf962249ef29b0cb Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 11:27:31 +0530 Subject: [PATCH 110/199] Complete implementation for sci-o Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-o/index.ts | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index 73d2279d3..e24a90f91 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -1,23 +1,44 @@ import {IImpactModelInterface} from '../interfaces'; +import {KeyValuePair} from '../../types/boavizta'; export class SciOModel implements IImpactModelInterface { authParams: object | undefined = undefined; + staticParams: object | undefined; + name: string | undefined; authenticate(authParams: object): void { this.authParams = authParams; } calculate(observations: object | object[] | undefined): Promise { - return Promise.resolve([]); + if (!Array.isArray(observations)) { + throw new Error('observations should be an array'); + } + observations.map((observation: KeyValuePair) => { + if ('grid-ci' in observation && 'energy' in observation) { + const grid_ci = parseFloat(observation['grid-ci']); + const energy = parseFloat(observation['energy']); + observation['operational-emissions'] = grid_ci * energy; + } else { + throw new Error( + 'observation missing `grid-ci` or `energy`. Can not compute;' + ); + } + return observation; + }); + + return Promise.resolve(observations); } - configure( + async configure( name: string, staticParams: object | undefined ): Promise { - return Promise.resolve(undefined); + this.staticParams = staticParams; + this.name = name; + return this; } modelIdentifier(): string { - return ''; + return 'org.gsf.sci-o'; } } From 00688ce564203528435903f72da00fff93779b67 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 11:32:48 +0530 Subject: [PATCH 111/199] Implement Testing. Fixes #120 Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-o/index.test.ts | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/lib/sci-o/index.test.ts diff --git a/src/lib/sci-o/index.test.ts b/src/lib/sci-o/index.test.ts new file mode 100644 index 000000000..cd2b08e8e --- /dev/null +++ b/src/lib/sci-o/index.test.ts @@ -0,0 +1,38 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {SciOModel} from './index'; +jest.setTimeout(30000); + +describe('ccf:configure test', () => { + test('initialize and test', async () => { + const model = await new SciOModel().configure('ccf', {}); + expect(model).toBeInstanceOf(SciOModel); + await expect( + model.calculate([ + { + 'grid-ci': 200.0, + energy: 100.0, + }, + ]) + ).resolves.toStrictEqual([ + { + 'grid-ci': 200.0, + energy: 100.0, + 'operational-emissions': 100.0 * 200.0, + }, + ]); + await expect( + model.calculate([ + { + 'grid-ci': 212.1, + energy: 100.0, + }, + ]) + ).resolves.toStrictEqual([ + { + 'grid-ci': 212.1, + energy: 100.0, + 'operational-emissions': 100.0 * 212.1, + }, + ]); + }); +}); From f84547428ba7cb260f6f19383c1e5ed4bcab75fa Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 16:26:50 +0530 Subject: [PATCH 112/199] Fixing error handling Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-o/index.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index e24a90f91..8cde7ed72 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -5,6 +5,7 @@ export class SciOModel implements IImpactModelInterface { authParams: object | undefined = undefined; staticParams: object | undefined; name: string | undefined; + authenticate(authParams: object): void { this.authParams = authParams; } @@ -14,15 +15,15 @@ export class SciOModel implements IImpactModelInterface { throw new Error('observations should be an array'); } observations.map((observation: KeyValuePair) => { - if ('grid-ci' in observation && 'energy' in observation) { - const grid_ci = parseFloat(observation['grid-ci']); - const energy = parseFloat(observation['energy']); - observation['operational-emissions'] = grid_ci * energy; - } else { - throw new Error( - 'observation missing `grid-ci` or `energy`. Can not compute;' - ); + if (!('grid-ci' in observation)) { + throw new Error('observation missing `grid-ci`'); + } + if (!('energy' in observation)) { + throw new Error('observation missing `energy`'); } + const grid_ci = parseFloat(observation['grid-ci']); + const energy = parseFloat(observation['energy']); + observation['operational-emissions'] = grid_ci * energy; return observation; }); From 90041b595bf6e4ceb30bb2770be30de9b226b7d5 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 06:30:28 +0530 Subject: [PATCH 113/199] Add documentation for sci-o Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/sci-o.md | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docs/implementations/sci-o.md diff --git a/docs/implementations/sci-o.md b/docs/implementations/sci-o.md new file mode 100644 index 000000000..0f3a5cbb4 --- /dev/null +++ b/docs/implementations/sci-o.md @@ -0,0 +1,39 @@ +# Software Carbon Intensity - Operational Emissions (SCI-O) + +Software systems cause emissions through the hardware that they operate on, both through the energy that the physical +hardware consumes and the emissions associated with manufacturing the hardware. This specification defines a methodology +for calculating the rate of carbon emissions for a software system. The purpose is to help users and developers make +informed choices about which tools, approaches, architectures, and services they use in the future. It is a score rather +than a total; lower numbers are better than higher numbers, and reaching 0 is impossible. This specification is focused +on helping users and developers understand how to improve software to reduce or avoid the creation of +emissions. [Read more...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md) + +## Scope + +To calculate the operational emissions O for a software application, use the following: + +O = (E * I) + +[Operational Emissions...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md#operational-emissions) + +## Implementation + +IEF implements the plugin based on the simple multiplication of the energy and intensity values as inputs. + +The component has no internal way of determining the energy and intensity values. These values are expected to be +provided by the user. + +## Usage + +```typescript +import {SciOModel} from '@gsf/ief'; + +const sciOModel = new SciOModel(); +sciOModel.configure() +const results = sciOModel.calculate([ + { + energy: 0.5, // energy value in kWh + 'grid-ci': 0.5, // intensity value gCO2e/kWh + } +]) +``` From ff3f4863249e96836b6cbdbd11d406d68b368d03 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 08:12:05 +0530 Subject: [PATCH 114/199] Add an error testing scenario Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-o/index.test.ts | 8 ++++++++ src/lib/sci-o/index.ts | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/sci-o/index.test.ts b/src/lib/sci-o/index.test.ts index cd2b08e8e..d7657688a 100644 --- a/src/lib/sci-o/index.test.ts +++ b/src/lib/sci-o/index.test.ts @@ -34,5 +34,13 @@ describe('ccf:configure test', () => { 'operational-emissions': 100.0 * 212.1, }, ]); + await expect( + model.calculate([ + { + 'grid-cid': 212.1, + energy: 100.0, + }, + ]) + ).rejects.toThrowError(); }); }); diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index 8cde7ed72..ff43a36db 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -10,7 +10,9 @@ export class SciOModel implements IImpactModelInterface { this.authParams = authParams; } - calculate(observations: object | object[] | undefined): Promise { + async calculate( + observations: object | object[] | undefined + ): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } From 9b5f652e8ecf7130e77795bff8978c0d7f85c41b Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 13:54:17 +0530 Subject: [PATCH 115/199] Base implementation for SCI-M Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-m/index.test.ts | 60 ++++++++++++++++++++ src/lib/sci-m/index.ts | 110 ++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 src/lib/sci-m/index.test.ts create mode 100644 src/lib/sci-m/index.ts diff --git a/src/lib/sci-m/index.test.ts b/src/lib/sci-m/index.test.ts new file mode 100644 index 000000000..98364e920 --- /dev/null +++ b/src/lib/sci-m/index.test.ts @@ -0,0 +1,60 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {SciOModel} from './index'; +jest.setTimeout(30000); + +describe('sci-o:configure test', () => { + test('initialize and test', async () => { + const model = await new SciOModel().configure('sci-o', {}); + expect(model).toBeInstanceOf(SciOModel); + await expect( + model.calculate([ + { + te: 200, + tir: 60 * 60 * 24 * 30, + el: 60 * 60 * 24 * 365 * 4, + rr: 1, + tor: 1, + }, + { + te: 200, + duration: 60 * 60 * 24 * 30 * 2, + tir: 'duration', + el: 60 * 60 * 24 * 365 * 4, + rr: 1, + tor: 1, + }, + ]) + ).resolves.toStrictEqual([ + { + te: 200, + tir: 60 * 60 * 24 * 30, + el: 60 * 60 * 24 * 365 * 4, + rr: 1, + tor: 1, + embodied: 4.10958904109589, + }, + { + te: 200, + duration: 60 * 60 * 24 * 30 * 2, + tir: 'duration', + el: 60 * 60 * 24 * 365 * 4, + rr: 1, + tor: 1, + embodied: 4.10958904109589 * 2, + }, + ]); + await expect( + model.calculate([ + { + tee: 200, + duration: 60 * 60 * 24 * 30 * 2, + tir: 'duration', + el: 60 * 60 * 24 * 365 * 4, + rr: 1, + tor: 1, + embodied: 4.10958904109589 * 2, + }, + ]) + ).rejects.toThrowError(); + }); +}); diff --git a/src/lib/sci-m/index.ts b/src/lib/sci-m/index.ts new file mode 100644 index 000000000..e43d39f3e --- /dev/null +++ b/src/lib/sci-m/index.ts @@ -0,0 +1,110 @@ +import {IImpactModelInterface} from '../interfaces'; +import {KeyValuePair} from '../../types/boavizta'; + +export class SciOModel implements IImpactModelInterface { + authParams: object | undefined = undefined; + staticParams: object | undefined; + name: string | undefined; + + authenticate(authParams: object): void { + this.authParams = authParams; + } + + async calculate( + observations: object | object[] | undefined + ): Promise { + if (!Array.isArray(observations)) { + throw new Error('observations should be an array'); + } + observations.map((observation: KeyValuePair) => { + // te or total-embodied: Total embodied emissions of some underlying hardware. + // tir or time-reserved: The length of time the hardware is reserved for use by the software. + // el or expected-lifespan: The anticipated time that the equipment will be installed. + // rr or resources-reserved: The number of resources reserved for use by the software. (e.g. number of vCPUs you are using) + // tor or total-resources: The total number of resources available (e.g. total number of vCPUs for underlying hardware) + let te = 0.0; + let tir = 0.0; + let el = 0.0; + let rr = 0.0; + let tor = 0.0; + if (!('te' in observation)) { + throw new Error('te: total-embodied is missing. Provide in gCO2e'); + } + if (!('tir' in observation)) { + throw new Error('tir: time-reserved is missing. Provide in seconds'); + } + if (!('el' in observation)) { + throw new Error('el: expected-lifespan is missing. Provide in seconds'); + } + if (!('rr' in observation)) { + throw new Error( + 'rr: resources-reserved is missing. Provide as a count' + ); + } + if (!('tor' in observation)) { + throw new Error('tor: total-resources is missing. Provide as a count'); + } + if ( + 'te' in observation && + 'tir' in observation && + 'el' in observation && + 'rr' in observation && + 'tor' in observation + ) { + if (typeof observation['te'] === 'string') { + te = parseFloat(observation[observation['te']]); + } else if (typeof observation['te'] === 'number') { + te = observation['te']; + } else { + te = parseFloat(observation['te']); + } + if (typeof observation['tir'] === 'string') { + tir = parseFloat(observation[observation['tir']]); + } else if (typeof observation['tir'] === 'number') { + tir = observation['tir']; + } else { + tir = parseFloat(observation['tir']); + } + if (typeof observation['el'] === 'string') { + el = parseFloat(observation[observation['el']]); + } else if (typeof observation['el'] === 'number') { + el = observation['el']; + } else { + el = parseFloat(observation['el']); + } + if (typeof observation['rr'] === 'string') { + rr = parseFloat(observation[observation['rr']]); + } else if (typeof observation['rr'] === 'number') { + rr = observation['rr']; + } else { + rr = parseFloat(observation['rr']); + } + if (typeof observation['tor'] === 'string') { + tor = parseFloat(observation[observation['tor']]); + } else if (typeof observation['tor'] === 'number') { + tor = observation['tor']; + } else { + tor = parseFloat(observation['tor']); + } + // M = TE * (TiR/EL) * (RR/ToR) + observation['embodied'] = te * (tir / el) * (rr / tor); + } + return observation; + }); + + return Promise.resolve(observations); + } + + async configure( + name: string, + staticParams: object | undefined + ): Promise { + this.staticParams = staticParams; + this.name = name; + return this; + } + + modelIdentifier(): string { + return 'org.gsf.sci-m'; + } +} From ef964b5dd17e78ab493444091734d65f7151054a Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 08:07:23 +0530 Subject: [PATCH 116/199] Add documentation for SCI-M Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/sci-m.md | 73 +++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 docs/implementations/sci-m.md diff --git a/docs/implementations/sci-m.md b/docs/implementations/sci-m.md new file mode 100644 index 000000000..2613376f0 --- /dev/null +++ b/docs/implementations/sci-m.md @@ -0,0 +1,73 @@ +# Software Carbon Intensity - Embodied Carbon (SCI-O) + +Software systems cause emissions through the hardware that they operate on, both through the energy that the physical +hardware consumes and the emissions associated with manufacturing the hardware. This specification defines a methodology +for calculating the rate of carbon emissions for a software system. The purpose is to help users and developers make +informed choices about which tools, approaches, architectures, and services they use in the future. It is a score rather +than a total; lower numbers are better than higher numbers, and reaching 0 is impossible. This specification is focused +on helping users and developers understand how to improve software to reduce or avoid the creation of +emissions. [Read more...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md) + +## Scope + +Embodied carbon (otherwise referred to as “embedded carbon”) is the amount of carbon emitted during the creation and disposal of a hardware device. + +To calculate the share of M for a software application, use the equation: +``` +M = TE * TS * RS +``` +Where: + +TE = Total Embodied Emissions; the sum of Life Cycle Assessment (LCA) emissions for all hardware components. + +TS = Time-share; the share of the total life span of the hardware reserved for use by the software. + +RS = Resource-share; the share of the total available resources of the hardware reserved for use by the software. +The equation can be expanded further: + +```M = TE * (TiR/EL) * (RR/ToR)``` + +Where: + +TiR = Time Reserved; the length of time the hardware is reserved for use by the software. + +EL = Expected Lifespan; the anticipated time that the equipment will be installed. + +RR = Resources Reserved; the number of resources reserved for use by the software. + +ToR = Total Resources; the total number of resources available. + + +[Embodied Emissions...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md#embodied-emissions) + +## Implementation + +IEF implements the plugin based on the logic described above. + +It expects all five values to be provided as input to determine the ```m``` value. + +## Usage + +```typescript +import { SciMModel } from '@gsf/ief'; + +const sciMModel = new SciMModel(); +sciMModel.configure() +const results = sciMModel.calculate([ + { + te: 200, // in gCO2e for total resource units + tir: 60 * 60 * 24 * 30, // time reserved in seconds, can point to another field "duration" + el: 60 * 60 * 24 * 365 * 4, // lifespan in seconds (4 years) + rr: 1, // resource units reserved / used + tor: 1, // total resource units available + }, + { + te: 200, // in gCO2e + tir: "duration", //point to another field "duration" + el: 60 * 60 * 24 * 365 * 4, // lifespan in seconds (4 years) + rr: 1, // resource units reserved / used + tor: 1, // total resource units available + duration: 60 * 60 * 24 * 30, + }, +]) +``` From 9d7b3478d1c098955b08f865cf21d9f8ef89baa4 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 08:08:47 +0530 Subject: [PATCH 117/199] Rename according to units.yaml Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-m/index.test.ts | 12 ++++++------ src/lib/sci-m/index.ts | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/sci-m/index.test.ts b/src/lib/sci-m/index.test.ts index 98364e920..4398543ed 100644 --- a/src/lib/sci-m/index.test.ts +++ b/src/lib/sci-m/index.test.ts @@ -1,11 +1,11 @@ import {describe, expect, jest, test} from '@jest/globals'; -import {SciOModel} from './index'; +import {SciMModel} from './index'; jest.setTimeout(30000); describe('sci-o:configure test', () => { test('initialize and test', async () => { - const model = await new SciOModel().configure('sci-o', {}); - expect(model).toBeInstanceOf(SciOModel); + const model = await new SciMModel().configure('sci-o', {}); + expect(model).toBeInstanceOf(SciMModel); await expect( model.calculate([ { @@ -31,7 +31,7 @@ describe('sci-o:configure test', () => { el: 60 * 60 * 24 * 365 * 4, rr: 1, tor: 1, - embodied: 4.10958904109589, + 'embodied-carbon': 4.10958904109589, }, { te: 200, @@ -40,7 +40,7 @@ describe('sci-o:configure test', () => { el: 60 * 60 * 24 * 365 * 4, rr: 1, tor: 1, - embodied: 4.10958904109589 * 2, + 'embodied-carbon': 4.10958904109589 * 2, }, ]); await expect( @@ -52,7 +52,7 @@ describe('sci-o:configure test', () => { el: 60 * 60 * 24 * 365 * 4, rr: 1, tor: 1, - embodied: 4.10958904109589 * 2, + 'embodied-carbon': 4.10958904109589 * 2, }, ]) ).rejects.toThrowError(); diff --git a/src/lib/sci-m/index.ts b/src/lib/sci-m/index.ts index e43d39f3e..c8d972513 100644 --- a/src/lib/sci-m/index.ts +++ b/src/lib/sci-m/index.ts @@ -1,7 +1,7 @@ import {IImpactModelInterface} from '../interfaces'; import {KeyValuePair} from '../../types/boavizta'; -export class SciOModel implements IImpactModelInterface { +export class SciMModel implements IImpactModelInterface { authParams: object | undefined = undefined; staticParams: object | undefined; name: string | undefined; @@ -87,7 +87,7 @@ export class SciOModel implements IImpactModelInterface { tor = parseFloat(observation['tor']); } // M = TE * (TiR/EL) * (RR/ToR) - observation['embodied'] = te * (tir / el) * (rr / tor); + observation['embodied-carbon'] = te * (tir / el) * (rr / tor); } return observation; }); From 7f38871330390e7e1dde0f5f39c6ae074242051b Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 16:28:36 +0100 Subject: [PATCH 118/199] top level config -> initialize --- impls/accenture.yaml | 2 +- impls/aveva.yaml | 5 +---- impls/dow_msft.yaml | 2 +- impls/farm-insights.yaml | 2 +- impls/msft-eshoppen.yaml | 2 +- impls/msft-green-ai.yaml | 2 +- impls/ntt-data-on-premise.yaml | 2 +- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index ffc228de5..04e397f6d 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -1,7 +1,7 @@ name: accenture description: sci calculation for accenture model (note need to add app gateway SCI to final calculation) tags: -config: +initialize: models: - name: add-obs # a model that just copies some values into every observation. kind: builtin diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 3ffd6a017..cb97ad974 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -4,10 +4,7 @@ tags: kind: web complexity: moderate category: on-premise -config: - funit: - - name: requests - scale-factor: 500 # divide SCi per hour by this to get SCI per request +initialize: models: - name: sci-aveva # a model that takes in power observations and returns e. kind: plugin diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 7c36112db..797e6446a 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -4,7 +4,7 @@ tags: kind: db-api complexity: simple category: cloud -config: +initialize: models: - name: teads-cpu # a model that returns an embodied value given the sci embodied attribution equation. kind: builtin diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index 3e817a83e..5de44913a 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -4,7 +4,7 @@ tags: kind: iot complexity: simple category: device -config: +initialize: models: - name: sci-coefficient # a model that returns an embodied value given the sci embodied attribution equation. kind: builtin diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 21b622f7e..ab6f3a29d 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -4,7 +4,7 @@ tags: kind: web complexity: moderate category: cloud -config: +initialize: models: - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index e5a526a4d..f2d8ef9dc 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -4,7 +4,7 @@ tags: kind: ml complexity: simple category: cloud -config: +initialize: models: - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 24dd3294e..5b2def273 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -4,7 +4,7 @@ tags: kind: web complexity: moderate category: on-premise -config: +initialize: models: - name: switch # a model that returns an embodied value given the sci embodied attribution equation. kind: plugin From 8fe8d4f1f0440c711188725606d5f96bbc5b0609 Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 5 Sep 2023 16:32:01 +0100 Subject: [PATCH 119/199] rename model teads-mem -> e-mem --- impls/accenture.yaml | 8 ++++---- impls/aveva.yaml | 2 +- impls/dow_msft.yaml | 12 ++++++------ impls/msft-eshoppen.yaml | 8 ++++---- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 04e397f6d..e3ca9c9c6 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -10,7 +10,7 @@ initialize: kind: builtin verbose: false path: '' - - name: teads-mem + - name: e-mem # model that calculates e for ram memory usage kind: builtin verbose: false path: '' @@ -37,7 +37,7 @@ graph: pipeline: - add-obs # add common values to every observertion - teads-cpu # converts cpu-util to energy based on a tdp and a built in set of coeff. - - teads-mem # converts ram-util to energy based on a tdp and a built in set of coeff. + - e-mem # converts ram-util to energy based on a tdp and a built in set of coeff. - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observation. - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. @@ -109,7 +109,7 @@ graph: pipeline: - add-obs # add common values to every observertion - teads-cpu # converts cpu-util to energy based on a tdp and a built in set of coeff. - - teads-mem # converts ram-util to energy + - e-mem # converts ram-util to energy - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observeation. - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. @@ -137,7 +137,7 @@ graph: pipeline: - add-obs # add common values to every observertion - teads-cpu # converts cpu-util to energy - - teads-mem # conmverts ram-util to energy + - e-mem # conmverts ram-util to energy - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observeation. - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. diff --git a/impls/aveva.yaml b/impls/aveva.yaml index cb97ad974..fad01773d 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -17,7 +17,7 @@ initialize: kind: builtin verbose: false path: '' - - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp kind: builtin verbose: false path: '' diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 797e6446a..7ceea3e4a 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -10,7 +10,7 @@ initialize: kind: builtin verbose: false path: '' - - name: teads-mem # a model that calculates a carbon value for memory + - name: e-mem # a model that calculates a carbon value for memory kind: plugin path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor @@ -30,7 +30,7 @@ graph: backend: # an advanced grouping node pipeline: - teads-cpu # tdp & cpu -> energy - - teads-mem # calculates energy used by memory as component of sci-m + - e-mem # calculates energy used by memory as component of sci-m - sci-m # duration & config -> embodied - sci-e # energy & grid-carbon-intensity & embodied -> carbon - sci # add cpu and memory components and convert to f.unit @@ -43,7 +43,7 @@ graph: teads-cpu: processor: Intel-xeon-platinum-8380 tdp: 270 - teads-mem: + e-mem: mem_allocation: 32 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -67,7 +67,7 @@ graph: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 - teads-mem: + e-mem: mem_allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -92,7 +92,7 @@ graph: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 270 - teads-mem: + e-mem: mem_allocation: 32 # GB mem-energy: 0.38 # kwh/GB sci-m: @@ -117,7 +117,7 @@ graph: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 - teads-mem: + e-mem: mem_allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index ab6f3a29d..8a538f02f 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -12,7 +12,7 @@ initialize: - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin path: '' - - name: teads-curve # a model that returns energy based on the generalised teads power curve and tdp + - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp kind: builtin path: '' - name: sci # sums SCI components and converts to f.unit @@ -21,7 +21,7 @@ initialize: graph: front-end: pipeline: - - teads-curve # tdp & cpu -> energy + - teads-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon - sci # @@ -46,7 +46,7 @@ graph: cpu_util: 18.392 app-server: pipeline: - - teads-curve # tdp & cpu -> energy + - teads-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: @@ -70,7 +70,7 @@ graph: cpu_util: 18.392 db-server: pipeline: - - teads-curve # tdp & cpu & duration-> energy + - teads-cpu # tdp & cpu & duration-> energy - sci-m # duration & config -> embodied - sci-c # energy & grid-carbon-intensity & embodied -> carbon config: From b5d3c678e915901c8e2ab6703907e6ff6ef92628 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:32:01 +0400 Subject: [PATCH 120/199] examples: init boavizta impl. --- examples/impls/boavizta.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 examples/impls/boavizta.yml diff --git a/examples/impls/boavizta.yml b/examples/impls/boavizta.yml new file mode 100644 index 000000000..c43fbbf70 --- /dev/null +++ b/examples/impls/boavizta.yml @@ -0,0 +1,30 @@ +name: gsf-demo +description: + Hello +tags: + kind: web + complexity: moderate + category: cloud +initialize: + models: + - name: boavizta-cpu + kind: builtin + config: + allocation: LINEAR + verbose: true +graph: + children: + front-end: + pipeline: + - boavizta-cpu + config: + boavizta-cpu: + core-units: 24 + processor: Intel® Core™ i7-1185G7 + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 # Secs + cpu-util: 18.392 + - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 # Secs + cpu-util: 16 From 46c6b414c8d7ba9d95c724ab156a1e2ac9776363 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:33:27 +0400 Subject: [PATCH 121/199] util: observatory is responsible only for calcs. --- src/util/observatory.ts | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/util/observatory.ts b/src/util/observatory.ts index d065554dd..50ae5e79d 100644 --- a/src/util/observatory.ts +++ b/src/util/observatory.ts @@ -1,7 +1,5 @@ -import {BoaviztaCpuImpactModel} from '../lib'; - /** - * Pipeline for computing impacts based on observation. + * Observatory calculates impacts based on `observations` and `model`. */ export class Observatory { private observations: any; @@ -15,11 +13,9 @@ export class Observatory { } /** - * Calculates impact based on observation and model. + * Calculates impact based on observations. */ - private async monitorAndCalculateImpact(Model: any, params: any) { - const modelInstance = await new Model().configure('test', params); - + public async doInvestigationsWith(modelInstance: any) { const calculatedImpacts = await modelInstance.calculate(this.observations); const result = this.observations.map((observation: any, index: number) => ({ @@ -32,18 +28,6 @@ export class Observatory { return this; } - /** - * Apply appropriate observation. - */ - public doInvestigationsWith(modelType: string, params: any) { - switch (modelType) { - case 'boavizta': - return this.monitorAndCalculateImpact(BoaviztaCpuImpactModel, params); - // case 'ccf': - // return this.monitorAndCalculateImpact(CloudCarbonFootprint, params); - } - } - /** * Getter for observation data. */ From 7ec4ef1831bd0fa612fa5f1588eaba5c14315815 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:38:14 +0400 Subject: [PATCH 122/199] util: implement models universe. --- src/util/models-universe.ts | 102 ++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 src/util/models-universe.ts diff --git a/src/util/models-universe.ts b/src/util/models-universe.ts new file mode 100644 index 000000000..7bd8ab880 --- /dev/null +++ b/src/util/models-universe.ts @@ -0,0 +1,102 @@ +import { + BoaviztaCpuImpactModel, + BoaviztaCloudImpactModel, + // CloudCarbonFootprint, + ShellModel, + SciMModel, + SciOModel, + TeadsCurveModel, +} from '../lib'; + +import { + GraphOptions, + ImplInitializeModel, + InitalizedModels, +} from '../types/models-universe'; + +/** + * Models Initialization Lifecycle. + */ +export class ModelsUniverse { + /** + * Models list. + */ + public initalizedModels: InitalizedModels = {}; + + /** + * Gets model class by provided `name` param. + */ + private handBuiltinModel(name: string) { + switch (name) { + case 'boavizta-cpu': + return BoaviztaCpuImpactModel; + case 'boavizta-cloud': + return BoaviztaCloudImpactModel; + // case 'ccf': + // return CloudCarbonFootprint; + case 'teads-curve': + return TeadsCurveModel; + case 'sci-m': + return SciMModel; + case 'sci-o': + return SciOModel; + default: // cover default + return BoaviztaCpuImpactModel; + } + } + + /** + * Returns plugin model. + */ + private handPluginModel() { + return ShellModel; + } + + /** + * Returns shell model. + */ + private handShellModel() { + return ShellModel; + } + + /** + * Gets model based on `kind` and `name` params. + */ + private handModelByCriteria(kind: string, name: string) { + switch (kind) { + case 'builtin': + return this.handBuiltinModel(name); + case 'plugin': + return this.handPluginModel(); + case 'shell': + return this.handShellModel(); + default: // cover default + return this.handBuiltinModel(name); + } + } + + /** + * Initializes and registers model. + */ + public writeDown(model: ImplInitializeModel) { + const {name, kind, config} = model; + + const Model = this.handModelByCriteria(name, kind); + const callback = async (graphOptions: GraphOptions) => { + const params = { + ...config, + ...graphOptions, + }; + const initalizedModel = await new Model().configure('test', params); + + return initalizedModel; + }; + + this.initalizedModels = { + ...this.initalizedModels, + [name]: callback, + }; + + return this.initalizedModels; + } +} From 99f20d82e128e380fdb8cfc0ba099f367fb02b63 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:38:29 +0400 Subject: [PATCH 123/199] types: init models universe. --- src/types/models-universe.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/types/models-universe.ts diff --git a/src/types/models-universe.ts b/src/types/models-universe.ts new file mode 100644 index 000000000..b0e34ad8e --- /dev/null +++ b/src/types/models-universe.ts @@ -0,0 +1,21 @@ +import {IImpactModelInterface} from '../lib'; + +type InitializeOptions = { + allocation: string; + verbose: boolean; +}; + +export type GraphOptions = { + 'core-units': number; + processor: string; +}; + +export type ImplInitializeModel = { + config: InitializeOptions; + name: string; + kind: 'builtin' | 'plugin' | 'shell'; +}; + +export type InitalizedModels = { + [key: string]: (graphOptions: GraphOptions) => Promise; +}; From 031eefc5fc9ea6f3f2ef5f78e4bd268541a055ed Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:42:53 +0400 Subject: [PATCH 124/199] util: add types to observatory. --- src/util/observatory.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/util/observatory.ts b/src/util/observatory.ts index 50ae5e79d..5b6cab77a 100644 --- a/src/util/observatory.ts +++ b/src/util/observatory.ts @@ -1,9 +1,11 @@ +import {IImpactModelInterface} from '../lib'; + /** * Observatory calculates impacts based on `observations` and `model`. */ export class Observatory { - private observations: any; - private impact: any; + private observations: any[]; + private impact: any[]; /** * Init observations object. @@ -15,7 +17,7 @@ export class Observatory { /** * Calculates impact based on observations. */ - public async doInvestigationsWith(modelInstance: any) { + public async doInvestigationsWith(modelInstance: IImpactModelInterface) { const calculatedImpacts = await modelInstance.calculate(this.observations); const result = this.observations.map((observation: any, index: number) => ({ From ba7b4189a135eea2560eec7e8f6071f08a61cd87 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:43:34 +0400 Subject: [PATCH 125/199] lib: make calculation return type array. --- src/lib/shell-imp/index.ts | 2 +- src/lib/teads-curve/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 8f5ecacd2..5c6cfda2c 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -42,7 +42,7 @@ export class ShellModel implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index c5d594a64..4fc52c985 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -84,7 +84,7 @@ export class TeadsCurveModel implements IImpactModelInterface { */ async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } else if (!Array.isArray(observations)) { From f2b7ec59e461aaa7944678a8a8a71a6ef0ccec05 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:43:59 +0400 Subject: [PATCH 126/199] lib: use cpu util metric as an metric type. --- src/lib/boavizta/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/boavizta/index.ts b/src/lib/boavizta/index.ts index a86123c30..6f1e68f2e 100644 --- a/src/lib/boavizta/index.ts +++ b/src/lib/boavizta/index.ts @@ -23,7 +23,7 @@ const {CPU_IMPACT_MODEL_ID, CLOUD_IMPACT_MODEL_ID} = Index; abstract class BoaviztaImpactModel implements IImpactModelInterface { name: string | undefined; sharedParams: object | undefined = undefined; - metricType: 'cpu' | 'gpu' | 'ram' = 'cpu'; + metricType: 'cpu-util' | 'gpu' | 'ram' = 'cpu-util'; expectedLifespan = 4; protected authCredentials: object | undefined; @@ -160,7 +160,7 @@ export class BoaviztaCpuImpactModel constructor() { super(); - this.metricType = 'cpu'; + this.metricType = 'cpu-util'; this.componentType = 'cpu'; } @@ -190,11 +190,11 @@ export class BoaviztaCpuImpactModel staticParams.verbose = undefined; } - if (!('name' in staticParams)) { + if (!('processor' in staticParams)) { throw new Error('Improper configure: Missing name parameter'); } - if (!('core_units' in staticParams)) { + if (!('core-units' in staticParams)) { throw new Error('Improper configure: Missing core_units parameter'); } From 6ca8f33cd19f1db0ee1974a7554a6a8c2634b10f Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 12:02:58 +0530 Subject: [PATCH 127/199] Base implementation for teads-aws. Fixes #100 Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/aws-embodied.json | 1 + src/lib/teads-aws/aws-instances.json | 1 + src/lib/teads-aws/index.test.ts | 61 +++++++ src/lib/teads-aws/index.ts | 232 +++++++++++++++++++++++++++ 4 files changed, 295 insertions(+) create mode 100644 src/lib/teads-aws/aws-embodied.json create mode 100644 src/lib/teads-aws/aws-instances.json create mode 100644 src/lib/teads-aws/index.test.ts create mode 100644 src/lib/teads-aws/index.ts diff --git a/src/lib/teads-aws/aws-embodied.json b/src/lib/teads-aws/aws-embodied.json new file mode 100644 index 000000000..97c96a2c1 --- /dev/null +++ b/src/lib/teads-aws/aws-embodied.json @@ -0,0 +1 @@ +[{"": "0", "type": "a1.medium", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "1", "type": "a1.large", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "2", "type": "a1.xlarge", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "3", "type": "a1.2xlarge", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "4", "type": "a1.4xlarge", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "5", "type": "a1.metal", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "6", "type": "c1.medium", "additional_memory": "36.09", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1536.09"}, {"": "7", "type": "c1.xlarge", "additional_memory": "36.09", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1536.09"}, {"": "8", "type": "cr1.8xlarge", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "9", "type": "cc2.8xlarge", "additional_memory": "61.77", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1561.77"}, {"": "10", "type": "c3.large", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1361.07"}, {"": "11", "type": "c3.xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1361.07"}, {"": "12", "type": "c3.2xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1361.07"}, {"": "13", "type": "c3.4xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1361.07"}, {"": "14", "type": "c3.8xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1361.07"}, {"": "15", "type": "c4.large", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "16", "type": "c4.xlarge", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "17", "type": "c4.2xlarge", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "18", "type": "c4.4xlarge", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "19", "type": "c4.8xlarge", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "20", "type": "c5.large", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "21", "type": "c5.xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "22", "type": "c5.2xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "23", "type": "c5.4xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "24", "type": "c5.9xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "25", "type": "c5.12xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "26", "type": "c5.18xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "27", "type": "c5.24xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "28", "type": "c5.metal", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "29", "type": "c5a.large", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "30", "type": "c5a.xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "31", "type": "c5a.2xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "32", "type": "c5a.4xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "33", "type": "c5a.8xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "34", "type": "c5a.12xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "35", "type": "c5a.16xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "36", "type": "c5a.24xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1244.29"}, {"": "37", "type": "c5ad.large", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "38", "type": "c5ad.xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "39", "type": "c5ad.2xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "40", "type": "c5ad.4xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "41", "type": "c5ad.8xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "42", "type": "c5ad.12xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "43", "type": "c5ad.16xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "44", "type": "c5ad.24xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1444.29"}, {"": "45", "type": "c5d.large", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "46", "type": "c5d.xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "47", "type": "c5d.2xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "48", "type": "c5d.4xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "49", "type": "c5d.9xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "50", "type": "c5d.12xlarge", "additional_memory": "244.29", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1744.29"}, {"": "51", "type": "c5d.18xlarge", "additional_memory": "244.29", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1544.29"}, {"": "52", "type": "c5d.24xlarge", "additional_memory": "244.29", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1744.29"}, {"": "53", "type": "c5d.metal", "additional_memory": "244.29", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1744.29"}, {"": "54", "type": "c5n.large", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "55", "type": "c5n.xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "56", "type": "c5n.2xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "57", "type": "c5n.4xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "58", "type": "c5n.9xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "59", "type": "c5n.18xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "60", "type": "c5n.metal", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "61", "type": "c6g.medium", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "62", "type": "c6g.large", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "63", "type": "c6g.xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "64", "type": "c6g.2xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "65", "type": "c6g.4xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "66", "type": "c6g.8xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "67", "type": "c6g.12xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "68", "type": "c6g.16xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "69", "type": "c6g.metal", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "70", "type": "c6gd.medium", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "71", "type": "c6gd.large", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "72", "type": "c6gd.xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "73", "type": "c6gd.2xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "74", "type": "c6gd.4xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "75", "type": "c6gd.8xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "76", "type": "c6gd.12xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "77", "type": "c6gd.16xlarge", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "78", "type": "c6gd.metal", "additional_memory": "155.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1355.46"}, {"": "79", "type": "c6gn.medium", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "80", "type": "c6gn.large", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "81", "type": "c6gn.xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "82", "type": "c6gn.2xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "83", "type": "c6gn.4xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "84", "type": "c6gn.8xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "85", "type": "c6gn.12xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "86", "type": "c6gn.16xlarge", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "87", "type": "d2.xlarge", "additional_memory": "316.47", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2616.47"}, {"": "88", "type": "d2.2xlarge", "additional_memory": "316.47", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2616.47"}, {"": "89", "type": "d2.4xlarge", "additional_memory": "316.47", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2616.47"}, {"": "90", "type": "d2.8xlarge", "additional_memory": "316.47", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2616.47"}, {"": "91", "type": "d3.xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "92", "type": "d3.2xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "93", "type": "d3.4xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "94", "type": "d3.8xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "95", "type": "d3en.xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "96", "type": "d3en.2xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "97", "type": "d3en.4xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "98", "type": "d3en.6xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "99", "type": "d3en.8xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "100", "type": "d3en.12xlarge", "additional_memory": "244.29", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2544.29"}, {"": "101", "type": "dc2.large", "additional_memory": "316.47", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1816.47"}, {"": "102", "type": "dc2.8xlarge", "additional_memory": "316.47", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1816.47"}, {"": "103", "type": "ds2.xlarge", "additional_memory": "316.47", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1816.47"}, {"": "104", "type": "ds2.8xlarge", "additional_memory": "316.47", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1816.47"}, {"": "105", "type": "f1.2xlarge", "additional_memory": "1332.5", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2832.5"}, {"": "106", "type": "f1.4xlarge", "additional_memory": "1332.5", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2832.5"}, {"": "107", "type": "f1.16xlarge", "additional_memory": "1332.5", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2832.5"}, {"": "108", "type": "g2.2xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "1961.07"}, {"": "109", "type": "g2.8xlarge", "additional_memory": "61.07", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "1961.07"}, {"": "110", "type": "g3s.xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "2355.15"}, {"": "111", "type": "g3.4xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "2355.15"}, {"": "112", "type": "g3.8xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "2355.15"}, {"": "113", "type": "g3.16xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "600.0", "total": "2355.15"}, {"": "114", "type": "g4dn.xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "115", "type": "g4dn.2xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "116", "type": "g4dn.4xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "117", "type": "g4dn.8xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "118", "type": "g4dn.16xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "119", "type": "g4dn.12xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "120", "type": "g4dn.metal", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3010.79"}, {"": "121", "type": "g4ad.4xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "600.0", "total": "2310.79"}, {"": "122", "type": "g4ad.8xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "600.0", "total": "2310.79"}, {"": "123", "type": "g4ad.16xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "600.0", "total": "2310.79"}, {"": "124", "type": "h1.2xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "125", "type": "h1.4xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "126", "type": "h1.8xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "127", "type": "h1.16xlarge", "additional_memory": "333.12", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2633.12"}, {"": "128", "type": "hs1.8xlarge", "additional_memory": "316.47", "additional_storage": "1200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2616.47"}, {"": "129", "type": "i2.xlarge", "additional_memory": "316.47", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2216.47"}, {"": "130", "type": "i2.2xlarge", "additional_memory": "316.47", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2216.47"}, {"": "131", "type": "i2.4xlarge", "additional_memory": "316.47", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2216.47"}, {"": "132", "type": "i2.8xlarge", "additional_memory": "316.47", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2216.47"}, {"": "133", "type": "i3.large", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "134", "type": "i3.xlarge", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "135", "type": "i3.2xlarge", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "136", "type": "i3.4xlarge", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "137", "type": "i3.8xlarge", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "138", "type": "i3.16xlarge", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "139", "type": "i3.metal", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "140", "type": "i3en.large", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "141", "type": "i3en.xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "142", "type": "i3en.2xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "143", "type": "i3en.3xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "144", "type": "i3en.6xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "145", "type": "i3en.12xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "146", "type": "i3en.24xlarge", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "147", "type": "i3en.metal", "additional_memory": "1043.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2943.79"}, {"": "148", "type": "inf1.xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "149", "type": "inf1.2xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "150", "type": "inf1.6xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "151", "type": "inf1.24xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "152", "type": "m1.small", "additional_memory": "144.35", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1644.35"}, {"": "153", "type": "m1.medium", "additional_memory": "144.35", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1644.35"}, {"": "154", "type": "m1.large", "additional_memory": "144.35", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1644.35"}, {"": "155", "type": "m1.xlarge", "additional_memory": "144.35", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1644.35"}, {"": "156", "type": "m2.xlarge", "additional_memory": "366.44", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1666.44"}, {"": "157", "type": "m2.2xlarge", "additional_memory": "366.44", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1666.44"}, {"": "158", "type": "m2.4xlarge", "additional_memory": "366.44", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1666.44"}, {"": "159", "type": "m3.medium", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "160", "type": "m3.large", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "161", "type": "m3.xlarge", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "162", "type": "m3.2xlarge", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "163", "type": "m4.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "164", "type": "m4.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "165", "type": "m4.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "166", "type": "m4.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "167", "type": "m4.10xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "168", "type": "m4.16xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "169", "type": "m5.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "170", "type": "m5.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "171", "type": "m5.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "172", "type": "m5.4xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "173", "type": "m5.8xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "174", "type": "m5.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "175", "type": "m5.16xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "176", "type": "m5.24xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "177", "type": "m5.metal", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "178", "type": "m5a.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "179", "type": "m5a.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "180", "type": "m5a.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "181", "type": "m5a.4xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "182", "type": "m5a.8xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "183", "type": "m5a.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "184", "type": "m5a.16xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "185", "type": "m5a.24xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "186", "type": "m5ad.large", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "187", "type": "m5ad.xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "188", "type": "m5ad.2xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "189", "type": "m5ad.4xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "190", "type": "m5ad.8xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "191", "type": "m5ad.12xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "192", "type": "m5ad.16xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "193", "type": "m5ad.24xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "194", "type": "m5d.large", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "195", "type": "m5d.xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "196", "type": "m5d.2xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "197", "type": "m5d.4xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "198", "type": "m5d.8xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "199", "type": "m5d.12xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "200", "type": "m5d.16xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "201", "type": "m5d.24xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "202", "type": "m5d.metal", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "203", "type": "m5dn.large", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "204", "type": "m5dn.xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "205", "type": "m5dn.2xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "206", "type": "m5dn.4xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "207", "type": "m5dn.8xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "208", "type": "m5dn.12xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "209", "type": "m5dn.16xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "210", "type": "m5dn.24xlarge", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "211", "type": "m5dn.metal", "additional_memory": "510.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2010.79"}, {"": "212", "type": "m5n.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "213", "type": "m5n.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "214", "type": "m5n.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "215", "type": "m5n.4xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "216", "type": "m5n.8xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "217", "type": "m5n.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "218", "type": "m5n.16xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "219", "type": "m5n.24xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "220", "type": "m5n.metal", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "221", "type": "m5zn.large", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "222", "type": "m5zn.xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "223", "type": "m5zn.2xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "224", "type": "m5zn.3xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "225", "type": "m5zn.6xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "226", "type": "m5zn.12xlarge", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "227", "type": "m5zn.metal", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "228", "type": "m6g.medium", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "229", "type": "m6g.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "230", "type": "m6g.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "231", "type": "m6g.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "232", "type": "m6g.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "233", "type": "m6g.8xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "234", "type": "m6g.12xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "235", "type": "m6g.16xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "236", "type": "m6g.metal", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "237", "type": "m6gd.medium", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "238", "type": "m6gd.large", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "239", "type": "m6gd.xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "240", "type": "m6gd.2xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "241", "type": "m6gd.4xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "242", "type": "m6gd.8xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "243", "type": "m6gd.12xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "244", "type": "m6gd.16xlarge", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "245", "type": "m6gd.metal", "additional_memory": "333.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1533.12"}, {"": "246", "type": "m6i.large", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "247", "type": "m6i.xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "248", "type": "m6i.2xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "249", "type": "m6i.4xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "250", "type": "m6i.8xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "251", "type": "m6i.12xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "252", "type": "m6i.16xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "253", "type": "m6i.24xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "254", "type": "m6i.32xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1788.46"}, {"": "255", "type": "mac1.metal", "additional_memory": "22.21", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1022.21"}, {"": "256", "type": "p2.xlarge", "additional_memory": "993.82", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "2400.0", "total": "4493.82"}, {"": "257", "type": "p2.8xlarge", "additional_memory": "993.82", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "2400.0", "total": "4493.82"}, {"": "258", "type": "p2.16xlarge", "additional_memory": "993.82", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "2400.0", "total": "4493.82"}, {"": "259", "type": "p3.2xlarge", "additional_memory": "1043.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3543.79"}, {"": "260", "type": "p3.8xlarge", "additional_memory": "1043.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3543.79"}, {"": "261", "type": "p3.16xlarge", "additional_memory": "1043.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3543.79"}, {"": "262", "type": "p3dn.24xlarge", "additional_memory": "1043.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "3543.79"}, {"": "263", "type": "p4d.24xlarge", "additional_memory": "1576.79", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "1200.0", "total": "4676.79"}, {"": "264", "type": "ra3.4xlarge", "additional_memory": "510.79", "additional_storage": "500.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2110.79"}, {"": "265", "type": "ra3.16xlarge", "additional_memory": "510.79", "additional_storage": "500.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2110.79"}, {"": "266", "type": "r3.large", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "267", "type": "r3.xlarge", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "268", "type": "r3.2xlarge", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "269", "type": "r3.4xlarge", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "270", "type": "r3.8xlarge", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "271", "type": "r4.large", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "272", "type": "r4.xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "273", "type": "r4.2xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "274", "type": "r4.4xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "275", "type": "r4.8xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "276", "type": "r4.16xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "277", "type": "r5.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "278", "type": "r5.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "279", "type": "r5.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "280", "type": "r5.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "281", "type": "r5.8xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "282", "type": "r5.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "283", "type": "r5.16xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "284", "type": "r5.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "285", "type": "r5.metal", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "286", "type": "r5a.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "287", "type": "r5a.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "288", "type": "r5a.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "289", "type": "r5a.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "290", "type": "r5a.8xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "291", "type": "r5a.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "292", "type": "r5a.16xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "293", "type": "r5a.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "294", "type": "r5ad.large", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "295", "type": "r5ad.xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "296", "type": "r5ad.2xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "297", "type": "r5ad.4xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "298", "type": "r5ad.8xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "299", "type": "r5ad.12xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "300", "type": "r5ad.16xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "301", "type": "r5ad.24xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "302", "type": "r5d.large", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "303", "type": "r5d.xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "304", "type": "r5d.2xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "305", "type": "r5d.4xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "306", "type": "r5d.8xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "307", "type": "r5d.12xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "308", "type": "r5d.16xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "309", "type": "r5d.24xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "310", "type": "r5d.metal", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "311", "type": "r5dn.large", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "312", "type": "r5dn.xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "313", "type": "r5dn.2xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "314", "type": "r5dn.4xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "315", "type": "r5dn.8xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "316", "type": "r5dn.12xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "317", "type": "r5dn.16xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "318", "type": "r5dn.24xlarge", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "319", "type": "r5dn.metal", "additional_memory": "1043.79", "additional_storage": "400.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2543.79"}, {"": "320", "type": "r5n.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "321", "type": "r5n.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "322", "type": "r5n.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "323", "type": "r5n.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "324", "type": "r5n.8xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "325", "type": "r5n.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "326", "type": "r5n.16xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "327", "type": "r5n.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "328", "type": "r5n.metal", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "329", "type": "r5b.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "330", "type": "r5b.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "331", "type": "r5b.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "332", "type": "r5b.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "333", "type": "r5b.8xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "334", "type": "r5b.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "335", "type": "r5b.16xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "336", "type": "r5b.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "337", "type": "r5b.metal", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "338", "type": "r6g.medium", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "339", "type": "r6g.large", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "340", "type": "r6g.xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "341", "type": "r6g.2xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "342", "type": "r6g.4xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "343", "type": "r6g.8xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "344", "type": "r6g.12xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "345", "type": "r6g.16xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "346", "type": "r6g.metal", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "347", "type": "r6gd.medium", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "348", "type": "r6gd.large", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "349", "type": "r6gd.xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "350", "type": "r6gd.2xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "351", "type": "r6gd.4xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "352", "type": "r6gd.8xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "353", "type": "r6gd.12xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "354", "type": "r6gd.16xlarge", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "355", "type": "r6gd.metal", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "356", "type": "t1.micro", "additional_memory": "177.67", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1277.67"}, {"": "357", "type": "t2.nano", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "358", "type": "t2.micro", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "359", "type": "t2.small", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "360", "type": "t2.medium", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "361", "type": "t2.large", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "362", "type": "t2.xlarge", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "363", "type": "t2.2xlarge", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "364", "type": "t3.nano", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "365", "type": "t3.micro", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "366", "type": "t3.small", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "367", "type": "t3.medium", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "368", "type": "t3.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "369", "type": "t3.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "370", "type": "t3.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "371", "type": "t3a.nano", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "372", "type": "t3a.micro", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "373", "type": "t3a.small", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "374", "type": "t3a.medium", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "375", "type": "t3a.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "376", "type": "t3a.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "377", "type": "t3a.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "378", "type": "t4g.nano", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "379", "type": "t4g.micro", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "380", "type": "t4g.small", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "381", "type": "t4g.medium", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "382", "type": "t4g.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "383", "type": "t4g.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "384", "type": "t4g.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "385", "type": "u-6tb1.metal", "additional_memory": "34089.79", "additional_storage": "0.0", "additional_cpus": "700.0", "additional_gpus": "0.0", "total": "35789.79"}, {"": "386", "type": "u-9tb1.metal", "additional_memory": "34089.79", "additional_storage": "0.0", "additional_cpus": "700.0", "additional_gpus": "0.0", "total": "35789.79"}, {"": "387", "type": "u-12tb1.metal", "additional_memory": "34089.79", "additional_storage": "0.0", "additional_cpus": "700.0", "additional_gpus": "0.0", "total": "35789.79"}, {"": "388", "type": "u-18tb1.metal", "additional_memory": "34089.79", "additional_storage": "0.0", "additional_cpus": "700.0", "additional_gpus": "0.0", "total": "35789.79"}, {"": "389", "type": "u-24tb1.metal", "additional_memory": "34089.79", "additional_storage": "0.0", "additional_cpus": "700.0", "additional_gpus": "0.0", "total": "35789.79"}, {"": "390", "type": "x1.16xlarge", "additional_memory": "2687.21", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "4187.21"}, {"": "391", "type": "x1.32xlarge", "additional_memory": "2687.21", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "4187.21"}, {"": "392", "type": "x1e.xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "393", "type": "x1e.2xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "394", "type": "x1e.4xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "395", "type": "x1e.8xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "396", "type": "x1e.16xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "397", "type": "x1e.32xlarge", "additional_memory": "5396.62", "additional_storage": "200.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6896.62"}, {"": "398", "type": "x2gd.medium", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "399", "type": "x2gd.large", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "400", "type": "x2gd.xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "401", "type": "x2gd.2xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "402", "type": "x2gd.4xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "403", "type": "x2gd.8xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "404", "type": "x2gd.12xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "405", "type": "x2gd.16xlarge", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "406", "type": "x2gd.metal", "additional_memory": "1399.12", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "2599.12"}, {"": "407", "type": "z1d.large", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "408", "type": "z1d.xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "409", "type": "z1d.2xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "410", "type": "z1d.3xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "411", "type": "z1d.6xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "412", "type": "z1d.12xlarge", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "413", "type": "z1d.metal", "additional_memory": "510.79", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1810.79"}, {"": "414", "type": "cache.t2.micro", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "415", "type": "cache.t2.small", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "416", "type": "cache.t2.medium", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "417", "type": "cache.t3.micro", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "418", "type": "cache.t3.small", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "419", "type": "cache.t3.medium", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "420", "type": "cache.m3.medium", "additional_memory": "510.79", "additional_storage": "100.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1710.79"}, {"": "421", "type": "cache.m4.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "422", "type": "cache.m4.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "423", "type": "cache.m4.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "424", "type": "cache.m4.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "425", "type": "cache.m4.10xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "426", "type": "cache.m5.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "427", "type": "cache.m5.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "428", "type": "cache.m5.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "429", "type": "cache.m5.4xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "430", "type": "cache.m5.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "431", "type": "cache.m5.24xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "432", "type": "cache.m6g.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "433", "type": "cache.m6g.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "434", "type": "cache.m6g.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "435", "type": "cache.m6g.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "436", "type": "cache.m6g.8xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "437", "type": "cache.m6g.12xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "438", "type": "cache.m6g.16xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "439", "type": "cache.r3.2xlarge", "additional_memory": "316.47", "additional_storage": "100.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1516.47"}, {"": "440", "type": "cache.r4.large", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "441", "type": "cache.r4.xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "442", "type": "cache.r4.2xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "443", "type": "cache.r4.4xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "444", "type": "cache.r4.8xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "445", "type": "cache.r4.16xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "446", "type": "cache.r5.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "447", "type": "cache.r5.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "448", "type": "cache.r5.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "449", "type": "cache.r5.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "450", "type": "cache.r5.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "451", "type": "cache.r5.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "452", "type": "cache.r6g.large", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "453", "type": "cache.r6g.xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "454", "type": "cache.r6g.2xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "455", "type": "cache.r6g.4xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "456", "type": "cache.r6g.8xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "457", "type": "cache.r6g.12xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "458", "type": "cache.r6g.16xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "459", "type": "t3.small.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "460", "type": "t3.medium.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "461", "type": "t2.micro.elasticsearch", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "462", "type": "t2.small.elasticsearch", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "463", "type": "t2.medium.elasticsearch", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "464", "type": "m5.large.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "465", "type": "m5.xlarge.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "466", "type": "m5.2xlarge.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "467", "type": "m5.4xlarge.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "468", "type": "m5.12xlarge.elasticsearch", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "469", "type": "m4.large.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "470", "type": "m4.xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "471", "type": "m4.2xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "472", "type": "m4.4xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "473", "type": "m4.10xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "474", "type": "m3.medium.elasticsearch", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "475", "type": "m3.large.elasticsearch", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "476", "type": "m3.xlarge.elasticsearch", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "477", "type": "m3.2xlarge.elasticsearch", "additional_memory": "310.92", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.92"}, {"": "478", "type": "c5.large.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "479", "type": "c5.xlarge.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "480", "type": "c5.2xlarge.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "481", "type": "c5.4xlarge.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "482", "type": "c5.9xlarge.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "483", "type": "c5.18xlarge.elasticsearch", "additional_memory": "244.29", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1344.29"}, {"": "484", "type": "c4.large.elasticsearch", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "485", "type": "c4.xlarge.elasticsearch", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "486", "type": "c4.2xlarge.elasticsearch", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "487", "type": "c4.4xlarge.elasticsearch", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "488", "type": "c4.8xlarge.elasticsearch", "additional_memory": "61.07", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1161.07"}, {"": "489", "type": "r5.large.elasticsearch", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "490", "type": "r5.xlarge.elasticsearch", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "491", "type": "r5.2xlarge.elasticsearch", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "492", "type": "r5.4xlarge.elasticsearch", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "493", "type": "r5.12xlarge.elasticsearch", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "494", "type": "r4.large.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "495", "type": "r4.xlarge.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "496", "type": "r4.2xlarge.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "497", "type": "r4.4xlarge.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "498", "type": "r4.8xlarge.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "499", "type": "r4.16xlarge.elasticsearch", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "500", "type": "r3.large.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "501", "type": "r3.xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "502", "type": "r3.2xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "503", "type": "r3.4xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "504", "type": "r3.8xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "505", "type": "i3.large.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "506", "type": "i3.xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "507", "type": "i3.2xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "508", "type": "i3.4xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "509", "type": "i3.8xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "510", "type": "i3.16xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "800.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2588.46"}, {"": "511", "type": "i2.xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "512", "type": "i2.2xlarge.elasticsearch", "additional_memory": "316.47", "additional_storage": "200.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1616.47"}, {"": "513", "type": "m6g.large.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "514", "type": "m6g.xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "515", "type": "m6g.2xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "516", "type": "m6g.4xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "517", "type": "m6g.8xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "518", "type": "m6g.12xlarge.elasticsearch", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "519", "type": "c6g.large.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "520", "type": "c6g.xlarge.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "521", "type": "c6g.2xlarge.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "522", "type": "c6g.4xlarge.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "523", "type": "c6g.8xlarge.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "524", "type": "c6g.12xlarge.elasticsearch", "additional_memory": "155.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1155.46"}, {"": "525", "type": "r6g.large.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "526", "type": "r6g.xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "527", "type": "r6g.2xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "528", "type": "r6g.4xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "529", "type": "r6g.8xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "530", "type": "r6g.12xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "531", "type": "r6gd.large.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "532", "type": "r6gd.xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "533", "type": "r6gd.2xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "534", "type": "r6gd.4xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "535", "type": "r6gd.8xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "536", "type": "r6gd.12xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "537", "type": "r6gd.16xlarge.elasticsearch", "additional_memory": "688.46", "additional_storage": "200.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1888.46"}, {"": "538", "type": "db.m6g.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "539", "type": "db.m6g.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "540", "type": "db.m6g.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "541", "type": "db.m6g.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "542", "type": "db.m6g.8xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "543", "type": "db.m6g.12xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "544", "type": "db.m6g.16xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1333.12"}, {"": "545", "type": "db.m5.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "546", "type": "db.m5.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "547", "type": "db.m5.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "548", "type": "db.m5.4xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "549", "type": "db.m5.8xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "550", "type": "db.m5.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "551", "type": "db.m5.16xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "552", "type": "db.m5.24xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "553", "type": "db.m4.large", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "554", "type": "db.m4.xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "555", "type": "db.m4.2xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "556", "type": "db.m4.4xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "557", "type": "db.m4.10xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "558", "type": "db.m4.16xlarge", "additional_memory": "333.12", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1433.12"}, {"": "559", "type": "db.m3.medium", "additional_memory": "310.92", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1410.92"}, {"": "560", "type": "db.m3.large", "additional_memory": "310.92", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1410.92"}, {"": "561", "type": "db.m3.xlarge", "additional_memory": "310.92", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1410.92"}, {"": "562", "type": "db.m3.2xlarge", "additional_memory": "310.92", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1410.92"}, {"": "563", "type": "db.m1.small", "additional_memory": "144.35", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1244.35"}, {"": "564", "type": "db.m1.medium", "additional_memory": "144.35", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1244.35"}, {"": "565", "type": "db.m1.large", "additional_memory": "144.35", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1244.35"}, {"": "566", "type": "db.m1.xlarge", "additional_memory": "144.35", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1244.35"}, {"": "567", "type": "db.z1d.12xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "568", "type": "db.z1d.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "569", "type": "db.z1d.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "570", "type": "db.z1d.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "571", "type": "db.z1d.3xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "572", "type": "db.z1d.6xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "573", "type": "db.x1e.xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "574", "type": "db.x1e.2xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "575", "type": "db.x1e.4xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "576", "type": "db.x1e.8xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "577", "type": "db.x1e.16xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "578", "type": "db.x1e.32xlarge", "additional_memory": "5396.62", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "6696.62"}, {"": "579", "type": "db.x1.32xlarge", "additional_memory": "2687.21", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "3987.21"}, {"": "580", "type": "db.x1.16xlarge", "additional_memory": "2687.21", "additional_storage": "0.0", "additional_cpus": "300.0", "additional_gpus": "0.0", "total": "3987.21"}, {"": "581", "type": "db.r6g.large", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "582", "type": "db.r6g.xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "583", "type": "db.r6g.2xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "584", "type": "db.r6g.4xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "585", "type": "db.r6g.12xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "586", "type": "db.r6g.16xlarge", "additional_memory": "688.46", "additional_storage": "0.0", "additional_cpus": "0.0", "additional_gpus": "0.0", "total": "1688.46"}, {"": "587", "type": "db.r5.large", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "588", "type": "db.r5.xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "589", "type": "db.r5.2xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "590", "type": "db.r5.4xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "591", "type": "db.r5.8xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "592", "type": "db.r5.12xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "593", "type": "db.r5.16xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "594", "type": "db.r5.24xlarge", "additional_memory": "1043.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "2143.79"}, {"": "595", "type": "db.r4.large", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "596", "type": "db.r4.xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "597", "type": "db.r4.2xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "598", "type": "db.r4.4xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "599", "type": "db.r4.8xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "600", "type": "db.r4.16xlarge", "additional_memory": "655.15", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1755.15"}, {"": "601", "type": "db.r3.large", "additional_memory": "316.47", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1416.47"}, {"": "602", "type": "db.r3.xlarge", "additional_memory": "316.47", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1416.47"}, {"": "603", "type": "db.r3.2xlarge", "additional_memory": "316.47", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1416.47"}, {"": "604", "type": "db.r3.4xlarge", "additional_memory": "316.47", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1416.47"}, {"": "605", "type": "db.r3.8xlarge", "additional_memory": "316.47", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1416.47"}, {"": "606", "type": "db.m2.xlarge", "additional_memory": "366.44", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1466.44"}, {"": "607", "type": "db.m2.2xlarge", "additional_memory": "366.44", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1466.44"}, {"": "608", "type": "db.m2.4xlarge", "additional_memory": "366.44", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1466.44"}, {"": "609", "type": "db.t3.micro", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "610", "type": "db.t3.small", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "611", "type": "db.t3.medium", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "612", "type": "db.t3.large", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "613", "type": "db.t3.xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "614", "type": "db.t3.2xlarge", "additional_memory": "510.79", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1610.79"}, {"": "615", "type": "db.t2.micro", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "616", "type": "db.t2.small", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "617", "type": "db.t2.medium", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "618", "type": "db.t2.large", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "619", "type": "db.t2.xlarge", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}, {"": "620", "type": "db.t2.2xlarge", "additional_memory": "377.54", "additional_storage": "0.0", "additional_cpus": "100.0", "additional_gpus": "0.0", "total": "1477.54"}] diff --git a/src/lib/teads-aws/aws-instances.json b/src/lib/teads-aws/aws-instances.json new file mode 100644 index 000000000..d50682863 --- /dev/null +++ b/src/lib/teads-aws/aws-instances.json @@ -0,0 +1 @@ +[{"Instance type": "a1.medium", "Release Date": "November 2018", "Instance vCPU": "1", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,29", "PkgWatt @ 10%": "0,80", "PkgWatt @ 50%": "1,88", "PkgWatt @ 100%": "2,55", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,2", "Instance @ 10%": "1,9", "Instance @ 50%": "3,2", "Instance @ 100%": "4,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "a1.large", "Release Date": "November 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,58", "PkgWatt @ 10%": "1,59", "PkgWatt @ 50%": "3,76", "PkgWatt @ 100%": "5,09", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "2,4", "Instance @ 10%": "3,8", "Instance @ 50%": "6,4", "Instance @ 100%": "8,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "a1.xlarge", "Release Date": "November 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,16", "PkgWatt @ 10%": "3,18", "PkgWatt @ 50%": "7,52", "PkgWatt @ 100%": "10,19", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,8", "Instance @ 10%": "7,6", "Instance @ 50%": "12,7", "Instance @ 100%": "17,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "a1.2xlarge", "Release Date": "November 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,32", "PkgWatt @ 10%": "6,37", "PkgWatt @ 50%": "15,05", "PkgWatt @ 100%": "20,37", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "9,5", "Instance @ 10%": "15,2", "Instance @ 50%": "25,4", "Instance @ 100%": "34,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "a1.4xlarge", "Release Date": "November 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,65", "PkgWatt @ 10%": "12,73", "PkgWatt @ 50%": "30,09", "PkgWatt @ 100%": "40,74", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "19,0", "Instance @ 10%": "30,3", "Instance @ 50%": "50,9", "Instance @ 100%": "67,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "a1.metal", "Release Date": "October 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "16", "Platform CPU Name": "Graviton", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,65", "PkgWatt @ 10%": "12,73", "PkgWatt @ 50%": "30,09", "PkgWatt @ 100%": "40,74", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "19,0", "Instance @ 10%": "30,3", "Instance @ 50%": "50,9", "Instance @ 100%": "67,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton (ARM)"}, {"Instance type": "c1.medium", "Release Date": "May 2008", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2651 v2", "Instance Memory (in GB)": "1.7", "Platform Memory (in GB)": "42", "Storage Info (Type and Size in GB)": "1 x SSD 350", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,95", "PkgWatt @ 10%": "2,73", "PkgWatt @ 50%": "5,61", "PkgWatt @ 100%": "7,67", "RAMWatt @ Idle": "0,34", "RAMWatt @ 10%": "0,51", "RAMWatt @ 50%": "0,68", "RAMWatt @ 100%": "1,02", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "2,9", "Instance @ 10%": "4,8", "Instance @ 50%": "7,9", "Instance @ 100%": "10,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "c1.xlarge", "Release Date": "May 2008", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2651 v2", "Instance Memory (in GB)": "7", "Platform Memory (in GB)": "42", "Storage Info (Type and Size in GB)": "4 x SSD 420", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,82", "PkgWatt @ 10%": "10,90", "PkgWatt @ 50%": "22,43", "PkgWatt @ 100%": "30,70", "RAMWatt @ Idle": "1,40", "RAMWatt @ 10%": "2,10", "RAMWatt @ 50%": "2,80", "RAMWatt @ 100%": "4,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,3", "Instance @ Idle": "11,6", "Instance @ 10%": "19,3", "Instance @ 50%": "31,6", "Instance @ 100%": "41,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "cr1.8xlarge", "Release Date": "January 2013", "Instance vCPU": "32", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2 x 120 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,74", "PkgWatt @ 10%": "79,20", "PkgWatt @ 50%": "162,90", "PkgWatt @ 100%": "222,97", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "46,0", "Instance @ Idle": "122,5", "Instance @ 10%": "198,4", "Instance @ 50%": "306,5", "Instance @ 100%": "415,4", "Hardware Information on AWS Documentation & Comments": "dual 2.6 GHz Intel Xeon E5-2670 processors"}, {"Instance type": "cc2.8xlarge", "Release Date": "November 2011", "Instance vCPU": "32", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "60.5", "Platform Memory (in GB)": "60.5", "Storage Info (Type and Size in GB)": "4 x SSD 840", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,74", "PkgWatt @ 10%": "79,20", "PkgWatt @ 50%": "162,90", "PkgWatt @ 100%": "222,97", "RAMWatt @ Idle": "12,10", "RAMWatt @ 10%": "18,15", "RAMWatt @ 50%": "24,20", "RAMWatt @ 100%": "36,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "46,0", "Instance @ Idle": "85,8", "Instance @ 10%": "143,3", "Instance @ 50%": "233,1", "Instance @ 100%": "305,3", "Hardware Information on AWS Documentation & Comments": "dual Intel Xeon processors"}, {"Instance type": "c3.large", "Release Date": "November 2013", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2680 v2", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 16 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,39", "PkgWatt @ 10%": "3,96", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,15", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "4,4", "Instance @ 10%": "7,4", "Instance @ 50%": "11,9", "Instance @ 100%": "15,7", "Hardware Information on AWS Documentation & Comments": "2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processor"}, {"Instance type": "c3.xlarge", "Release Date": "November 2013", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2680 v2", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 40 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "8,9", "Instance @ 10%": "14,8", "Instance @ 50%": "23,9", "Instance @ 100%": "31,4", "Hardware Information on AWS Documentation & Comments": "2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processor"}, {"Instance type": "c3.2xlarge", "Release Date": "November 2013", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2680 v2", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 80 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "17,7", "Instance @ 10%": "29,5", "Instance @ 50%": "47,8", "Instance @ 100%": "62,8", "Hardware Information on AWS Documentation & Comments": "2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processor"}, {"Instance type": "c3.4xlarge", "Release Date": "November 2013", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2680 v2", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 160 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,10", "PkgWatt @ 10%": "31,68", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "89,19", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,4", "Instance @ Idle": "35,5", "Instance @ 10%": "59,1", "Instance @ 50%": "95,6", "Instance @ 100%": "125,6", "Hardware Information on AWS Documentation & Comments": "2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processor"}, {"Instance type": "c3.8xlarge", "Release Date": "November 2013", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2680 v2", "Instance Memory (in GB)": "60", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 320 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "12,00", "RAMWatt @ 10%": "18,00", "RAMWatt @ 50%": "24,00", "RAMWatt @ 100%": "36,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "71,0", "Instance @ 10%": "118,2", "Instance @ 50%": "191,1", "Instance @ 100%": "251,2", "Hardware Information on AWS Documentation & Comments": "2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processor"}, {"Instance type": "c4.large", "Release Date": "January 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,63", "PkgWatt @ 10%": "4,65", "PkgWatt @ 50%": "9,56", "PkgWatt @ 100%": "13,09", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "5,1", "Instance @ 10%": "8,5", "Instance @ 50%": "13,8", "Instance @ 100%": "18,0", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.xlarge", "Release Date": "January 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,26", "PkgWatt @ 10%": "9,30", "PkgWatt @ 50%": "19,12", "PkgWatt @ 100%": "26,17", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,4", "Instance @ Idle": "10,2", "Instance @ 10%": "16,9", "Instance @ 50%": "27,5", "Instance @ 100%": "36,1", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.2xlarge", "Release Date": "January 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,51", "PkgWatt @ 10%": "18,59", "PkgWatt @ 50%": "38,25", "PkgWatt @ 100%": "52,35", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,8", "Instance @ Idle": "20,3", "Instance @ 10%": "33,9", "Instance @ 50%": "55,0", "Instance @ 100%": "72,1", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.4xlarge", "Release Date": "January 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,03", "PkgWatt @ 10%": "37,19", "PkgWatt @ 50%": "76,49", "PkgWatt @ 100%": "104,70", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,6", "Instance @ Idle": "40,6", "Instance @ 10%": "67,8", "Instance @ 50%": "110,1", "Instance @ 100%": "144,3", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.8xlarge", "Release Date": "January 2015", "Instance vCPU": "36", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "60", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "29,31", "PkgWatt @ 10%": "83,68", "PkgWatt @ 50%": "172,10", "PkgWatt @ 100%": "235,57", "RAMWatt @ Idle": "12,00", "RAMWatt @ 10%": "18,00", "RAMWatt @ 50%": "24,00", "RAMWatt @ 100%": "36,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,6", "Instance @ Idle": "89,9", "Instance @ 10%": "150,3", "Instance @ 50%": "244,7", "Instance @ 100%": "320,2", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c5.large", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,41", "PkgWatt @ 10%": "3,75", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,77", "RAMWatt @ Idle": "0,78", "RAMWatt @ 10%": "1,41", "RAMWatt @ 50%": "2,47", "RAMWatt @ 100%": "3,53", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "4,9", "Instance @ 10%": "7,8", "Instance @ 50%": "13,3", "Instance @ 100%": "18,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,81", "PkgWatt @ 10%": "7,49", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "23,54", "RAMWatt @ Idle": "1,56", "RAMWatt @ 10%": "2,81", "RAMWatt @ 50%": "4,94", "RAMWatt @ 100%": "7,06", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,3", "Instance @ Idle": "9,7", "Instance @ 10%": "15,6", "Instance @ 50%": "26,6", "Instance @ 100%": "35,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,63", "PkgWatt @ 10%": "14,98", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "47,08", "RAMWatt @ Idle": "3,11", "RAMWatt @ 10%": "5,62", "RAMWatt @ 50%": "9,87", "RAMWatt @ 100%": "14,12", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,7", "Instance @ Idle": "19,4", "Instance @ 10%": "31,3", "Instance @ 50%": "53,1", "Instance @ 100%": "71,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,26", "PkgWatt @ 10%": "29,97", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "94,15", "RAMWatt @ Idle": "6,22", "RAMWatt @ 10%": "11,24", "RAMWatt @ 50%": "19,74", "RAMWatt @ 100%": "28,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,3", "Instance @ Idle": "38,8", "Instance @ 10%": "62,5", "Instance @ 50%": "106,2", "Instance @ 100%": "143,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.9xlarge", "Release Date": "November 2019", "Instance vCPU": "36", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "72", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "25,33", "PkgWatt @ 10%": "67,43", "PkgWatt @ 50%": "146,61", "PkgWatt @ 100%": "211,84", "RAMWatt @ Idle": "14,00", "RAMWatt @ 10%": "25,29", "RAMWatt @ 50%": "44,42", "RAMWatt @ 100%": "63,54", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "87,3", "Instance @ 10%": "140,7", "Instance @ 50%": "239,0", "Instance @ 100%": "323,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.12xlarge", "Release Date": "June 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,97", "PkgWatt @ 10%": "87,77", "PkgWatt @ 50%": "224,16", "PkgWatt @ 100%": "313,38", "RAMWatt @ Idle": "18,28", "RAMWatt @ 10%": "33,13", "RAMWatt @ 50%": "69,19", "RAMWatt @ 100%": "105,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "95,2", "Instance @ 10%": "168,9", "Instance @ 50%": "341,3", "Instance @ 100%": "466,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5.18xlarge", "Release Date": "November 2019", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "144", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "50,66", "PkgWatt @ 10%": "134,85", "PkgWatt @ 50%": "293,21", "PkgWatt @ 100%": "423,68", "RAMWatt @ Idle": "28,01", "RAMWatt @ 10%": "50,59", "RAMWatt @ 50%": "88,83", "RAMWatt @ 100%": "127,07", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "174,7", "Instance @ 10%": "281,4", "Instance @ 50%": "478,0", "Instance @ 100%": "646,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.24xlarge", "Release Date": "June 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "36,55", "RAMWatt @ 10%": "66,26", "RAMWatt @ 50%": "138,37", "RAMWatt @ 100%": "210,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "190,5", "Instance @ 10%": "337,8", "Instance @ 50%": "682,7", "Instance @ 100%": "933,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5.metal", "Release Date": "June 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "36,55", "RAMWatt @ 10%": "66,26", "RAMWatt @ 50%": "138,37", "RAMWatt @ 100%": "210,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "190,5", "Instance @ 10%": "337,8", "Instance @ 50%": "682,7", "Instance @ 100%": "933,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5a.large", "Release Date": "June 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,68", "PkgWatt @ 10%": "1,86", "PkgWatt @ 50%": "4,39", "PkgWatt @ 100%": "5,94", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,6", "Instance @ 10%": "4,2", "Instance @ 50%": "7,2", "Instance @ 100%": "9,5", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.xlarge", "Release Date": "June 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,35", "PkgWatt @ 10%": "3,71", "PkgWatt @ 50%": "8,78", "PkgWatt @ 100%": "11,88", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "5,3", "Instance @ 10%": "8,4", "Instance @ 50%": "14,3", "Instance @ 100%": "19,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.2xlarge", "Release Date": "June 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,71", "PkgWatt @ 10%": "7,43", "PkgWatt @ 50%": "17,55", "PkgWatt @ 100%": "23,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,7", "Instance @ Idle": "10,6", "Instance @ 10%": "16,9", "Instance @ 50%": "28,6", "Instance @ 100%": "38,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.4xlarge", "Release Date": "June 2020", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,42", "PkgWatt @ 10%": "14,85", "PkgWatt @ 50%": "35,11", "PkgWatt @ 100%": "47,53", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,3", "Instance @ Idle": "21,2", "Instance @ 10%": "33,8", "Instance @ 50%": "57,2", "Instance @ 100%": "76,1", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.8xlarge", "Release Date": "June 2020", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "10,84", "PkgWatt @ 10%": "29,70", "PkgWatt @ 50%": "70,21", "PkgWatt @ 100%": "95,06", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,7", "Instance @ Idle": "42,3", "Instance @ 10%": "67,6", "Instance @ 50%": "114,5", "Instance @ 100%": "152,1", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.12xlarge", "Release Date": "June 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "16,26", "PkgWatt @ 10%": "44,56", "PkgWatt @ 50%": "105,32", "PkgWatt @ 100%": "142,60", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "63,5", "Instance @ 10%": "101,4", "Instance @ 50%": "171,7", "Instance @ 100%": "228,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.16xlarge", "Release Date": "June 2020", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "21,68", "PkgWatt @ 10%": "59,41", "PkgWatt @ 50%": "140,42", "PkgWatt @ 100%": "190,13", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "37,3", "Instance @ Idle": "84,6", "Instance @ 10%": "135,1", "Instance @ 50%": "229,0", "Instance @ 100%": "304,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5a.24xlarge", "Release Date": "June 2020", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "32,52", "PkgWatt @ 10%": "89,11", "PkgWatt @ 50%": "210,63", "PkgWatt @ 100%": "285,19", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "126,9", "Instance @ 10%": "202,7", "Instance @ 50%": "343,4", "Instance @ 100%": "456,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.large", "Release Date": "August 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,68", "PkgWatt @ 10%": "1,86", "PkgWatt @ 50%": "4,39", "PkgWatt @ 100%": "5,94", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,6", "Instance @ 10%": "4,2", "Instance @ 50%": "7,2", "Instance @ 100%": "9,5", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.xlarge", "Release Date": "August 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,35", "PkgWatt @ 10%": "3,71", "PkgWatt @ 50%": "8,78", "PkgWatt @ 100%": "11,88", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "5,3", "Instance @ 10%": "8,4", "Instance @ 50%": "14,3", "Instance @ 100%": "19,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.2xlarge", "Release Date": "August 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,71", "PkgWatt @ 10%": "7,43", "PkgWatt @ 50%": "17,55", "PkgWatt @ 100%": "23,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,7", "Instance @ Idle": "10,6", "Instance @ 10%": "16,9", "Instance @ 50%": "28,6", "Instance @ 100%": "38,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.4xlarge", "Release Date": "August 2020", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,42", "PkgWatt @ 10%": "14,85", "PkgWatt @ 50%": "35,11", "PkgWatt @ 100%": "47,53", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,3", "Instance @ Idle": "21,2", "Instance @ 10%": "33,8", "Instance @ 50%": "57,2", "Instance @ 100%": "76,1", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.8xlarge", "Release Date": "August 2020", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "10,84", "PkgWatt @ 10%": "29,70", "PkgWatt @ 50%": "70,21", "PkgWatt @ 100%": "95,06", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,7", "Instance @ Idle": "42,3", "Instance @ 10%": "67,6", "Instance @ 50%": "114,5", "Instance @ 100%": "152,1", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.12xlarge", "Release Date": "August 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "16,26", "PkgWatt @ 10%": "44,56", "PkgWatt @ 50%": "105,32", "PkgWatt @ 100%": "142,60", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "63,5", "Instance @ 10%": "101,4", "Instance @ 50%": "171,7", "Instance @ 100%": "228,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.16xlarge", "Release Date": "August 2020", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 1200 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "21,68", "PkgWatt @ 10%": "59,41", "PkgWatt @ 50%": "140,42", "PkgWatt @ 100%": "190,13", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "37,3", "Instance @ Idle": "84,6", "Instance @ 10%": "135,1", "Instance @ 50%": "229,0", "Instance @ 100%": "304,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5ad.24xlarge", "Release Date": "August 2020", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "32,52", "PkgWatt @ 10%": "89,11", "PkgWatt @ 50%": "210,63", "PkgWatt @ 100%": "285,19", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "126,9", "Instance @ 10%": "202,7", "Instance @ 50%": "343,4", "Instance @ 100%": "456,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.3 GHz 2nd generation AMD EPYC 7002 Series Processor"}, {"Instance type": "c5d.large", "Release Date": "May 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 50 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,41", "PkgWatt @ 10%": "3,75", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,77", "RAMWatt @ Idle": "0,78", "RAMWatt @ 10%": "1,41", "RAMWatt @ 50%": "2,47", "RAMWatt @ 100%": "3,53", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "4,9", "Instance @ 10%": "7,8", "Instance @ 50%": "13,3", "Instance @ 100%": "18,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.xlarge", "Release Date": "May 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 100 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,81", "PkgWatt @ 10%": "7,49", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "23,54", "RAMWatt @ Idle": "1,56", "RAMWatt @ 10%": "2,81", "RAMWatt @ 50%": "4,94", "RAMWatt @ 100%": "7,06", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,3", "Instance @ Idle": "9,7", "Instance @ 10%": "15,6", "Instance @ 50%": "26,6", "Instance @ 100%": "35,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.2xlarge", "Release Date": "May 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 200 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,63", "PkgWatt @ 10%": "14,98", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "47,08", "RAMWatt @ Idle": "3,11", "RAMWatt @ 10%": "5,62", "RAMWatt @ 50%": "9,87", "RAMWatt @ 100%": "14,12", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,7", "Instance @ Idle": "19,4", "Instance @ 10%": "31,3", "Instance @ 50%": "53,1", "Instance @ 100%": "71,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.4xlarge", "Release Date": "May 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 400 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,26", "PkgWatt @ 10%": "29,97", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "94,15", "RAMWatt @ Idle": "6,22", "RAMWatt @ 10%": "11,24", "RAMWatt @ 50%": "19,74", "RAMWatt @ 100%": "28,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,3", "Instance @ Idle": "38,8", "Instance @ 10%": "62,5", "Instance @ 50%": "106,2", "Instance @ 100%": "143,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.9xlarge", "Release Date": "May 2018", "Instance vCPU": "36", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "72", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "1 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "25,33", "PkgWatt @ 10%": "67,43", "PkgWatt @ 50%": "146,61", "PkgWatt @ 100%": "211,84", "RAMWatt @ Idle": "14,00", "RAMWatt @ 10%": "25,29", "RAMWatt @ 50%": "44,42", "RAMWatt @ 100%": "63,54", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "87,3", "Instance @ 10%": "140,7", "Instance @ 50%": "239,0", "Instance @ 100%": "323,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.12xlarge", "Release Date": "November 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,97", "PkgWatt @ 10%": "87,77", "PkgWatt @ 50%": "224,16", "PkgWatt @ 100%": "313,38", "RAMWatt @ Idle": "18,28", "RAMWatt @ 10%": "33,13", "RAMWatt @ 50%": "69,19", "RAMWatt @ 100%": "105,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "95,2", "Instance @ 10%": "168,9", "Instance @ 50%": "341,3", "Instance @ 100%": "466,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5d.18xlarge", "Release Date": "May 2018", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "144", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "50,66", "PkgWatt @ 10%": "134,85", "PkgWatt @ 50%": "293,21", "PkgWatt @ 100%": "423,68", "RAMWatt @ Idle": "28,01", "RAMWatt @ 10%": "50,59", "RAMWatt @ 50%": "88,83", "RAMWatt @ 100%": "127,07", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "174,7", "Instance @ 10%": "281,4", "Instance @ 50%": "478,0", "Instance @ 100%": "646,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5d.24xlarge", "Release Date": "November 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "36,55", "RAMWatt @ 10%": "66,26", "RAMWatt @ 50%": "138,37", "RAMWatt @ 100%": "210,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "190,5", "Instance @ 10%": "337,8", "Instance @ 50%": "682,7", "Instance @ 100%": "933,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5d.metal", "Release Date": "November 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "36,55", "RAMWatt @ 10%": "66,26", "RAMWatt @ 50%": "138,37", "RAMWatt @ 100%": "210,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "190,5", "Instance @ 10%": "337,8", "Instance @ 50%": "682,7", "Instance @ 100%": "933,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.9 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "c5n.large", "Release Date": "November 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "5.25", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,41", "PkgWatt @ 10%": "3,75", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,77", "RAMWatt @ Idle": "1,02", "RAMWatt @ 10%": "1,84", "RAMWatt @ 50%": "3,24", "RAMWatt @ 100%": "4,63", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "5,1", "Instance @ 10%": "8,3", "Instance @ 50%": "14,0", "Instance @ 100%": "19,1", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.xlarge", "Release Date": "November 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "10.5", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,81", "PkgWatt @ 10%": "7,49", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "23,54", "RAMWatt @ Idle": "2,04", "RAMWatt @ 10%": "3,69", "RAMWatt @ 50%": "6,48", "RAMWatt @ 100%": "9,27", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,3", "Instance @ Idle": "10,2", "Instance @ 10%": "16,5", "Instance @ 50%": "28,1", "Instance @ 100%": "38,1", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.2xlarge", "Release Date": "November 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "21", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,63", "PkgWatt @ 10%": "14,98", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "47,08", "RAMWatt @ Idle": "4,08", "RAMWatt @ 10%": "7,38", "RAMWatt @ 50%": "12,95", "RAMWatt @ 100%": "18,53", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,7", "Instance @ Idle": "20,4", "Instance @ 10%": "33,0", "Instance @ 50%": "56,2", "Instance @ 100%": "76,3", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.4xlarge", "Release Date": "November 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "42", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,26", "PkgWatt @ 10%": "29,97", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "94,15", "RAMWatt @ Idle": "8,17", "RAMWatt @ 10%": "14,75", "RAMWatt @ 50%": "25,91", "RAMWatt @ 100%": "37,06", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,3", "Instance @ Idle": "40,8", "Instance @ 10%": "66,1", "Instance @ 50%": "112,4", "Instance @ 100%": "152,5", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.9xlarge", "Release Date": "November 2018", "Instance vCPU": "36", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "25,33", "PkgWatt @ 10%": "67,43", "PkgWatt @ 50%": "146,61", "PkgWatt @ 100%": "211,84", "RAMWatt @ Idle": "18,67", "RAMWatt @ 10%": "33,73", "RAMWatt @ 50%": "59,22", "RAMWatt @ 100%": "84,72", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "92,0", "Instance @ 10%": "149,2", "Instance @ 50%": "253,8", "Instance @ 100%": "344,6", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.18xlarge", "Release Date": "November 2018", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "50,66", "PkgWatt @ 10%": "134,85", "PkgWatt @ 50%": "293,21", "PkgWatt @ 100%": "423,68", "RAMWatt @ Idle": "37,34", "RAMWatt @ 10%": "67,45", "RAMWatt @ 50%": "118,44", "RAMWatt @ 100%": "169,43", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "184,0", "Instance @ 10%": "298,3", "Instance @ 50%": "507,7", "Instance @ 100%": "689,1", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c5n.metal", "Release Date": "August 2019", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "50,66", "PkgWatt @ 10%": "134,85", "PkgWatt @ 50%": "293,21", "PkgWatt @ 100%": "423,68", "RAMWatt @ Idle": "37,34", "RAMWatt @ 10%": "67,45", "RAMWatt @ 50%": "118,44", "RAMWatt @ 100%": "169,43", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "184,0", "Instance @ 10%": "298,3", "Instance @ 50%": "507,7", "Instance @ 100%": "689,1", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Xeon Platinum Processor"}, {"Instance type": "c6g.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,1", "Instance @ 10%": "1,8", "Instance @ 50%": "3,0", "Instance @ 100%": "4,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "6,1", "Instance @ 100%": "8,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "4,6", "Instance @ 10%": "7,3", "Instance @ 50%": "12,1", "Instance @ 100%": "16,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "9,1", "Instance @ 10%": "14,5", "Instance @ 50%": "24,3", "Instance @ 100%": "32,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "18,3", "Instance @ 10%": "29,0", "Instance @ 50%": "48,5", "Instance @ 100%": "64,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "36,5", "Instance @ 10%": "58,1", "Instance @ 50%": "97,0", "Instance @ 100%": "129,8", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "54,8", "Instance @ 10%": "87,1", "Instance @ 50%": "145,5", "Instance @ 100%": "194,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 59 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,1", "Instance @ 10%": "1,8", "Instance @ 50%": "3,0", "Instance @ 100%": "4,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 118 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "6,1", "Instance @ 100%": "8,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 237 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "4,6", "Instance @ 10%": "7,3", "Instance @ 50%": "12,1", "Instance @ 100%": "16,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 474 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "9,1", "Instance @ 10%": "14,5", "Instance @ 50%": "24,3", "Instance @ 100%": "32,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "18,3", "Instance @ 10%": "29,0", "Instance @ 50%": "48,5", "Instance @ 100%": "64,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "1 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "36,5", "Instance @ 10%": "58,1", "Instance @ 50%": "97,0", "Instance @ 100%": "129,8", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "2 x 1425 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "54,8", "Instance @ 10%": "87,1", "Instance @ 50%": "145,5", "Instance @ 100%": "194,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gd.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,1", "Instance @ 10%": "1,8", "Instance @ 50%": "3,0", "Instance @ 100%": "4,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "6,1", "Instance @ 100%": "8,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "4,6", "Instance @ 10%": "7,3", "Instance @ 50%": "12,1", "Instance @ 100%": "16,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "9,1", "Instance @ 10%": "14,5", "Instance @ 50%": "24,3", "Instance @ 100%": "32,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "18,3", "Instance @ 10%": "29,0", "Instance @ 50%": "48,5", "Instance @ 100%": "64,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "36,5", "Instance @ 10%": "58,1", "Instance @ 50%": "97,0", "Instance @ 100%": "129,8", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "54,8", "Instance @ 10%": "87,1", "Instance @ 50%": "145,5", "Instance @ 100%": "194,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6gn.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "d2.xlarge", "Release Date": "March 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "3 x 2000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,89", "PkgWatt @ 50%": "14,16", "PkgWatt @ 100%": "19,39", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "12,5", "Instance @ 10%": "20,0", "Instance @ 50%": "30,4", "Instance @ 100%": "41,7", "Hardware Information on AWS Documentation & Comments": "2.4 GHz Intel Xeon E5-2676 v3 Processor (Haswell)"}, {"Instance type": "d2.2xlarge", "Release Date": "March 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "6 x 2000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "13,77", "PkgWatt @ 50%": "28,33", "PkgWatt @ 100%": "38,78", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "25,0", "Instance @ 10%": "40,1", "Instance @ 50%": "60,7", "Instance @ 100%": "83,4", "Hardware Information on AWS Documentation & Comments": "2.4 GHz Intel Xeon E5-2676 v3 Processor (Haswell)"}, {"Instance type": "d2.4xlarge", "Release Date": "March 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "12 x 2000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "27,55", "PkgWatt @ 50%": "56,66", "PkgWatt @ 100%": "77,55", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "50,0", "Instance @ 10%": "80,1", "Instance @ 50%": "121,5", "Instance @ 100%": "166,8", "Hardware Information on AWS Documentation & Comments": "2.4 GHz Intel Xeon E5-2676 v3 Processor (Haswell)"}, {"Instance type": "d2.8xlarge", "Release Date": "March 2015", "Instance vCPU": "36", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "24 x 2000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "21,71", "PkgWatt @ 10%": "61,98", "PkgWatt @ 50%": "127,48", "PkgWatt @ 100%": "174,50", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,0", "Instance @ Idle": "106,5", "Instance @ 10%": "171,2", "Instance @ 50%": "261,1", "Instance @ 100%": "356,9", "Hardware Information on AWS Documentation & Comments": "2.4 GHz Intel Xeon E5-2676 v3 Processor (Haswell)"}, {"Instance type": "d3.xlarge", "Release Date": "December 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "3 x 2 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "10,8", "Instance @ 10%": "17,5", "Instance @ 50%": "31,0", "Instance @ 100%": "43,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3.2xlarge", "Release Date": "December 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "6 x 2 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "21,5", "Instance @ 10%": "35,0", "Instance @ 50%": "62,1", "Instance @ 100%": "86,6", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3.4xlarge", "Release Date": "December 2020", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "12 x 2 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "43,0", "Instance @ 10%": "69,9", "Instance @ 50%": "124,1", "Instance @ 100%": "173,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3.8xlarge", "Release Date": "December 2020", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "24 x 2 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "86,0", "Instance @ 10%": "139,9", "Instance @ 50%": "248,2", "Instance @ 100%": "346,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.xlarge", "Release Date": "December 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "2 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "8,3", "Instance @ 10%": "13,4", "Instance @ 50%": "23,7", "Instance @ 100%": "32,7", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.2xlarge", "Release Date": "December 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "4 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "16,5", "Instance @ 10%": "26,7", "Instance @ 50%": "47,3", "Instance @ 100%": "65,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.4xlarge", "Release Date": "December 2020", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "8 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "33,1", "Instance @ 10%": "53,5", "Instance @ 50%": "94,6", "Instance @ 100%": "130,7", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.6xlarge", "Release Date": "December 2020", "Instance vCPU": "24", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "12 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,68", "PkgWatt @ 10%": "34,48", "PkgWatt @ 50%": "76,73", "PkgWatt @ 100%": "111,35", "RAMWatt @ Idle": "14,93", "RAMWatt @ 10%": "24,71", "RAMWatt @ 50%": "44,22", "RAMWatt @ 100%": "63,74", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,0", "Instance @ Idle": "49,6", "Instance @ 10%": "80,2", "Instance @ 50%": "142,0", "Instance @ 100%": "196,1", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.8xlarge", "Release Date": "December 2020", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "16 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "66,1", "Instance @ 10%": "106,9", "Instance @ 50%": "189,3", "Instance @ 100%": "261,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "d3en.12xlarge", "Release Date": "December 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "24 x 14 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "99,2", "Instance @ 10%": "160,4", "Instance @ 50%": "283,9", "Instance @ 100%": "392,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "dc2.large", "Release Date": "October 2017", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "160 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,39", "PkgWatt @ 10%": "3,96", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,15", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "6,7", "Instance @ 10%": "10,8", "Instance @ 50%": "16,4", "Instance @ 100%": "22,4", "Hardware Information on AWS Documentation & Comments": "N/A"}, {"Instance type": "dc2.8xlarge", "Release Date": "October 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2560 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "107,8", "Instance @ 10%": "173,4", "Instance @ 50%": "264,7", "Instance @ 100%": "361,6", "Hardware Information on AWS Documentation & Comments": "N/A"}, {"Instance type": "ds2.xlarge", "Release Date": "June 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "31", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,89", "PkgWatt @ 50%": "14,16", "PkgWatt @ 100%": "19,39", "RAMWatt @ Idle": "6,20", "RAMWatt @ 10%": "9,30", "RAMWatt @ 50%": "12,40", "RAMWatt @ 100%": "18,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "12,6", "Instance @ 10%": "20,2", "Instance @ 50%": "30,6", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "N/A"}, {"Instance type": "ds2.8xlarge", "Release Date": "June 2015", "Instance vCPU": "36", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "16000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "21,71", "PkgWatt @ 10%": "61,98", "PkgWatt @ 50%": "127,48", "PkgWatt @ 100%": "174,50", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,0", "Instance @ Idle": "106,5", "Instance @ 10%": "171,2", "Instance @ 50%": "261,1", "Instance @ 100%": "356,9", "Hardware Information on AWS Documentation & Comments": "N/A"}, {"Instance type": "f1.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "976", "Storage Info (Type and Size in GB)": "SSD 470", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "34,7", "Instance @ 10%": "54,1", "Instance @ 50%": "78,1", "Instance @ 100%": "110,9", "Hardware Information on AWS Documentation & Comments": "1 FPGA - Comment: the estimated Scope 3 does not include the FPGA(s)"}, {"Instance type": "f1.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "976", "Storage Info (Type and Size in GB)": "SSD 940", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "69,5", "Instance @ 10%": "108,3", "Instance @ 50%": "156,1", "Instance @ 100%": "221,8", "Hardware Information on AWS Documentation & Comments": "2 FPGA - Comment: the estimated Scope 3 does not include the FPGA(s)"}, {"Instance type": "f1.16xlarge", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "976", "Platform Memory (in GB)": "976", "Storage Info (Type and Size in GB)": "SSD 4 x 940", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "195,20", "RAMWatt @ 10%": "292,80", "RAMWatt @ 50%": "390,40", "RAMWatt @ 100%": "585,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "277,8", "Instance @ 10%": "433,1", "Instance @ 50%": "624,5", "Instance @ 100%": "887,1", "Hardware Information on AWS Documentation & Comments": "8 FPGA - Comment: the estimated Scope 3 does not include the FPGA(s)"}, {"Instance type": "g2.2xlarge", "Release Date": "November 2013", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "1 x 60 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "4", "Platform GPU Name": "K520", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "4", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "26,1", "GPUWatt @ 10%": "71,6", "GPUWatt @ 50%": "169,3", "GPUWatt @ 100%": "229,2", "Delta Full Machine": "11,5", "Instance @ Idle": "47,6", "Instance @ 10%": "107,4", "Instance @ 50%": "227,5", "Instance @ 100%": "305,4", "Hardware Information on AWS Documentation & Comments": "1 GPU NVIDIA GRID K520"}, {"Instance type": "g2.8xlarge", "Release Date": "April 2015", "Instance vCPU": "32", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "60", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "2 x 120 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "4", "Platform GPU Name": "K520", "Instance Number of GPU": "4", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "27,74", "PkgWatt @ 10%": "79,20", "PkgWatt @ 50%": "162,90", "PkgWatt @ 100%": "222,97", "RAMWatt @ Idle": "12,00", "RAMWatt @ 10%": "18,00", "RAMWatt @ 50%": "24,00", "RAMWatt @ 100%": "36,00", "GPUWatt @ Idle": "104,5", "GPUWatt @ 10%": "286,4", "GPUWatt @ 50%": "677,0", "GPUWatt @ 100%": "916,7", "Delta Full Machine": "46,0", "Instance @ Idle": "190,3", "Instance @ 10%": "429,6", "Instance @ 50%": "909,9", "Instance @ 100%": "1221,7", "Hardware Information on AWS Documentation & Comments": "4 GPU NVIDIA GRID K520"}, {"Instance type": "g3s.xlarge", "Release Date": "October 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "4", "Platform GPU Name": "Tesla M60", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "8", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "34,8", "GPUWatt @ 10%": "95,5", "GPUWatt @ 50%": "225,7", "GPUWatt @ 100%": "305,6", "Delta Full Machine": "3,2", "Instance @ Idle": "46,1", "Instance @ 10%": "113,4", "Instance @ 50%": "252,5", "Instance @ 100%": "342,7", "Hardware Information on AWS Documentation & Comments": "1*GPU NVIDIA Tesla M60"}, {"Instance type": "g3.4xlarge", "Release Date": "July 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "4", "Platform GPU Name": "Tesla M60", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "8", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "34,8", "GPUWatt @ 10%": "95,5", "GPUWatt @ 50%": "225,7", "GPUWatt @ 100%": "305,6", "Delta Full Machine": "12,9", "Instance @ Idle": "79,9", "Instance @ 10%": "167,2", "Instance @ 50%": "333,0", "Instance @ 100%": "454,1", "Hardware Information on AWS Documentation & Comments": "1*GPU NVIDIA Tesla M60"}, {"Instance type": "g3.8xlarge", "Release Date": "July 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "4", "Platform GPU Name": "Tesla M60", "Instance Number of GPU": "2", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "69,7", "GPUWatt @ 10%": "191,0", "GPUWatt @ 50%": "451,4", "GPUWatt @ 100%": "611,1", "Delta Full Machine": "25,8", "Instance @ Idle": "159,8", "Instance @ 10%": "334,3", "Instance @ 50%": "666,0", "Instance @ 100%": "908,3", "Hardware Information on AWS Documentation & Comments": "2*GPU NVIDIA Tesla M60"}, {"Instance type": "g3.16xlarge", "Release Date": "July 2017", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "4", "Platform GPU Name": "Tesla M60", "Instance Number of GPU": "4", "Instance GPU memory (in GB)": "32", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "139,4", "GPUWatt @ 10%": "381,9", "GPUWatt @ 50%": "902,7", "GPUWatt @ 100%": "1222,3", "Delta Full Machine": "51,6", "Instance @ Idle": "319,6", "Instance @ 10%": "668,6", "Instance @ 50%": "1332,0", "Instance @ 100%": "1816,5", "Hardware Information on AWS Documentation & Comments": "4*GPU NVIDIA Tesla M60"}, {"Instance type": "g4dn.xlarge", "Release Date": "March 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "125", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "8,1", "GPUWatt @ 10%": "22,3", "GPUWatt @ 50%": "52,7", "GPUWatt @ 100%": "71,3", "Delta Full Machine": "3,5", "Instance @ Idle": "16,4", "Instance @ 10%": "35,6", "Instance @ 50%": "76,3", "Instance @ 100%": "104,0", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.2xlarge", "Release Date": "March 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "225", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "8,1", "GPUWatt @ 10%": "22,3", "GPUWatt @ 50%": "52,7", "GPUWatt @ 100%": "71,3", "Delta Full Machine": "7,0", "Instance @ Idle": "24,7", "Instance @ 10%": "49,0", "Instance @ 50%": "100,0", "Instance @ 100%": "136,7", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.4xlarge", "Release Date": "March 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "225", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "8,1", "GPUWatt @ 10%": "22,3", "GPUWatt @ 50%": "52,7", "GPUWatt @ 100%": "71,3", "Delta Full Machine": "14,0", "Instance @ Idle": "41,2", "Instance @ 10%": "75,7", "Instance @ 50%": "147,3", "Instance @ 100%": "202,0", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.8xlarge", "Release Date": "March 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1x900", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "8,1", "GPUWatt @ 10%": "22,3", "GPUWatt @ 50%": "52,7", "GPUWatt @ 100%": "71,3", "Delta Full Machine": "28,0", "Instance @ Idle": "74,3", "Instance @ 10%": "129,2", "Instance @ 50%": "241,9", "Instance @ 100%": "332,7", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.16xlarge", "Release Date": "March 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1x900", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "8,1", "GPUWatt @ 10%": "22,3", "GPUWatt @ 50%": "52,7", "GPUWatt @ 100%": "71,3", "Delta Full Machine": "56,0", "Instance @ Idle": "140,4", "Instance @ 10%": "236,1", "Instance @ 50%": "431,2", "Instance @ 100%": "594,2", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.12xlarge", "Release Date": "March 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1x900", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "4", "Instance GPU memory (in GB)": "64", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "32,5", "GPUWatt @ 10%": "89,1", "GPUWatt @ 50%": "210,6", "GPUWatt @ 100%": "285,2", "Delta Full Machine": "42,0", "Instance @ Idle": "131,7", "Instance @ 10%": "249,5", "Instance @ 50%": "494,5", "Instance @ 100%": "677,4", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4dn.metal", "Release Date": "March 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2x900", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "T4", "Instance Number of GPU": "8", "Instance GPU memory (in GB)": "128", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "65,0", "GPUWatt @ 10%": "178,2", "GPUWatt @ 50%": "421,3", "GPUWatt @ 100%": "570,4", "Delta Full Machine": "84,0", "Instance @ Idle": "263,5", "Instance @ 10%": "499,0", "Instance @ 50%": "989,1", "Instance @ 100%": "1354,7", "Hardware Information on AWS Documentation & Comments": "NVIDIA T4 GPU and custom Intel Cascade Lake CPUs"}, {"Instance type": "g4ad.4xlarge", "Release Date": "March 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "600", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "4", "Platform GPU Name": "Radeon Pro V520", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "8", "PkgWatt @ Idle": "5,42", "PkgWatt @ 10%": "14,85", "PkgWatt @ 50%": "35,11", "PkgWatt @ 100%": "47,53", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "26,1", "GPUWatt @ 10%": "71,6", "GPUWatt @ 50%": "169,3", "GPUWatt @ 100%": "229,2", "Delta Full Machine": "9,3", "Instance @ Idle": "53,7", "Instance @ 10%": "115,0", "Instance @ 50%": "239,3", "Instance @ 100%": "324,4", "Hardware Information on AWS Documentation & Comments": "AMD Radeon Pro V520 GPUs and 2nd generation AMD EPYC processors"}, {"Instance type": "g4ad.8xlarge", "Release Date": "March 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1200", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "4", "Platform GPU Name": "Radeon Pro V520", "Instance Number of GPU": "2", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "10,84", "PkgWatt @ 10%": "29,70", "PkgWatt @ 50%": "70,21", "PkgWatt @ 100%": "95,06", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "52,3", "GPUWatt @ 10%": "143,2", "GPUWatt @ 50%": "338,5", "GPUWatt @ 100%": "458,3", "Delta Full Machine": "18,7", "Instance @ Idle": "107,4", "Instance @ 10%": "230,0", "Instance @ 50%": "478,6", "Instance @ 100%": "648,9", "Hardware Information on AWS Documentation & Comments": "AMD Radeon Pro V520 GPUs and 2nd generation AMD EPYC processors"}, {"Instance type": "g4ad.16xlarge", "Release Date": "March 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7R32", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2400", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "4", "Platform GPU Name": "Radeon Pro V520", "Instance Number of GPU": "4", "Instance GPU memory (in GB)": "32", "PkgWatt @ Idle": "21,68", "PkgWatt @ 10%": "59,41", "PkgWatt @ 50%": "140,42", "PkgWatt @ 100%": "190,13", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "104,5", "GPUWatt @ 10%": "286,4", "GPUWatt @ 50%": "677,0", "GPUWatt @ 100%": "916,7", "Delta Full Machine": "37,3", "Instance @ Idle": "214,7", "Instance @ 10%": "460,0", "Instance @ 50%": "957,2", "Instance @ 100%": "1297,8", "Hardware Information on AWS Documentation & Comments": "AMD Radeon Pro V520 GPUs and 2nd generation AMD EPYC processors"}, {"Instance type": "h1.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 2.000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,7", "Instance @ 10%": "27,1", "Instance @ 50%": "42,1", "Instance @ 100%": "56,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "h1.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "2 x 2.000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "33,5", "Instance @ 10%": "54,3", "Instance @ 50%": "84,1", "Instance @ 100%": "113,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "h1.8xlarge", "Release Date": "November 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "4 x 2.000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "66,9", "Instance @ 10%": "108,6", "Instance @ 50%": "168,3", "Instance @ 100%": "227,5", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "h1.16xlarge", "Release Date": "November 2017", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "8 x 2.000 HDD", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "133,8", "Instance @ 10%": "217,1", "Instance @ 50%": "336,5", "Instance @ 100%": "455,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "hs1.8xlarge", "Release Date": "December 2012", "Instance vCPU": "16", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "117", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "24 x 2 000 (HDD)", "Storage Type": "HDD", "Platform Storage Drive Quantity": "24", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,87", "PkgWatt @ 10%": "39,60", "PkgWatt @ 50%": "81,45", "PkgWatt @ 100%": "111,48", "RAMWatt @ Idle": "23,40", "RAMWatt @ 10%": "35,10", "RAMWatt @ 50%": "46,80", "RAMWatt @ 100%": "70,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "23,0", "Instance @ Idle": "60,3", "Instance @ 10%": "97,7", "Instance @ 50%": "151,2", "Instance @ 100%": "204,7", "Hardware Information on AWS Documentation & Comments": "Intel E5-2650 processor"}, {"Instance type": "i2.xlarge", "Release Date": "December 2013", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "13,5", "Instance @ 10%": "21,7", "Instance @ 50%": "33,1", "Instance @ 100%": "45,2", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "i2.2xlarge", "Release Date": "December 2013", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "i2.4xlarge", "Release Date": "December 2013", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "4 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,10", "PkgWatt @ 10%": "31,68", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "89,19", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,4", "Instance @ Idle": "53,9", "Instance @ 10%": "86,7", "Instance @ 50%": "132,4", "Instance @ 100%": "180,8", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "i2.8xlarge", "Release Date": "December 2013", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "8 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "107,8", "Instance @ 10%": "173,4", "Instance @ 50%": "264,7", "Instance @ 100%": "361,6", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "i3.large", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 475 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,6", "Instance @ 10%": "9,0", "Instance @ 50%": "13,4", "Instance @ 100%": "18,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "11,3", "Instance @ 10%": "17,9", "Instance @ 50%": "26,8", "Instance @ 100%": "37,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 1.900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "22,5", "Instance @ 10%": "35,8", "Instance @ 50%": "53,7", "Instance @ 100%": "74,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1.900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "45,1", "Instance @ 10%": "71,7", "Instance @ 50%": "107,3", "Instance @ 100%": "148,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.8xlarge", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "4 x 1.900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "90,1", "Instance @ 10%": "143,4", "Instance @ 50%": "214,7", "Instance @ 100%": "297,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.16xlarge", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "8 x 1.900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "180,2", "Instance @ 10%": "286,7", "Instance @ 50%": "429,3", "Instance @ 100%": "594,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3.metal", "Release Date": "November 2017", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "8 x 1.900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "34,98", "PkgWatt @ 10%": "99,86", "PkgWatt @ 50%": "205,39", "PkgWatt @ 100%": "281,13", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "58,0", "Instance @ Idle": "195,4", "Instance @ 10%": "311,5", "Instance @ 50%": "468,2", "Instance @ 100%": "646,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5 2686 v4 Processor (Broadwell)"}, {"Instance type": "i3en.large", "Release Date": "May 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 1.250 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "5,6", "Instance @ 10%": "8,9", "Instance @ 50%": "19,1", "Instance @ 100%": "27,9", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.xlarge", "Release Date": "May 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 2.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "11,2", "Instance @ 10%": "17,8", "Instance @ 50%": "38,2", "Instance @ 100%": "55,9", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.2xlarge", "Release Date": "May 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 2.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "22,5", "Instance @ 10%": "35,6", "Instance @ 50%": "76,3", "Instance @ 100%": "111,8", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.3xlarge", "Release Date": "May 2019", "Instance vCPU": "12", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 7.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,24", "PkgWatt @ 10%": "18,33", "PkgWatt @ 50%": "42,96", "PkgWatt @ 100%": "59,75", "RAMWatt @ Idle": "14,45", "RAMWatt @ 10%": "23,10", "RAMWatt @ 50%": "59,53", "RAMWatt @ 100%": "95,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,0", "Instance @ Idle": "33,7", "Instance @ 10%": "53,4", "Instance @ 50%": "114,5", "Instance @ 100%": "167,7", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.6xlarge", "Release Date": "May 2019", "Instance vCPU": "24", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 7.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "14,47", "PkgWatt @ 10%": "36,66", "PkgWatt @ 50%": "85,93", "PkgWatt @ 100%": "119,49", "RAMWatt @ Idle": "28,91", "RAMWatt @ 10%": "46,20", "RAMWatt @ 50%": "119,05", "RAMWatt @ 100%": "191,91", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "24,0", "Instance @ Idle": "67,4", "Instance @ 10%": "106,9", "Instance @ 50%": "229,0", "Instance @ 100%": "335,4", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.12xlarge", "Release Date": "May 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 7.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "134,8", "Instance @ 10%": "213,7", "Instance @ 50%": "458,0", "Instance @ 100%": "670,8", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.24xlarge", "Release Date": "May 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "8 x 7.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "269,5", "Instance @ 10%": "427,4", "Instance @ 50%": "915,9", "Instance @ 100%": "1341,6", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "i3en.metal", "Release Date": "August 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "8 x 7.500 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "269,5", "Instance @ 10%": "427,4", "Instance @ 50%": "915,9", "Instance @ 100%": "1341,6", "Hardware Information on AWS Documentation & Comments": "3.1 GHz all core turbo Intel Xeon Scalable (Skylake) processors"}, {"Instance type": "inf1.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "7,31", "PkgWatt @ 50%": "18,68", "PkgWatt @ 100%": "26,11", "RAMWatt @ Idle": "1,52", "RAMWatt @ 10%": "2,76", "RAMWatt @ 50%": "5,77", "RAMWatt @ 100%": "8,77", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "7,9", "Instance @ 10%": "14,1", "Instance @ 50%": "28,4", "Instance @ 100%": "38,9", "Hardware Information on AWS Documentation & Comments": "1 Inferencia chip - Comment: the estimated Scope 3 does not include the Inferencia chips"}, {"Instance type": "inf1.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,83", "PkgWatt @ 10%": "14,63", "PkgWatt @ 50%": "37,36", "PkgWatt @ 100%": "52,23", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "5,52", "RAMWatt @ 50%": "11,53", "RAMWatt @ 100%": "17,54", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "15,9", "Instance @ 10%": "28,1", "Instance @ 50%": "56,9", "Instance @ 100%": "77,8", "Hardware Information on AWS Documentation & Comments": "1 Inferencia chip - Comment: the estimated Scope 3 does not include the Inferencia chips"}, {"Instance type": "inf1.6xlarge", "Release Date": "December 2019", "Instance vCPU": "24", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "48", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "14,48", "PkgWatt @ 10%": "43,88", "PkgWatt @ 50%": "112,08", "PkgWatt @ 100%": "156,69", "RAMWatt @ Idle": "9,14", "RAMWatt @ 10%": "16,57", "RAMWatt @ 50%": "34,59", "RAMWatt @ 100%": "52,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "24,0", "Instance @ Idle": "47,6", "Instance @ 10%": "84,4", "Instance @ 50%": "170,7", "Instance @ 100%": "233,3", "Hardware Information on AWS Documentation & Comments": "4 Inferencia chips - Comment: the estimated Scope 3 does not include the Inferencia chips"}, {"Instance type": "inf1.24xlarge", "Release Date": "December 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "36,55", "RAMWatt @ 10%": "66,26", "RAMWatt @ 50%": "138,37", "RAMWatt @ 100%": "210,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "190,5", "Instance @ 10%": "337,8", "Instance @ 50%": "682,7", "Instance @ 100%": "933,2", "Hardware Information on AWS Documentation & Comments": "16 Inferencia chips - Comment: the estimated Scope 3 does not include the Inferencia chips"}, {"Instance type": "m1.small", "Release Date": "August 2006", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "1.7", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "1 x 160 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,72", "PkgWatt @ 10%": "2,04", "PkgWatt @ 50%": "4,21", "PkgWatt @ 100%": "5,76", "RAMWatt @ Idle": "0,34", "RAMWatt @ 10%": "0,51", "RAMWatt @ 50%": "0,68", "RAMWatt @ 100%": "1,02", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,2", "Instance @ 10%": "3,7", "Instance @ 50%": "6,1", "Instance @ 100%": "8,0", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m1.medium", "Release Date": "March 2012", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "1 x SSD 410", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,72", "PkgWatt @ 10%": "2,04", "PkgWatt @ 50%": "4,21", "PkgWatt @ 100%": "5,76", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,7", "Instance @ 10%": "4,4", "Instance @ 50%": "6,9", "Instance @ 100%": "9,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m1.large", "Release Date": "October 2007", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "2 x SSD 420", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,43", "PkgWatt @ 10%": "4,09", "PkgWatt @ 50%": "8,41", "PkgWatt @ 100%": "11,51", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,4", "Instance @ Idle": "5,3", "Instance @ 10%": "8,7", "Instance @ 50%": "13,8", "Instance @ 100%": "18,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m1.xlarge", "Release Date": "October 2007", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "4 x SSD 420", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,86", "PkgWatt @ 10%": "8,18", "PkgWatt @ 50%": "16,82", "PkgWatt @ 100%": "23,02", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,8", "Instance @ Idle": "10,6", "Instance @ 10%": "17,4", "Instance @ 50%": "27,6", "Instance @ 100%": "36,8", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m2.xlarge", "Release Date": "February 2010", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "17.1", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "1 x SSD 420", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,73", "PkgWatt @ 10%": "4,95", "PkgWatt @ 50%": "10,18", "PkgWatt @ 100%": "13,94", "RAMWatt @ Idle": "3,42", "RAMWatt @ 10%": "5,13", "RAMWatt @ 50%": "6,84", "RAMWatt @ 100%": "10,26", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,9", "Instance @ Idle": "8,0", "Instance @ 10%": "13,0", "Instance @ 50%": "19,9", "Instance @ 100%": "27,1", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m2.2xlarge", "Release Date": "October 2009", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "34.2", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "1 x SSD 850", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,47", "PkgWatt @ 10%": "9,90", "PkgWatt @ 50%": "20,36", "PkgWatt @ 100%": "27,87", "RAMWatt @ Idle": "6,84", "RAMWatt @ 10%": "10,26", "RAMWatt @ 50%": "13,68", "RAMWatt @ 100%": "20,52", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,8", "Instance @ Idle": "16,1", "Instance @ 10%": "25,9", "Instance @ 50%": "39,8", "Instance @ 100%": "54,1", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m2.4xlarge", "Release Date": "October 2009", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "68.4", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "2 x SSD 840", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "13,68", "RAMWatt @ 10%": "20,52", "RAMWatt @ 50%": "27,36", "RAMWatt @ 100%": "41,04", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "11,5", "Instance @ Idle": "32,1", "Instance @ 10%": "51,8", "Instance @ 50%": "79,6", "Instance @ 100%": "108,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "m3.medium", "Release Date": "January 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "1 x 4 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,87", "PkgWatt @ 10%": "2,47", "PkgWatt @ 50%": "5,09", "PkgWatt @ 100%": "6,97", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,4", "Instance @ Idle": "3,1", "Instance @ 10%": "5,0", "Instance @ 50%": "8,0", "Instance @ 100%": "10,7", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.large", "Release Date": "January 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "1 x 32 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,73", "PkgWatt @ 10%": "4,95", "PkgWatt @ 50%": "10,18", "PkgWatt @ 100%": "13,94", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,9", "Instance @ Idle": "6,1", "Instance @ 10%": "10,1", "Instance @ 50%": "16,1", "Instance @ 100%": "21,3", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.xlarge", "Release Date": "October 2012", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "2 x 40 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,47", "PkgWatt @ 10%": "9,90", "PkgWatt @ 50%": "20,36", "PkgWatt @ 100%": "27,87", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,8", "Instance @ Idle": "12,2", "Instance @ 10%": "20,1", "Instance @ 50%": "32,1", "Instance @ 100%": "42,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.2xlarge", "Release Date": "October 2012", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "2 x 80 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "11,5", "Instance @ Idle": "24,4", "Instance @ 10%": "40,3", "Instance @ 50%": "64,2", "Instance @ 100%": "85,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m4.large", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "4,2", "Instance @ 10%": "6,8", "Instance @ 50%": "10,5", "Instance @ 100%": "14,2", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.xlarge", "Release Date": "June 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "8,4", "Instance @ 10%": "13,6", "Instance @ 50%": "21,0", "Instance @ 100%": "28,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.2xlarge", "Release Date": "June 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,7", "Instance @ 10%": "27,1", "Instance @ 50%": "42,1", "Instance @ 100%": "56,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.4xlarge", "Release Date": "June 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "33,5", "Instance @ 10%": "54,3", "Instance @ 50%": "84,1", "Instance @ 100%": "113,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.10xlarge", "Release Date": "June 2015", "Instance vCPU": "40", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "160", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,12", "PkgWatt @ 10%": "68,87", "PkgWatt @ 50%": "141,65", "PkgWatt @ 100%": "193,88", "RAMWatt @ Idle": "32,00", "RAMWatt @ 10%": "48,00", "RAMWatt @ 50%": "64,00", "RAMWatt @ 100%": "96,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "96,1", "Instance @ 10%": "156,9", "Instance @ 50%": "245,6", "Instance @ 100%": "329,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.16xlarge", "Release Date": "September 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "133,8", "Instance @ 10%": "217,1", "Instance @ 50%": "336,5", "Instance @ 100%": "455,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m5.large", "Release Date": "November 2017", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "1,20", "RAMWatt @ 10%": "1,92", "RAMWatt @ 50%": "4,96", "RAMWatt @ 100%": "8,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,4", "Instance @ 10%": "7,0", "Instance @ 50%": "14,1", "Instance @ 100%": "20,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.xlarge", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,8", "Instance @ 10%": "14,0", "Instance @ 50%": "28,2", "Instance @ 100%": "39,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "17,6", "Instance @ 10%": "27,9", "Instance @ 50%": "56,5", "Instance @ 100%": "79,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "35,3", "Instance @ 10%": "55,8", "Instance @ 50%": "113,0", "Instance @ 100%": "159,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "19,29", "PkgWatt @ 10%": "48,88", "PkgWatt @ 50%": "114,57", "PkgWatt @ 100%": "159,33", "RAMWatt @ Idle": "19,27", "RAMWatt @ 10%": "30,80", "RAMWatt @ 50%": "79,37", "RAMWatt @ 100%": "127,94", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "32,0", "Instance @ Idle": "70,6", "Instance @ 10%": "111,7", "Instance @ 50%": "225,9", "Instance @ 100%": "319,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.12xlarge", "Release Date": "November 2017", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "28,91", "RAMWatt @ 10%": "46,20", "RAMWatt @ 50%": "119,05", "RAMWatt @ 100%": "191,91", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "105,8", "Instance @ 10%": "167,5", "Instance @ 50%": "338,9", "Instance @ 100%": "478,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "38,59", "PkgWatt @ 10%": "97,75", "PkgWatt @ 50%": "229,13", "PkgWatt @ 100%": "318,65", "RAMWatt @ Idle": "38,54", "RAMWatt @ 10%": "61,59", "RAMWatt @ 50%": "158,73", "RAMWatt @ 100%": "255,87", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "64,0", "Instance @ Idle": "141,1", "Instance @ 10%": "223,3", "Instance @ 50%": "451,9", "Instance @ 100%": "638,5", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.24xlarge", "Release Date": "November 2017", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "211,7", "Instance @ 10%": "335,0", "Instance @ 50%": "677,8", "Instance @ 100%": "957,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.metal", "Release Date": "February 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "211,7", "Instance @ 10%": "335,0", "Instance @ 50%": "677,8", "Instance @ 100%": "957,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5a.large", "Release Date": "November 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "4,2", "Instance @ 10%": "6,7", "Instance @ 50%": "11,1", "Instance @ 100%": "15,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.xlarge", "Release Date": "November 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,30", "PkgWatt @ 50%": "12,54", "PkgWatt @ 100%": "16,98", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,3", "Instance @ Idle": "8,5", "Instance @ 10%": "13,4", "Instance @ 50%": "22,3", "Instance @ 100%": "29,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.2xlarge", "Release Date": "November 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,87", "PkgWatt @ 10%": "10,61", "PkgWatt @ 50%": "25,08", "PkgWatt @ 100%": "33,95", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,7", "Instance @ Idle": "16,9", "Instance @ 10%": "26,9", "Instance @ 50%": "44,5", "Instance @ 100%": "59,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.4xlarge", "Release Date": "November 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,74", "PkgWatt @ 10%": "21,22", "PkgWatt @ 50%": "50,15", "PkgWatt @ 100%": "67,90", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "13,3", "Instance @ Idle": "33,9", "Instance @ 10%": "53,8", "Instance @ 50%": "89,1", "Instance @ 100%": "119,6", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,48", "PkgWatt @ 10%": "42,43", "PkgWatt @ 50%": "100,30", "PkgWatt @ 100%": "135,81", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "26,7", "Instance @ Idle": "67,8", "Instance @ 10%": "107,5", "Instance @ 50%": "178,2", "Instance @ 100%": "239,3", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.12xlarge", "Release Date": "November 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "23,23", "PkgWatt @ 10%": "63,65", "PkgWatt @ 50%": "150,45", "PkgWatt @ 100%": "203,71", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "101,6", "Instance @ 10%": "161,3", "Instance @ 50%": "267,3", "Instance @ 100%": "358,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "30,97", "PkgWatt @ 10%": "84,87", "PkgWatt @ 50%": "200,60", "PkgWatt @ 100%": "271,61", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "53,3", "Instance @ Idle": "135,5", "Instance @ 10%": "215,0", "Instance @ 50%": "356,3", "Instance @ 100%": "478,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5a.24xlarge", "Release Date": "November 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "46,45", "PkgWatt @ 10%": "127,30", "PkgWatt @ 50%": "300,91", "PkgWatt @ 100%": "407,42", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "80,0", "Instance @ Idle": "203,3", "Instance @ 10%": "322,5", "Instance @ 50%": "534,5", "Instance @ 100%": "717,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.large", "Release Date": "March 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "4,2", "Instance @ 10%": "6,7", "Instance @ 50%": "11,1", "Instance @ 100%": "15,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.xlarge", "Release Date": "March 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,30", "PkgWatt @ 50%": "12,54", "PkgWatt @ 100%": "16,98", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,3", "Instance @ Idle": "8,5", "Instance @ 10%": "13,4", "Instance @ 50%": "22,3", "Instance @ 100%": "29,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.2xlarge", "Release Date": "March 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,87", "PkgWatt @ 10%": "10,61", "PkgWatt @ 50%": "25,08", "PkgWatt @ 100%": "33,95", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,7", "Instance @ Idle": "16,9", "Instance @ 10%": "26,9", "Instance @ 50%": "44,5", "Instance @ 100%": "59,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.4xlarge", "Release Date": "March 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,74", "PkgWatt @ 10%": "21,22", "PkgWatt @ 50%": "50,15", "PkgWatt @ 100%": "67,90", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "13,3", "Instance @ Idle": "33,9", "Instance @ 10%": "53,8", "Instance @ 50%": "89,1", "Instance @ 100%": "119,6", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.8xlarge", "Release Date": "March 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,48", "PkgWatt @ 10%": "42,43", "PkgWatt @ 50%": "100,30", "PkgWatt @ 100%": "135,81", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "26,7", "Instance @ Idle": "67,8", "Instance @ 10%": "107,5", "Instance @ 50%": "178,2", "Instance @ 100%": "239,3", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.12xlarge", "Release Date": "March 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "23,23", "PkgWatt @ 10%": "63,65", "PkgWatt @ 50%": "150,45", "PkgWatt @ 100%": "203,71", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "101,6", "Instance @ 10%": "161,3", "Instance @ 50%": "267,3", "Instance @ 100%": "358,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.16xlarge", "Release Date": "March 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "30,97", "PkgWatt @ 10%": "84,87", "PkgWatt @ 50%": "200,60", "PkgWatt @ 100%": "271,61", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "53,3", "Instance @ Idle": "135,5", "Instance @ 10%": "215,0", "Instance @ 50%": "356,3", "Instance @ 100%": "478,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5ad.24xlarge", "Release Date": "March 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "46,45", "PkgWatt @ 10%": "127,30", "PkgWatt @ 50%": "300,91", "PkgWatt @ 100%": "407,42", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "80,0", "Instance @ Idle": "203,3", "Instance @ 10%": "322,5", "Instance @ 50%": "534,5", "Instance @ 100%": "717,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "m5d.large", "Release Date": "June 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "1,20", "RAMWatt @ 10%": "1,92", "RAMWatt @ 50%": "4,96", "RAMWatt @ 100%": "8,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,4", "Instance @ 10%": "7,0", "Instance @ 50%": "14,1", "Instance @ 100%": "20,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.xlarge", "Release Date": "June 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,8", "Instance @ 10%": "14,0", "Instance @ 50%": "28,2", "Instance @ 100%": "39,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.2xlarge", "Release Date": "June 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "17,6", "Instance @ 10%": "27,9", "Instance @ 50%": "56,5", "Instance @ 100%": "79,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.4xlarge", "Release Date": "June 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "35,3", "Instance @ 10%": "55,8", "Instance @ 50%": "113,0", "Instance @ 100%": "159,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "19,29", "PkgWatt @ 10%": "48,88", "PkgWatt @ 50%": "114,57", "PkgWatt @ 100%": "159,33", "RAMWatt @ Idle": "19,27", "RAMWatt @ 10%": "30,80", "RAMWatt @ 50%": "79,37", "RAMWatt @ 100%": "127,94", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "32,0", "Instance @ Idle": "70,6", "Instance @ 10%": "111,7", "Instance @ 50%": "225,9", "Instance @ 100%": "319,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.12xlarge", "Release Date": "June 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "28,91", "RAMWatt @ 10%": "46,20", "RAMWatt @ 50%": "119,05", "RAMWatt @ 100%": "191,91", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "105,8", "Instance @ 10%": "167,5", "Instance @ 50%": "338,9", "Instance @ 100%": "478,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "38,59", "PkgWatt @ 10%": "97,75", "PkgWatt @ 50%": "229,13", "PkgWatt @ 100%": "318,65", "RAMWatt @ Idle": "38,54", "RAMWatt @ 10%": "61,59", "RAMWatt @ 50%": "158,73", "RAMWatt @ 100%": "255,87", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "64,0", "Instance @ Idle": "141,1", "Instance @ 10%": "223,3", "Instance @ 50%": "451,9", "Instance @ 100%": "638,5", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.24xlarge", "Release Date": "June 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "211,7", "Instance @ 10%": "335,0", "Instance @ 50%": "677,8", "Instance @ 100%": "957,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5d.metal", "Release Date": "February 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "211,7", "Instance @ 10%": "335,0", "Instance @ 50%": "677,8", "Instance @ 100%": "957,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5dn.large", "Release Date": "October 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "1,24", "RAMWatt @ 10%": "2,06", "RAMWatt @ 50%": "3,69", "RAMWatt @ 100%": "5,31", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "4,1", "Instance @ 10%": "6,7", "Instance @ 50%": "11,8", "Instance @ 100%": "16,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.xlarge", "Release Date": "October 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "8,3", "Instance @ 10%": "13,4", "Instance @ 50%": "23,7", "Instance @ 100%": "32,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.2xlarge", "Release Date": "October 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "16,5", "Instance @ 10%": "26,7", "Instance @ 50%": "47,3", "Instance @ 100%": "65,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.4xlarge", "Release Date": "October 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "33,1", "Instance @ 10%": "53,5", "Instance @ 50%": "94,6", "Instance @ 100%": "130,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.8xlarge", "Release Date": "October 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "66,1", "Instance @ 10%": "106,9", "Instance @ 50%": "189,3", "Instance @ 100%": "261,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.12xlarge", "Release Date": "October 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "99,2", "Instance @ 10%": "160,4", "Instance @ 50%": "283,9", "Instance @ 100%": "392,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.16xlarge", "Release Date": "October 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "132,3", "Instance @ 10%": "213,8", "Instance @ 50%": "378,5", "Instance @ 100%": "522,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.24xlarge", "Release Date": "October 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "198,4", "Instance @ 10%": "320,8", "Instance @ 50%": "567,8", "Instance @ 100%": "784,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5dn.metal", "Release Date": "February 2021", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "198,4", "Instance @ 10%": "320,8", "Instance @ 50%": "567,8", "Instance @ 100%": "784,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.large", "Release Date": "October 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "1,24", "RAMWatt @ 10%": "2,06", "RAMWatt @ 50%": "3,69", "RAMWatt @ 100%": "5,31", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "4,1", "Instance @ 10%": "6,7", "Instance @ 50%": "11,8", "Instance @ 100%": "16,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.xlarge", "Release Date": "October 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "8,3", "Instance @ 10%": "13,4", "Instance @ 50%": "23,7", "Instance @ 100%": "32,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.2xlarge", "Release Date": "October 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "16,5", "Instance @ 10%": "26,7", "Instance @ 50%": "47,3", "Instance @ 100%": "65,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.4xlarge", "Release Date": "October 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "33,1", "Instance @ 10%": "53,5", "Instance @ 50%": "94,6", "Instance @ 100%": "130,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.8xlarge", "Release Date": "October 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "66,1", "Instance @ 10%": "106,9", "Instance @ 50%": "189,3", "Instance @ 100%": "261,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.12xlarge", "Release Date": "October 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "99,2", "Instance @ 10%": "160,4", "Instance @ 50%": "283,9", "Instance @ 100%": "392,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.16xlarge", "Release Date": "October 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "132,3", "Instance @ 10%": "213,8", "Instance @ 50%": "378,5", "Instance @ 100%": "522,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.24xlarge", "Release Date": "October 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "198,4", "Instance @ 10%": "320,8", "Instance @ 50%": "567,8", "Instance @ 100%": "784,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5n.metal", "Release Date": "February 2021", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "198,4", "Instance @ 10%": "320,8", "Instance @ 50%": "567,8", "Instance @ 100%": "784,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "m5zn.large", "Release Date": "December 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,38", "PkgWatt @ 10%": "6,13", "PkgWatt @ 50%": "15,88", "PkgWatt @ 100%": "19,66", "RAMWatt @ Idle": "2,00", "RAMWatt @ 10%": "2,88", "RAMWatt @ 50%": "5,27", "RAMWatt @ 100%": "7,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,4", "Instance @ 10%": "13,0", "Instance @ 50%": "25,1", "Instance @ 100%": "31,3", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.xlarge", "Release Date": "December 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,75", "PkgWatt @ 10%": "12,25", "PkgWatt @ 50%": "31,75", "PkgWatt @ 100%": "39,31", "RAMWatt @ Idle": "4,00", "RAMWatt @ 10%": "5,75", "RAMWatt @ 50%": "10,54", "RAMWatt @ 100%": "15,33", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "16,8", "Instance @ 10%": "26,0", "Instance @ 50%": "50,3", "Instance @ 100%": "62,6", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.2xlarge", "Release Date": "December 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,50", "PkgWatt @ 10%": "24,50", "PkgWatt @ 50%": "63,50", "PkgWatt @ 100%": "78,63", "RAMWatt @ Idle": "8,00", "RAMWatt @ 10%": "11,50", "RAMWatt @ 50%": "21,08", "RAMWatt @ 100%": "30,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "33,5", "Instance @ 10%": "52,0", "Instance @ 50%": "100,6", "Instance @ 100%": "125,3", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.3xlarge", "Release Date": "December 2020", "Instance vCPU": "12", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "48", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "14,25", "PkgWatt @ 10%": "36,75", "PkgWatt @ 50%": "95,25", "PkgWatt @ 100%": "117,94", "RAMWatt @ Idle": "12,00", "RAMWatt @ 10%": "17,25", "RAMWatt @ 50%": "31,63", "RAMWatt @ 100%": "46,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "24,0", "Instance @ Idle": "50,3", "Instance @ 10%": "78,0", "Instance @ 50%": "150,9", "Instance @ 100%": "187,9", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.6xlarge", "Release Date": "December 2020", "Instance vCPU": "24", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,50", "PkgWatt @ 10%": "73,50", "PkgWatt @ 50%": "190,50", "PkgWatt @ 100%": "235,88", "RAMWatt @ Idle": "24,00", "RAMWatt @ 10%": "34,50", "RAMWatt @ 50%": "63,25", "RAMWatt @ 100%": "92,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "100,5", "Instance @ 10%": "156,0", "Instance @ 50%": "301,8", "Instance @ 100%": "375,9", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.12xlarge", "Release Date": "December 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,00", "PkgWatt @ 10%": "147,00", "PkgWatt @ 50%": "381,00", "PkgWatt @ 100%": "471,75", "RAMWatt @ Idle": "48,00", "RAMWatt @ 10%": "69,00", "RAMWatt @ 50%": "126,50", "RAMWatt @ 100%": "184,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "201,0", "Instance @ 10%": "312,0", "Instance @ 50%": "603,5", "Instance @ 100%": "751,8", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m5zn.metal", "Release Date": "December 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8252C", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,00", "PkgWatt @ 10%": "147,00", "PkgWatt @ 50%": "381,00", "PkgWatt @ 100%": "471,75", "RAMWatt @ Idle": "48,00", "RAMWatt @ 10%": "69,00", "RAMWatt @ 50%": "126,50", "RAMWatt @ 100%": "184,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "201,0", "Instance @ 10%": "312,0", "Instance @ 50%": "603,5", "Instance @ 100%": "751,8", "Hardware Information on AWS Documentation & Comments": "Fastest Intel Xeon Scalable processors in the cloud with an all-core turbo frequency up to 4.5 GHz"}, {"Instance type": "m6g.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,5", "Instance @ 10%": "2,4", "Instance @ 50%": "3,8", "Instance @ 100%": "5,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "24,7", "Instance @ 10%": "38,6", "Instance @ 50%": "61,3", "Instance @ 100%": "84,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "49,3", "Instance @ 10%": "77,3", "Instance @ 50%": "122,6", "Instance @ 100%": "168,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "74,0", "Instance @ 10%": "115,9", "Instance @ 50%": "183,9", "Instance @ 100%": "252,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 59 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "1,5", "Instance @ 10%": "2,4", "Instance @ 50%": "3,8", "Instance @ 100%": "5,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 118 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 237 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 474 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "24,7", "Instance @ 10%": "38,6", "Instance @ 50%": "61,3", "Instance @ 100%": "84,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "1 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "49,3", "Instance @ 10%": "77,3", "Instance @ 50%": "122,6", "Instance @ 100%": "168,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "2 x 1425 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "74,0", "Instance @ 10%": "115,9", "Instance @ 50%": "183,9", "Instance @ 100%": "252,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6gd.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6i.large", "Release Date": "August 2021", "Instance vCPU": "2", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "4,6", "Instance @ 10%": "7,3", "Instance @ 50%": "12,1", "Instance @ 100%": "16,2", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.xlarge", "Release Date": "August 2021", "Instance vCPU": "4", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "9,1", "Instance @ 10%": "14,5", "Instance @ 50%": "24,3", "Instance @ 100%": "32,4", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.2xlarge", "Release Date": "August 2021", "Instance vCPU": "8", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "18,3", "Instance @ 10%": "29,0", "Instance @ 50%": "48,5", "Instance @ 100%": "64,9", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.4xlarge", "Release Date": "August 2021", "Instance vCPU": "16", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "36,5", "Instance @ 10%": "58,1", "Instance @ 50%": "97,0", "Instance @ 100%": "129,8", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.8xlarge", "Release Date": "August 2021", "Instance vCPU": "32", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "73,0", "Instance @ 10%": "116,1", "Instance @ 50%": "194,0", "Instance @ 100%": "259,6", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.12xlarge", "Release Date": "August 2021", "Instance vCPU": "48", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "26,13", "PkgWatt @ 10%": "71,61", "PkgWatt @ 50%": "169,26", "PkgWatt @ 100%": "229,17", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "45,0", "Instance @ Idle": "109,5", "Instance @ 10%": "174,2", "Instance @ 50%": "291,1", "Instance @ 100%": "389,4", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.16xlarge", "Release Date": "August 2021", "Instance vCPU": "64", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "34,84", "PkgWatt @ 10%": "95,48", "PkgWatt @ 50%": "225,68", "PkgWatt @ 100%": "305,56", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "60,0", "Instance @ Idle": "146,0", "Instance @ 10%": "232,3", "Instance @ 50%": "388,1", "Instance @ 100%": "519,2", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.24xlarge", "Release Date": "August 2021", "Instance vCPU": "96", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "52,26", "PkgWatt @ 10%": "143,22", "PkgWatt @ 50%": "338,52", "PkgWatt @ 100%": "458,35", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "90,0", "Instance @ Idle": "219,1", "Instance @ 10%": "348,4", "Instance @ 50%": "582,1", "Instance @ 100%": "778,7", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "m6i.32xlarge", "Release Date": "August 2021", "Instance vCPU": "128", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon Platinum 8375C", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "69,68", "PkgWatt @ 10%": "190,96", "PkgWatt @ 50%": "451,36", "PkgWatt @ 100%": "611,13", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "120,0", "Instance @ Idle": "292,1", "Instance @ 10%": "464,6", "Instance @ 50%": "776,2", "Instance @ 100%": "1038,3", "Hardware Information on AWS Documentation & Comments": "3rd generation Intel Xeon Scalable processors"}, {"Instance type": "mac1.metal", "Release Date": "November 2020", "Instance vCPU": "12", "Platform Total Number of vCPU": "12", "Platform CPU Name": "Core i7-8700B", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "32", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,55", "PkgWatt @ 10%": "20,69", "PkgWatt @ 50%": "48,90", "PkgWatt @ 100%": "66,21", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "13,0", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "74,7", "Instance @ 100%": "98,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "p2.xlarge", "Release Date": "September 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "732", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "16", "Platform GPU Name": "Tesla K80", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "24", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "34,8", "GPUWatt @ 10%": "95,5", "GPUWatt @ 50%": "225,7", "GPUWatt @ 100%": "305,6", "Delta Full Machine": "3,2", "Instance @ Idle": "52,2", "Instance @ 10%": "122,5", "Instance @ 50%": "264,7", "Instance @ 100%": "361,0", "Hardware Information on AWS Documentation & Comments": "1 GPU NVIDIA Tesla K80"}, {"Instance type": "p2.8xlarge", "Release Date": "September 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "732", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "16", "Platform GPU Name": "Tesla K80", "Instance Number of GPU": "8", "Instance GPU memory (in GB)": "192", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "278,7", "GPUWatt @ 10%": "763,8", "GPUWatt @ 50%": "1805,4", "GPUWatt @ 100%": "2444,5", "Delta Full Machine": "25,8", "Instance @ Idle": "417,6", "Instance @ 10%": "980,4", "Instance @ 50%": "2117,7", "Instance @ 100%": "2888,0", "Hardware Information on AWS Documentation & Comments": "8 GPU NVIDIA Tesla K80"}, {"Instance type": "p2.16xlarge", "Release Date": "September 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "732", "Platform Memory (in GB)": "732", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "16", "Platform GPU Name": "Tesla K80", "Instance Number of GPU": "16", "Instance GPU memory (in GB)": "384", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "146,40", "RAMWatt @ 10%": "219,60", "RAMWatt @ 50%": "292,80", "RAMWatt @ 100%": "439,20", "GPUWatt @ Idle": "557,4", "GPUWatt @ 10%": "1527,7", "GPUWatt @ 50%": "3610,9", "GPUWatt @ 100%": "4889,0", "Delta Full Machine": "51,6", "Instance @ Idle": "786,5", "Instance @ 10%": "1887,6", "Instance @ 50%": "4137,8", "Instance @ 100%": "5629,7", "Hardware Information on AWS Documentation & Comments": "16 GPU NVIDIA Tesla K80"}, {"Instance type": "p3.2xlarge", "Release Date": "October 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "Tesla V100", "Instance Number of GPU": "1", "Instance GPU memory (in GB)": "16", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "34,8", "GPUWatt @ 10%": "95,5", "GPUWatt @ 50%": "225,7", "GPUWatt @ 100%": "305,6", "Delta Full Machine": "6,4", "Instance @ Idle": "57,4", "Instance @ 10%": "131,3", "Instance @ 50%": "279,3", "Instance @ 100%": "379,8", "Hardware Information on AWS Documentation & Comments": "1 NVIDIA Tesla V100"}, {"Instance type": "p3.8xlarge", "Release Date": "October 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "Tesla V100", "Instance Number of GPU": "4", "Instance GPU memory (in GB)": "64", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "139,4", "GPUWatt @ 10%": "381,9", "GPUWatt @ 50%": "902,7", "GPUWatt @ 100%": "1222,3", "Delta Full Machine": "25,8", "Instance @ Idle": "229,5", "Instance @ 10%": "525,3", "Instance @ 50%": "1117,4", "Instance @ 100%": "1519,4", "Hardware Information on AWS Documentation & Comments": "4 NVIDIA Tesla V100"}, {"Instance type": "p3.16xlarge", "Release Date": "October 2017", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "N/A", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "Tesla V100", "Instance Number of GPU": "8", "Instance GPU memory (in GB)": "128", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "278,7", "GPUWatt @ 10%": "763,8", "GPUWatt @ 50%": "1805,4", "GPUWatt @ 100%": "2444,5", "Delta Full Machine": "51,6", "Instance @ Idle": "459,0", "Instance @ 10%": "1050,5", "Instance @ 50%": "2234,8", "Instance @ 100%": "3038,8", "Hardware Information on AWS Documentation & Comments": "8 NVIDIA Tesla V100"}, {"Instance type": "p3dn.24xlarge", "Release Date": "December 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "8", "Platform GPU Name": "Tesla V100", "Instance Number of GPU": "8", "Instance GPU memory (in GB)": "256", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "278,7", "GPUWatt @ 10%": "763,8", "GPUWatt @ 50%": "1805,4", "GPUWatt @ 100%": "2444,5", "Delta Full Machine": "96,0", "Instance @ Idle": "548,2", "Instance @ 10%": "1191,2", "Instance @ 50%": "2721,3", "Instance @ 100%": "3786,1", "Hardware Information on AWS Documentation & Comments": "8 NVIDIA Tesla V100"}, {"Instance type": "p4d.24xlarge", "Release Date": "November 2020", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8275CL", "Instance Memory (in GB)": "1152", "Platform Memory (in GB)": "1152", "Storage Info (Type and Size in GB)": "8TB NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "8", "Platform GPU Name": "Tesla A100", "Instance Number of GPU": "8", "Instance GPU memory (in GB)": "320", "PkgWatt @ Idle": "57,93", "PkgWatt @ 10%": "175,53", "PkgWatt @ 50%": "448,31", "PkgWatt @ 100%": "626,76", "RAMWatt @ Idle": "219,30", "RAMWatt @ 10%": "397,56", "RAMWatt @ 50%": "830,22", "RAMWatt @ 100%": "1262,88", "GPUWatt @ Idle": "371,6", "GPUWatt @ 10%": "1018,4", "GPUWatt @ 50%": "2407,2", "GPUWatt @ 100%": "3259,3", "Delta Full Machine": "96,0", "Instance @ Idle": "744,8", "Instance @ 10%": "1687,5", "Instance @ 50%": "3781,8", "Instance @ 100%": "5245,0", "Hardware Information on AWS Documentation & Comments": "8 NVIDIA A100 Tensor Core GPU"}, {"Instance type": "ra3.4xlarge", "Release Date": "December 2019", "Instance vCPU": "12", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "64000 RMS", "Storage Type": "RMS", "Platform Storage Drive Quantity": "10", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,24", "PkgWatt @ 10%": "20,66", "PkgWatt @ 50%": "42,49", "PkgWatt @ 100%": "58,17", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,0", "Instance @ Idle": "38,4", "Instance @ 10%": "61,5", "Instance @ 50%": "92,9", "Instance @ 100%": "127,8", "Hardware Information on AWS Documentation & Comments": "Comment: CPU platform assumed to be the same as ds2 instances"}, {"Instance type": "ra3.16xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "64000 RMS", "Storage Type": "RMS", "Platform Storage Drive Quantity": "10", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,95", "PkgWatt @ 10%": "82,64", "PkgWatt @ 50%": "169,98", "PkgWatt @ 100%": "232,66", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "153,7", "Instance @ 10%": "245,8", "Instance @ 50%": "371,6", "Instance @ 100%": "511,1", "Hardware Information on AWS Documentation & Comments": "Comment: CPU platform assumed to be the same as ds2 instances"}, {"Instance type": "r3.large", "Release Date": "April 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 32 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,39", "PkgWatt @ 10%": "3,96", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,15", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "6,7", "Instance @ 10%": "10,8", "Instance @ 50%": "16,5", "Instance @ 100%": "22,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.xlarge", "Release Date": "April 2014", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 80 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "13,5", "Instance @ 10%": "21,7", "Instance @ 50%": "33,1", "Instance @ 100%": "45,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.2xlarge", "Release Date": "April 2014", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 160 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.4xlarge", "Release Date": "April 2014", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 320 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,10", "PkgWatt @ 10%": "31,68", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "89,19", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,4", "Instance @ Idle": "53,9", "Instance @ 10%": "86,7", "Instance @ 50%": "132,4", "Instance @ 100%": "180,8", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.8xlarge", "Release Date": "April 2014", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2 x 320 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "107,8", "Instance @ 10%": "173,4", "Instance @ 50%": "264,7", "Instance @ 100%": "361,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r4.large", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,6", "Instance @ 10%": "9,0", "Instance @ 50%": "13,4", "Instance @ 100%": "18,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "11,3", "Instance @ 10%": "17,9", "Instance @ 50%": "26,8", "Instance @ 100%": "37,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "22,5", "Instance @ 10%": "35,8", "Instance @ 50%": "53,7", "Instance @ 100%": "74,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "45,1", "Instance @ 10%": "71,7", "Instance @ 50%": "107,3", "Instance @ 100%": "148,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.8xlarge", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "90,1", "Instance @ 10%": "143,4", "Instance @ 50%": "214,7", "Instance @ 100%": "297,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.16xlarge", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "180,2", "Instance @ 10%": "286,7", "Instance @ 50%": "429,3", "Instance @ 100%": "594,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r5.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "5,6", "Instance @ 10%": "8,9", "Instance @ 50%": "19,1", "Instance @ 100%": "27,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "11,2", "Instance @ 10%": "17,8", "Instance @ 50%": "38,2", "Instance @ 100%": "55,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "22,5", "Instance @ 10%": "35,6", "Instance @ 50%": "76,3", "Instance @ 100%": "111,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.4xlarge", "Release Date": "July 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "19,27", "RAMWatt @ 10%": "30,80", "RAMWatt @ 50%": "79,37", "RAMWatt @ 100%": "127,94", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "44,9", "Instance @ 10%": "71,2", "Instance @ 50%": "152,7", "Instance @ 100%": "223,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "19,29", "PkgWatt @ 10%": "48,88", "PkgWatt @ 50%": "114,57", "PkgWatt @ 100%": "159,33", "RAMWatt @ Idle": "38,54", "RAMWatt @ 10%": "61,59", "RAMWatt @ 50%": "158,73", "RAMWatt @ 100%": "255,87", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "32,0", "Instance @ Idle": "89,8", "Instance @ 10%": "142,5", "Instance @ 50%": "305,3", "Instance @ 100%": "447,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "134,8", "Instance @ 10%": "213,7", "Instance @ 50%": "458,0", "Instance @ 100%": "670,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "38,59", "PkgWatt @ 10%": "97,75", "PkgWatt @ 50%": "229,13", "PkgWatt @ 100%": "318,65", "RAMWatt @ Idle": "77,08", "RAMWatt @ 10%": "123,19", "RAMWatt @ 50%": "317,47", "RAMWatt @ 100%": "511,75", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "64,0", "Instance @ Idle": "179,7", "Instance @ 10%": "284,9", "Instance @ 50%": "610,6", "Instance @ 100%": "894,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.24xlarge", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "269,5", "Instance @ 10%": "427,4", "Instance @ 50%": "915,9", "Instance @ 100%": "1341,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.metal", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "269,5", "Instance @ 10%": "427,4", "Instance @ 50%": "915,9", "Instance @ 100%": "1341,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5a.large", "Release Date": "November 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "5,8", "Instance @ 10%": "9,1", "Instance @ 50%": "14,3", "Instance @ 100%": "19,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.xlarge", "Release Date": "November 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,30", "PkgWatt @ 50%": "12,54", "PkgWatt @ 100%": "16,98", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,3", "Instance @ Idle": "11,7", "Instance @ 10%": "18,2", "Instance @ 50%": "28,7", "Instance @ 100%": "39,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.2xlarge", "Release Date": "November 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,87", "PkgWatt @ 10%": "10,61", "PkgWatt @ 50%": "25,08", "PkgWatt @ 100%": "33,95", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,7", "Instance @ Idle": "23,3", "Instance @ 10%": "36,5", "Instance @ 50%": "57,3", "Instance @ 100%": "79,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.4xlarge", "Release Date": "November 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,74", "PkgWatt @ 10%": "21,22", "PkgWatt @ 50%": "50,15", "PkgWatt @ 100%": "67,90", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "13,3", "Instance @ Idle": "46,7", "Instance @ 10%": "73,0", "Instance @ 50%": "114,7", "Instance @ 100%": "158,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,48", "PkgWatt @ 10%": "42,43", "PkgWatt @ 50%": "100,30", "PkgWatt @ 100%": "135,81", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "26,7", "Instance @ Idle": "93,4", "Instance @ 10%": "145,9", "Instance @ 50%": "229,4", "Instance @ 100%": "316,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.12xlarge", "Release Date": "November 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "23,23", "PkgWatt @ 10%": "63,65", "PkgWatt @ 50%": "150,45", "PkgWatt @ 100%": "203,71", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "140,0", "Instance @ 10%": "218,9", "Instance @ 50%": "344,1", "Instance @ 100%": "474,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "30,97", "PkgWatt @ 10%": "84,87", "PkgWatt @ 50%": "200,60", "PkgWatt @ 100%": "271,61", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "53,3", "Instance @ Idle": "186,7", "Instance @ 10%": "291,8", "Instance @ 50%": "458,7", "Instance @ 100%": "632,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5a.24xlarge", "Release Date": "November 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "46,45", "PkgWatt @ 10%": "127,30", "PkgWatt @ 50%": "300,91", "PkgWatt @ 100%": "407,42", "RAMWatt @ Idle": "153,60", "RAMWatt @ 10%": "230,40", "RAMWatt @ 50%": "307,20", "RAMWatt @ 100%": "460,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "80,0", "Instance @ Idle": "280,1", "Instance @ 10%": "437,7", "Instance @ 50%": "688,1", "Instance @ 100%": "948,2", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.large", "Release Date": "March 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "5,8", "Instance @ 10%": "9,1", "Instance @ 50%": "14,3", "Instance @ 100%": "19,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.xlarge", "Release Date": "March 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,30", "PkgWatt @ 50%": "12,54", "PkgWatt @ 100%": "16,98", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,3", "Instance @ Idle": "11,7", "Instance @ 10%": "18,2", "Instance @ 50%": "28,7", "Instance @ 100%": "39,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.2xlarge", "Release Date": "March 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,87", "PkgWatt @ 10%": "10,61", "PkgWatt @ 50%": "25,08", "PkgWatt @ 100%": "33,95", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,7", "Instance @ Idle": "23,3", "Instance @ 10%": "36,5", "Instance @ 50%": "57,3", "Instance @ 100%": "79,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.4xlarge", "Release Date": "March 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,74", "PkgWatt @ 10%": "21,22", "PkgWatt @ 50%": "50,15", "PkgWatt @ 100%": "67,90", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "13,3", "Instance @ Idle": "46,7", "Instance @ 10%": "73,0", "Instance @ 50%": "114,7", "Instance @ 100%": "158,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.8xlarge", "Release Date": "March 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,48", "PkgWatt @ 10%": "42,43", "PkgWatt @ 50%": "100,30", "PkgWatt @ 100%": "135,81", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "26,7", "Instance @ Idle": "93,4", "Instance @ 10%": "145,9", "Instance @ 50%": "229,4", "Instance @ 100%": "316,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.12xlarge", "Release Date": "March 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "23,23", "PkgWatt @ 10%": "63,65", "PkgWatt @ 50%": "150,45", "PkgWatt @ 100%": "203,71", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "140,0", "Instance @ 10%": "218,9", "Instance @ 50%": "344,1", "Instance @ 100%": "474,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.16xlarge", "Release Date": "March 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "30,97", "PkgWatt @ 10%": "84,87", "PkgWatt @ 50%": "200,60", "PkgWatt @ 100%": "271,61", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "53,3", "Instance @ Idle": "186,7", "Instance @ 10%": "291,8", "Instance @ 50%": "458,7", "Instance @ 100%": "632,1", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5ad.24xlarge", "Release Date": "March 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "46,45", "PkgWatt @ 10%": "127,30", "PkgWatt @ 50%": "300,91", "PkgWatt @ 100%": "407,42", "RAMWatt @ Idle": "153,60", "RAMWatt @ 10%": "230,40", "RAMWatt @ 50%": "307,20", "RAMWatt @ 100%": "460,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "80,0", "Instance @ Idle": "280,1", "Instance @ 10%": "437,7", "Instance @ 50%": "688,1", "Instance @ 100%": "948,2", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 series processors"}, {"Instance type": "r5d.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "5,4", "Instance @ 10%": "8,7", "Instance @ 50%": "15,5", "Instance @ 100%": "21,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "10,8", "Instance @ 10%": "17,5", "Instance @ 50%": "31,0", "Instance @ 100%": "43,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "21,5", "Instance @ 10%": "35,0", "Instance @ 50%": "62,1", "Instance @ 100%": "86,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.4xlarge", "Release Date": "July 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "43,0", "Instance @ 10%": "69,9", "Instance @ 50%": "124,1", "Instance @ 100%": "173,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "86,0", "Instance @ 10%": "139,9", "Instance @ 50%": "248,2", "Instance @ 100%": "346,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "129,1", "Instance @ 10%": "209,8", "Instance @ 50%": "372,4", "Instance @ 100%": "519,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "79,62", "RAMWatt @ 10%": "131,77", "RAMWatt @ 50%": "235,85", "RAMWatt @ 100%": "339,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "172,1", "Instance @ 10%": "279,7", "Instance @ 50%": "496,5", "Instance @ 100%": "692,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.24xlarge", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5d.metal", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5dn.large", "Release Date": "October 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "5,4", "Instance @ 10%": "8,7", "Instance @ 50%": "15,5", "Instance @ 100%": "21,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.xlarge", "Release Date": "October 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "10,8", "Instance @ 10%": "17,5", "Instance @ 50%": "31,0", "Instance @ 100%": "43,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.2xlarge", "Release Date": "October 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "21,5", "Instance @ 10%": "35,0", "Instance @ 50%": "62,1", "Instance @ 100%": "86,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.4xlarge", "Release Date": "October 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "43,0", "Instance @ 10%": "69,9", "Instance @ 50%": "124,1", "Instance @ 100%": "173,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.8xlarge", "Release Date": "October 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "86,0", "Instance @ 10%": "139,9", "Instance @ 50%": "248,2", "Instance @ 100%": "346,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.12xlarge", "Release Date": "October 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "129,1", "Instance @ 10%": "209,8", "Instance @ 50%": "372,4", "Instance @ 100%": "519,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.16xlarge", "Release Date": "October 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 600 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "79,62", "RAMWatt @ 10%": "131,77", "RAMWatt @ 50%": "235,85", "RAMWatt @ 100%": "339,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "172,1", "Instance @ 10%": "279,7", "Instance @ 50%": "496,5", "Instance @ 100%": "692,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.24xlarge", "Release Date": "October 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5dn.metal", "Release Date": "February 2021", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "4 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "4", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.large", "Release Date": "October 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "5,4", "Instance @ 10%": "8,7", "Instance @ 50%": "15,5", "Instance @ 100%": "21,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.xlarge", "Release Date": "October 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "10,8", "Instance @ 10%": "17,5", "Instance @ 50%": "31,0", "Instance @ 100%": "43,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.2xlarge", "Release Date": "October 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "21,5", "Instance @ 10%": "35,0", "Instance @ 50%": "62,1", "Instance @ 100%": "86,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.4xlarge", "Release Date": "October 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "43,0", "Instance @ 10%": "69,9", "Instance @ 50%": "124,1", "Instance @ 100%": "173,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.8xlarge", "Release Date": "October 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "86,0", "Instance @ 10%": "139,9", "Instance @ 50%": "248,2", "Instance @ 100%": "346,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.12xlarge", "Release Date": "October 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "129,1", "Instance @ 10%": "209,8", "Instance @ 50%": "372,4", "Instance @ 100%": "519,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.16xlarge", "Release Date": "October 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "79,62", "RAMWatt @ 10%": "131,77", "RAMWatt @ 50%": "235,85", "RAMWatt @ 100%": "339,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "172,1", "Instance @ 10%": "279,7", "Instance @ 50%": "496,5", "Instance @ 100%": "692,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.24xlarge", "Release Date": "October 2019", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5n.metal", "Release Date": "February 2021", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.5 GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake)"}, {"Instance type": "r5b.large", "Release Date": "December 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "5,4", "Instance @ 10%": "8,7", "Instance @ 50%": "15,5", "Instance @ 100%": "21,7", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.xlarge", "Release Date": "December 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "10,8", "Instance @ 10%": "17,5", "Instance @ 50%": "31,0", "Instance @ 100%": "43,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.2xlarge", "Release Date": "December 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "21,5", "Instance @ 10%": "35,0", "Instance @ 50%": "62,1", "Instance @ 100%": "86,6", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.4xlarge", "Release Date": "December 2020", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "43,0", "Instance @ 10%": "69,9", "Instance @ 50%": "124,1", "Instance @ 100%": "173,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.8xlarge", "Release Date": "December 2020", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "86,0", "Instance @ 10%": "139,9", "Instance @ 50%": "248,2", "Instance @ 100%": "346,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.12xlarge", "Release Date": "December 2020", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "129,1", "Instance @ 10%": "209,8", "Instance @ 50%": "372,4", "Instance @ 100%": "519,6", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.16xlarge", "Release Date": "December 2020", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "79,62", "RAMWatt @ 10%": "131,77", "RAMWatt @ 50%": "235,85", "RAMWatt @ 100%": "339,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "172,1", "Instance @ 10%": "279,7", "Instance @ 50%": "496,5", "Instance @ 100%": "692,9", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.24xlarge", "Release Date": "December 2020", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r5b.metal", "Release Date": "December 2020", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "119,43", "RAMWatt @ 10%": "197,66", "RAMWatt @ 50%": "353,78", "RAMWatt @ 100%": "509,90", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "258,1", "Instance @ 10%": "419,6", "Instance @ 50%": "744,7", "Instance @ 100%": "1039,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "r6g.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "5,4", "Instance @ 100%": "7,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "74,9", "Instance @ 10%": "115,7", "Instance @ 50%": "173,8", "Instance @ 100%": "245,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.medium", "Release Date": "December 2019", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 59 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "5,4", "Instance @ 100%": "7,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 118 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 237 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 474 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "74,9", "Instance @ 10%": "115,7", "Instance @ 50%": "173,8", "Instance @ 100%": "245,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1425 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.metal", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "t1.micro", "Release Date": "September 2010", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "613", "Platform Memory (in GB)": "144", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,87", "PkgWatt @ 10%": "2,47", "PkgWatt @ 50%": "5,09", "PkgWatt @ 100%": "6,97", "RAMWatt @ Idle": "0,12", "RAMWatt @ 10%": "0,18", "RAMWatt @ 50%": "0,25", "RAMWatt @ 100%": "0,37", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,4", "Instance @ Idle": "2,4", "Instance @ 10%": "4,1", "Instance @ 50%": "6,8", "Instance @ 100%": "8,8", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "t2.nano", "Release Date": "December 2015", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "0.5", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,10", "RAMWatt @ 10%": "0,15", "RAMWatt @ 50%": "0,20", "RAMWatt @ 100%": "0,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,7", "Instance @ 10%": "2,9", "Instance @ 50%": "4,7", "Instance @ 100%": "6,1", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.micro", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,20", "RAMWatt @ 10%": "0,30", "RAMWatt @ 50%": "0,40", "RAMWatt @ 100%": "0,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,8", "Instance @ 10%": "3,0", "Instance @ 50%": "4,9", "Instance @ 100%": "6,4", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.small", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "2,0", "Instance @ 10%": "3,3", "Instance @ 50%": "5,3", "Instance @ 100%": "7,0", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.medium", "Release Date": "July 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,44", "PkgWatt @ 50%": "7,08", "PkgWatt @ 100%": "9,69", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,0", "Instance @ 10%": "6,6", "Instance @ 50%": "10,7", "Instance @ 100%": "14,1", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.large", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "4,2", "Instance @ 10%": "6,8", "Instance @ 50%": "10,5", "Instance @ 100%": "14,2", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Scalable Processor"}, {"Instance type": "t2.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "8,4", "Instance @ 10%": "13,6", "Instance @ 50%": "21,0", "Instance @ 100%": "28,4", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Scalable Processor"}, {"Instance type": "t2.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,7", "Instance @ 10%": "27,1", "Instance @ 50%": "42,1", "Instance @ 100%": "56,9", "Hardware Information on AWS Documentation & Comments": "3.0 GHz Intel Scalable Processor"}, {"Instance type": "t3.nano", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "0.5", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,08", "RAMWatt @ 10%": "0,12", "RAMWatt @ 50%": "0,31", "RAMWatt @ 100%": "0,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,3", "Instance @ 10%": "5,2", "Instance @ 50%": "9,5", "Instance @ 100%": "12,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.micro", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,15", "RAMWatt @ 10%": "0,24", "RAMWatt @ 50%": "0,62", "RAMWatt @ 100%": "1,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,4", "Instance @ 10%": "5,3", "Instance @ 50%": "9,8", "Instance @ 100%": "13,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.small", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,30", "RAMWatt @ 10%": "0,48", "RAMWatt @ 50%": "1,24", "RAMWatt @ 100%": "2,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,5", "Instance @ 10%": "5,5", "Instance @ 50%": "10,4", "Instance @ 100%": "14,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.medium", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,60", "RAMWatt @ 10%": "0,96", "RAMWatt @ 50%": "2,48", "RAMWatt @ 100%": "4,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,8", "Instance @ 10%": "6,0", "Instance @ 50%": "11,6", "Instance @ 100%": "16,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.large", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "1,20", "RAMWatt @ 10%": "1,92", "RAMWatt @ 50%": "4,96", "RAMWatt @ 100%": "8,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,4", "Instance @ 10%": "7,0", "Instance @ 50%": "14,1", "Instance @ 100%": "20,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.xlarge", "Release Date": "August 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,8", "Instance @ 10%": "14,0", "Instance @ 50%": "28,2", "Instance @ 100%": "39,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.2xlarge", "Release Date": "August 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "17,6", "Instance @ 10%": "27,9", "Instance @ 50%": "56,5", "Instance @ 100%": "79,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3a.nano", "Release Date": "April 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "0.5", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "0,10", "RAMWatt @ 10%": "0,15", "RAMWatt @ 50%": "0,20", "RAMWatt @ 100%": "0,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "2,7", "Instance @ 10%": "4,5", "Instance @ 50%": "8,1", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.micro", "Release Date": "April 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "0,20", "RAMWatt @ 10%": "0,30", "RAMWatt @ 50%": "0,40", "RAMWatt @ 100%": "0,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "2,8", "Instance @ 10%": "4,6", "Instance @ 50%": "8,3", "Instance @ 100%": "10,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.small", "Release Date": "April 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "3,0", "Instance @ 10%": "4,9", "Instance @ 50%": "8,7", "Instance @ 100%": "11,4", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.medium", "Release Date": "April 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "3,4", "Instance @ 10%": "5,5", "Instance @ 50%": "9,5", "Instance @ 100%": "12,6", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.large", "Release Date": "April 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,65", "PkgWatt @ 50%": "6,27", "PkgWatt @ 100%": "8,49", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,7", "Instance @ Idle": "4,2", "Instance @ 10%": "6,7", "Instance @ 50%": "11,1", "Instance @ 100%": "15,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.xlarge", "Release Date": "April 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,30", "PkgWatt @ 50%": "12,54", "PkgWatt @ 100%": "16,98", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,3", "Instance @ Idle": "8,5", "Instance @ 10%": "13,4", "Instance @ 50%": "22,3", "Instance @ 100%": "29,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t3a.2xlarge", "Release Date": "April 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "EPYC 7571", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,87", "PkgWatt @ 10%": "10,61", "PkgWatt @ 50%": "25,08", "PkgWatt @ 100%": "33,95", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,7", "Instance @ Idle": "16,9", "Instance @ 10%": "26,9", "Instance @ 50%": "44,5", "Instance @ 100%": "59,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz AMD EPYC 7000 Series Processor"}, {"Instance type": "t4g.nano", "Release Date": "September 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "0.5", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,10", "RAMWatt @ 10%": "0,15", "RAMWatt @ 50%": "0,20", "RAMWatt @ 100%": "0,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "1,6", "Instance @ 10%": "2,6", "Instance @ 50%": "4,7", "Instance @ 100%": "6,0", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 5%"}, {"Instance type": "t4g.micro", "Release Date": "September 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,20", "RAMWatt @ 10%": "0,30", "RAMWatt @ 50%": "0,40", "RAMWatt @ 100%": "0,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "1,7", "Instance @ 10%": "2,7", "Instance @ 50%": "4,9", "Instance @ 100%": "6,3", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 10%"}, {"Instance type": "t4g.small", "Release Date": "September 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "1,9", "Instance @ 10%": "3,0", "Instance @ 50%": "5,3", "Instance @ 100%": "6,9", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 20%"}, {"Instance type": "t4g.medium", "Release Date": "September 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "6,1", "Instance @ 100%": "8,1", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 20%"}, {"Instance type": "t4g.large", "Release Date": "September 2020", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 30%"}, {"Instance type": "t4g.xlarge", "Release Date": "September 2020", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 40%"}, {"Instance type": "t4g.2xlarge", "Release Date": "September 2020", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "Baseline Performance / vCPU 40%"}, {"Instance type": "u-6tb1.metal", "Release Date": "September 2018", "Instance vCPU": "448", "Platform Total Number of vCPU": "448", "Platform CPU Name": "Xeon Platinum 8176M", "Instance Memory (in GB)": "6144", "Platform Memory (in GB)": "24576", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "159,17", "PkgWatt @ 10%": "403,23", "PkgWatt @ 50%": "945,18", "PkgWatt @ 100%": "1314,43", "RAMWatt @ Idle": "1228,80", "RAMWatt @ 10%": "1843,20", "RAMWatt @ 50%": "2457,60", "RAMWatt @ 100%": "3686,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "264,0", "Instance @ Idle": "1652,0", "Instance @ 10%": "2510,4", "Instance @ 50%": "3666,8", "Instance @ 100%": "5264,8", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Platinum 8176M (Skylake) processors"}, {"Instance type": "u-9tb1.metal", "Release Date": "September 2018", "Instance vCPU": "448", "Platform Total Number of vCPU": "448", "Platform CPU Name": "Xeon Platinum 8176M", "Instance Memory (in GB)": "9216", "Platform Memory (in GB)": "24576", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "159,17", "PkgWatt @ 10%": "403,23", "PkgWatt @ 50%": "945,18", "PkgWatt @ 100%": "1314,43", "RAMWatt @ Idle": "1843,20", "RAMWatt @ 10%": "2764,80", "RAMWatt @ 50%": "3686,40", "RAMWatt @ 100%": "5529,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "264,0", "Instance @ Idle": "2266,4", "Instance @ 10%": "3432,0", "Instance @ 50%": "4895,6", "Instance @ 100%": "7108,0", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Platinum 8176M (Skylake) processors"}, {"Instance type": "u-12tb1.metal", "Release Date": "September 2018", "Instance vCPU": "448", "Platform Total Number of vCPU": "448", "Platform CPU Name": "Xeon Platinum 8176M", "Instance Memory (in GB)": "12288", "Platform Memory (in GB)": "24576", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "159,17", "PkgWatt @ 10%": "403,23", "PkgWatt @ 50%": "945,18", "PkgWatt @ 100%": "1314,43", "RAMWatt @ Idle": "2457,60", "RAMWatt @ 10%": "3686,40", "RAMWatt @ 50%": "4915,20", "RAMWatt @ 100%": "7372,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "264,0", "Instance @ Idle": "2880,8", "Instance @ 10%": "4353,6", "Instance @ 50%": "6124,4", "Instance @ 100%": "8951,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Platinum 8176M (Skylake) processors"}, {"Instance type": "u-18tb1.metal", "Release Date": "May 2019", "Instance vCPU": "448", "Platform Total Number of vCPU": "448", "Platform CPU Name": "Xeon Platinum 8176M", "Instance Memory (in GB)": "18432", "Platform Memory (in GB)": "24576", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "159,17", "PkgWatt @ 10%": "403,23", "PkgWatt @ 50%": "945,18", "PkgWatt @ 100%": "1314,43", "RAMWatt @ Idle": "3686,40", "RAMWatt @ 10%": "5529,60", "RAMWatt @ 50%": "7372,80", "RAMWatt @ 100%": "11059,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "264,0", "Instance @ Idle": "4109,6", "Instance @ 10%": "6196,8", "Instance @ 50%": "8582,0", "Instance @ 100%": "12637,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Platinum 8176M (Skylake) processors"}, {"Instance type": "u-24tb1.metal", "Release Date": "May 2019", "Instance vCPU": "448", "Platform Total Number of vCPU": "448", "Platform CPU Name": "Xeon Platinum 8176M", "Instance Memory (in GB)": "24576", "Platform Memory (in GB)": "24576", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "159,17", "PkgWatt @ 10%": "403,23", "PkgWatt @ 50%": "945,18", "PkgWatt @ 100%": "1314,43", "RAMWatt @ Idle": "4915,20", "RAMWatt @ 10%": "7372,80", "RAMWatt @ 50%": "9830,40", "RAMWatt @ 100%": "14745,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "264,0", "Instance @ Idle": "5338,4", "Instance @ 10%": "8040,0", "Instance @ 50%": "11039,6", "Instance @ 100%": "16324,0", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Platinum 8176M (Skylake) processors"}, {"Instance type": "x1.16xlarge", "Release Date": "October 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "976", "Platform Memory (in GB)": "1952", "Storage Info (Type and Size in GB)": "1 x 1.920 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,19", "PkgWatt @ 10%": "103,30", "PkgWatt @ 50%": "212,47", "PkgWatt @ 100%": "290,83", "RAMWatt @ Idle": "195,20", "RAMWatt @ 10%": "292,80", "RAMWatt @ 50%": "390,40", "RAMWatt @ 100%": "585,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "60,0", "Instance @ Idle": "291,4", "Instance @ 10%": "456,1", "Instance @ 50%": "662,9", "Instance @ 100%": "936,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1.32xlarge", "Release Date": "May 2016", "Instance vCPU": "128", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "1952", "Platform Memory (in GB)": "1952", "Storage Info (Type and Size in GB)": "2 x 1.920 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "72,37", "PkgWatt @ 10%": "206,61", "PkgWatt @ 50%": "424,94", "PkgWatt @ 100%": "581,65", "RAMWatt @ Idle": "390,40", "RAMWatt @ 10%": "585,60", "RAMWatt @ 50%": "780,80", "RAMWatt @ 100%": "1171,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "120,0", "Instance @ Idle": "582,8", "Instance @ 10%": "912,2", "Instance @ 50%": "1325,7", "Instance @ 100%": "1872,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.xlarge", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "1 x 120 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,26", "PkgWatt @ 10%": "6,46", "PkgWatt @ 50%": "13,28", "PkgWatt @ 100%": "18,18", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "30,4", "Instance @ 10%": "46,8", "Instance @ 50%": "65,8", "Instance @ 100%": "95,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "1 x 240 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,52", "PkgWatt @ 10%": "12,91", "PkgWatt @ 50%": "26,56", "PkgWatt @ 100%": "36,35", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "60,8", "Instance @ 10%": "93,6", "Instance @ 50%": "131,7", "Instance @ 100%": "190,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "1 x 480 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,05", "PkgWatt @ 10%": "25,83", "PkgWatt @ 50%": "53,12", "PkgWatt @ 100%": "72,71", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "121,6", "Instance @ 10%": "187,2", "Instance @ 50%": "263,3", "Instance @ 100%": "380,5", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.8xlarge", "Release Date": "November 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "976", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "1 x 960 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,09", "PkgWatt @ 10%": "51,65", "PkgWatt @ 50%": "106,24", "PkgWatt @ 100%": "145,41", "RAMWatt @ Idle": "195,20", "RAMWatt @ 10%": "292,80", "RAMWatt @ 50%": "390,40", "RAMWatt @ 100%": "585,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "243,3", "Instance @ 10%": "374,5", "Instance @ 50%": "526,6", "Instance @ 100%": "761,0", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.16xlarge", "Release Date": "November 2017", "Instance vCPU": "64", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "1952", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "1 x 1.920 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,19", "PkgWatt @ 10%": "103,30", "PkgWatt @ 50%": "212,47", "PkgWatt @ 100%": "290,83", "RAMWatt @ Idle": "390,40", "RAMWatt @ 10%": "585,60", "RAMWatt @ 50%": "780,80", "RAMWatt @ 100%": "1171,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "60,0", "Instance @ Idle": "486,6", "Instance @ 10%": "748,9", "Instance @ 50%": "1053,3", "Instance @ 100%": "1522,0", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x1e.32xlarge", "Release Date": "September 2017", "Instance vCPU": "128", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "3904", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "2 x 1.920 SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "72,37", "PkgWatt @ 10%": "206,61", "PkgWatt @ 50%": "424,94", "PkgWatt @ 100%": "581,65", "RAMWatt @ Idle": "780,80", "RAMWatt @ 10%": "1171,20", "RAMWatt @ 50%": "1561,60", "RAMWatt @ 100%": "2342,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "120,0", "Instance @ Idle": "973,2", "Instance @ 10%": "1497,8", "Instance @ 50%": "2106,5", "Instance @ 100%": "3044,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "x2gd.medium", "Release Date": "March 2021", "Instance vCPU": "1", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x59 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,27", "PkgWatt @ 10%": "0,75", "PkgWatt @ 50%": "1,76", "PkgWatt @ 100%": "2,39", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,5", "Instance @ Idle": "3,9", "Instance @ 10%": "6,0", "Instance @ 50%": "8,6", "Instance @ 100%": "12,5", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.large", "Release Date": "March 2021", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x118 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "7,9", "Instance @ 10%": "12,0", "Instance @ 50%": "17,3", "Instance @ 100%": "24,9", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.xlarge", "Release Date": "March 2021", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x237 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "15,8", "Instance @ 10%": "24,1", "Instance @ 50%": "34,5", "Instance @ 100%": "49,8", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.2xlarge", "Release Date": "March 2021", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x475 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "31,5", "Instance @ 10%": "48,1", "Instance @ 50%": "69,1", "Instance @ 100%": "99,6", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.4xlarge", "Release Date": "March 2021", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "63,1", "Instance @ 10%": "96,2", "Instance @ 50%": "138,1", "Instance @ 100%": "199,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.8xlarge", "Release Date": "March 2021", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "1x1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "126,1", "Instance @ 10%": "192,5", "Instance @ 50%": "276,2", "Instance @ 100%": "398,6", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.12xlarge", "Release Date": "March 2021", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "2x1425 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "153,60", "RAMWatt @ 10%": "230,40", "RAMWatt @ 50%": "307,20", "RAMWatt @ 100%": "460,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "189,2", "Instance @ 10%": "288,7", "Instance @ 50%": "414,3", "Instance @ 100%": "597,9", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.16xlarge", "Release Date": "March 2021", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "1024", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "2x1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "204,80", "RAMWatt @ 10%": "307,20", "RAMWatt @ 50%": "409,60", "RAMWatt @ 100%": "614,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "252,2", "Instance @ 10%": "384,9", "Instance @ 50%": "552,4", "Instance @ 100%": "797,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "x2gd.metal", "Release Date": "March 2021", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "1024", "Platform Memory (in GB)": "1024", "Storage Info (Type and Size in GB)": "2x1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "204,80", "RAMWatt @ 10%": "307,20", "RAMWatt @ 50%": "409,60", "RAMWatt @ 100%": "614,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "252,2", "Instance @ 10%": "384,9", "Instance @ 50%": "552,4", "Instance @ 100%": "797,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "z1d.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 75 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,00", "PkgWatt @ 10%": "6,17", "PkgWatt @ 50%": "15,04", "PkgWatt @ 100%": "18,38", "RAMWatt @ Idle": "2,08", "RAMWatt @ 10%": "3,83", "RAMWatt @ 50%": "7,25", "RAMWatt @ 100%": "10,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,1", "Instance @ 10%": "14,0", "Instance @ 50%": "26,3", "Instance @ 100%": "33,0", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 150 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,00", "PkgWatt @ 10%": "12,33", "PkgWatt @ 50%": "30,08", "PkgWatt @ 100%": "36,75", "RAMWatt @ Idle": "4,17", "RAMWatt @ 10%": "7,67", "RAMWatt @ 50%": "14,50", "RAMWatt @ 100%": "21,33", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "16,2", "Instance @ 10%": "28,0", "Instance @ 50%": "52,6", "Instance @ 100%": "66,1", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 300 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,00", "PkgWatt @ 10%": "24,67", "PkgWatt @ 50%": "60,17", "PkgWatt @ 100%": "73,50", "RAMWatt @ Idle": "8,33", "RAMWatt @ 10%": "15,33", "RAMWatt @ 50%": "29,00", "RAMWatt @ 100%": "42,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "32,3", "Instance @ 10%": "56,0", "Instance @ 50%": "105,2", "Instance @ 100%": "132,2", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.3xlarge", "Release Date": "July 2018", "Instance vCPU": "12", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 450 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "12,00", "PkgWatt @ 10%": "37,00", "PkgWatt @ 50%": "90,25", "PkgWatt @ 100%": "110,25", "RAMWatt @ Idle": "12,50", "RAMWatt @ 10%": "23,00", "RAMWatt @ 50%": "43,50", "RAMWatt @ 100%": "64,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "24,0", "Instance @ Idle": "48,5", "Instance @ 10%": "84,0", "Instance @ 50%": "157,8", "Instance @ 100%": "198,3", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.6xlarge", "Release Date": "July 2018", "Instance vCPU": "24", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,00", "PkgWatt @ 10%": "74,00", "PkgWatt @ 50%": "180,50", "PkgWatt @ 100%": "220,50", "RAMWatt @ Idle": "25,00", "RAMWatt @ 10%": "46,00", "RAMWatt @ 50%": "87,00", "RAMWatt @ 100%": "128,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "97,0", "Instance @ 10%": "168,0", "Instance @ 50%": "315,5", "Instance @ 100%": "396,5", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "48,00", "PkgWatt @ 10%": "148,00", "PkgWatt @ 50%": "361,00", "PkgWatt @ 100%": "441,00", "RAMWatt @ Idle": "50,00", "RAMWatt @ 10%": "92,00", "RAMWatt @ 50%": "174,00", "RAMWatt @ 100%": "256,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "194,0", "Instance @ 10%": "336,0", "Instance @ 50%": "631,0", "Instance @ 100%": "793,0", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "z1d.metal", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "2 x 900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "48,00", "PkgWatt @ 10%": "148,00", "PkgWatt @ 50%": "361,00", "PkgWatt @ 100%": "441,00", "RAMWatt @ Idle": "50,00", "RAMWatt @ 10%": "92,00", "RAMWatt @ 50%": "174,00", "RAMWatt @ 100%": "256,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "194,0", "Instance @ 10%": "336,0", "Instance @ 50%": "631,0", "Instance @ 100%": "793,0", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "cache.t2.micro", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "555", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,11", "RAMWatt @ 10%": "0,17", "RAMWatt @ 50%": "0,22", "RAMWatt @ 100%": "0,33", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,7", "Instance @ 10%": "2,9", "Instance @ 50%": "4,8", "Instance @ 100%": "6,2", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "cache.t2.small", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "1.55", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,31", "RAMWatt @ 10%": "0,47", "RAMWatt @ 50%": "0,62", "RAMWatt @ 100%": "0,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,9", "Instance @ 10%": "3,2", "Instance @ 50%": "5,2", "Instance @ 100%": "6,8", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "cache.t2.medium", "Release Date": "July 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "3.22", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,44", "PkgWatt @ 50%": "7,08", "PkgWatt @ 100%": "9,69", "RAMWatt @ Idle": "0,64", "RAMWatt @ 10%": "0,97", "RAMWatt @ 50%": "1,29", "RAMWatt @ 100%": "1,93", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,9", "Instance @ 10%": "6,4", "Instance @ 50%": "10,4", "Instance @ 100%": "13,6", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "cache.t3.micro", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "0.5", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,08", "RAMWatt @ 10%": "0,12", "RAMWatt @ 50%": "0,31", "RAMWatt @ 100%": "0,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,3", "Instance @ 10%": "5,2", "Instance @ 50%": "9,5", "Instance @ 100%": "12,5", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "cache.t3.small", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "1.37", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,21", "RAMWatt @ 10%": "0,33", "RAMWatt @ 50%": "0,85", "RAMWatt @ 100%": "1,37", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,4", "Instance @ 10%": "5,4", "Instance @ 50%": "10,0", "Instance @ 100%": "13,3", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "cache.t3.medium", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "3.09", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,47", "RAMWatt @ 10%": "0,74", "RAMWatt @ 50%": "1,92", "RAMWatt @ 100%": "3,09", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,7", "Instance @ 10%": "5,8", "Instance @ 50%": "11,1", "Instance @ 100%": "15,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "cache.m3.medium", "Release Date": "January 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "1 x 4 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "1", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,87", "PkgWatt @ 10%": "2,47", "PkgWatt @ 50%": "5,09", "PkgWatt @ 100%": "6,97", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,4", "Instance @ Idle": "3,1", "Instance @ 10%": "5,0", "Instance @ 50%": "8,0", "Instance @ 100%": "10,7", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "cache.m4.large", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "6.42", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "1,28", "RAMWatt @ 10%": "1,93", "RAMWatt @ 50%": "2,57", "RAMWatt @ 100%": "3,85", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "3,9", "Instance @ 10%": "6,3", "Instance @ 50%": "9,9", "Instance @ 100%": "13,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "cache.m4.xlarge", "Release Date": "June 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "14.28", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "2,86", "RAMWatt @ 10%": "4,28", "RAMWatt @ 50%": "5,71", "RAMWatt @ 100%": "8,57", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "8,0", "Instance @ 10%": "13,1", "Instance @ 50%": "20,3", "Instance @ 100%": "27,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "cache.m4.2xlarge", "Release Date": "June 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "29.7", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "5,94", "RAMWatt @ 10%": "8,91", "RAMWatt @ 50%": "11,88", "RAMWatt @ 100%": "17,82", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,3", "Instance @ 10%": "26,5", "Instance @ 50%": "41,1", "Instance @ 100%": "55,5", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "cache.m4.4xlarge", "Release Date": "June 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "60.78", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "12,16", "RAMWatt @ 10%": "18,23", "RAMWatt @ 50%": "24,31", "RAMWatt @ 100%": "36,47", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "32,8", "Instance @ 10%": "53,3", "Instance @ 50%": "82,8", "Instance @ 100%": "111,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "cache.m4.10xlarge", "Release Date": "June 2015", "Instance vCPU": "40", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "154.64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,12", "PkgWatt @ 10%": "68,87", "PkgWatt @ 50%": "141,65", "PkgWatt @ 100%": "193,88", "RAMWatt @ Idle": "30,93", "RAMWatt @ 10%": "46,39", "RAMWatt @ 50%": "61,86", "RAMWatt @ 100%": "92,78", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "95,1", "Instance @ 10%": "155,3", "Instance @ 50%": "243,5", "Instance @ 100%": "326,7", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "cache.m5.large", "Release Date": "November 2017", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "6.38", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "0,99", "RAMWatt @ 10%": "1,64", "RAMWatt @ 50%": "2,94", "RAMWatt @ 100%": "4,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "3,9", "Instance @ 10%": "6,3", "Instance @ 50%": "11,1", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m5.xlarge", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "12.93", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,01", "RAMWatt @ 10%": "3,33", "RAMWatt @ 50%": "5,96", "RAMWatt @ 100%": "8,58", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "7,8", "Instance @ 10%": "12,6", "Instance @ 50%": "22,2", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m5.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "26.04", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,05", "RAMWatt @ 10%": "6,70", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "17,29", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "15,6", "Instance @ 10%": "25,2", "Instance @ 50%": "44,6", "Instance @ 100%": "61,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m5.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "52.26", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "8,13", "RAMWatt @ 10%": "13,45", "RAMWatt @ 50%": "24,07", "RAMWatt @ 100%": "34,70", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "31,2", "Instance @ 10%": "50,4", "Instance @ 50%": "89,2", "Instance @ 100%": "122,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m5.12xlarge", "Release Date": "November 2017", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "157.12", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "24,43", "RAMWatt @ 10%": "40,44", "RAMWatt @ 50%": "72,38", "RAMWatt @ 100%": "104,32", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "93,8", "Instance @ 10%": "151,4", "Instance @ 50%": "267,8", "Instance @ 100%": "369,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m5.24xlarge", "Release Date": "November 2017", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "314.32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "48,88", "RAMWatt @ 10%": "80,90", "RAMWatt @ 50%": "144,79", "RAMWatt @ 100%": "208,69", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "187,6", "Instance @ 10%": "302,8", "Instance @ 50%": "535,7", "Instance @ 100%": "738,1", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "cache.m6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "24,7", "Instance @ 10%": "38,6", "Instance @ 50%": "61,3", "Instance @ 100%": "84,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "49,3", "Instance @ 10%": "77,3", "Instance @ 50%": "122,6", "Instance @ 100%": "168,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "74,0", "Instance @ 10%": "115,9", "Instance @ 50%": "183,9", "Instance @ 100%": "252,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.m6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r3.2xlarge", "Release Date": "April 2014", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 160 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "1", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "cache.r4.large", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "12.3", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "2,46", "RAMWatt @ 10%": "3,69", "RAMWatt @ 50%": "4,92", "RAMWatt @ 100%": "7,38", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,0", "Instance @ 10%": "8,1", "Instance @ 50%": "12,2", "Instance @ 100%": "16,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r4.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "25.05", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "5,01", "RAMWatt @ 10%": "7,52", "RAMWatt @ 50%": "10,02", "RAMWatt @ 100%": "15,03", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "10,2", "Instance @ 10%": "16,3", "Instance @ 50%": "24,7", "Instance @ 100%": "33,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r4.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "50.47", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "10,09", "RAMWatt @ 10%": "15,14", "RAMWatt @ 50%": "20,19", "RAMWatt @ 100%": "30,28", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "20,4", "Instance @ 10%": "32,7", "Instance @ 50%": "49,5", "Instance @ 100%": "68,0", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r4.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "101.38", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "20,28", "RAMWatt @ 10%": "30,41", "RAMWatt @ 50%": "40,55", "RAMWatt @ 100%": "60,83", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "40,9", "Instance @ 10%": "65,5", "Instance @ 50%": "99,1", "Instance @ 100%": "136,2", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r4.8xlarge", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "203.26", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "40,65", "RAMWatt @ 10%": "60,98", "RAMWatt @ 50%": "81,30", "RAMWatt @ 100%": "121,96", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "82,0", "Instance @ 10%": "131,1", "Instance @ 50%": "198,4", "Instance @ 100%": "272,7", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r4.16xlarge", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "407", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "81,40", "RAMWatt @ 10%": "122,10", "RAMWatt @ 50%": "162,80", "RAMWatt @ 100%": "244,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "164,0", "Instance @ 10%": "262,4", "Instance @ 50%": "396,9", "Instance @ 100%": "545,7", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "cache.r5.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "13.07", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "1,97", "RAMWatt @ 10%": "3,14", "RAMWatt @ 50%": "8,10", "RAMWatt @ 100%": "13,06", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "5,2", "Instance @ 10%": "8,2", "Instance @ 50%": "17,3", "Instance @ 100%": "25,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r5.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "26.32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "3,96", "RAMWatt @ 10%": "6,33", "RAMWatt @ 50%": "16,32", "RAMWatt @ 100%": "26,31", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "10,4", "Instance @ 10%": "16,4", "Instance @ 50%": "34,6", "Instance @ 100%": "50,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r5.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "52.82", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "7,95", "RAMWatt @ 10%": "12,71", "RAMWatt @ 50%": "32,75", "RAMWatt @ 100%": "52,79", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "20,8", "Instance @ 10%": "32,9", "Instance @ 50%": "69,4", "Instance @ 100%": "100,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r5.4xlarge", "Release Date": "July 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "105.81", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "15,93", "RAMWatt @ 10%": "25,46", "RAMWatt @ 50%": "65,61", "RAMWatt @ 100%": "105,76", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "41,6", "Instance @ 10%": "65,9", "Instance @ 50%": "138,9", "Instance @ 100%": "201,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r5.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "317.77", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "47,84", "RAMWatt @ 10%": "76,46", "RAMWatt @ 50%": "197,03", "RAMWatt @ 100%": "317,61", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "124,8", "Instance @ 10%": "197,8", "Instance @ 50%": "416,9", "Instance @ 100%": "604,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r5.24xlarge", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "635.61", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "95,69", "RAMWatt @ 10%": "152,93", "RAMWatt @ 50%": "394,11", "RAMWatt @ 100%": "635,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "249,6", "Instance @ 10%": "395,6", "Instance @ 50%": "833,8", "Instance @ 100%": "1209,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "cache.r6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "74,9", "Instance @ 10%": "115,7", "Instance @ 50%": "173,8", "Instance @ 100%": "245,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "cache.r6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "t3.small.elasticsearch", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,30", "RAMWatt @ 10%": "0,48", "RAMWatt @ 50%": "1,24", "RAMWatt @ 100%": "2,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,5", "Instance @ 10%": "5,5", "Instance @ 50%": "10,4", "Instance @ 100%": "14,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t3.medium.elasticsearch", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,60", "RAMWatt @ 10%": "0,96", "RAMWatt @ 50%": "2,48", "RAMWatt @ 100%": "4,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,8", "Instance @ 10%": "6,0", "Instance @ 50%": "11,6", "Instance @ 100%": "16,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "t2.micro.elasticsearch", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,20", "RAMWatt @ 10%": "0,30", "RAMWatt @ 50%": "0,40", "RAMWatt @ 100%": "0,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,8", "Instance @ 10%": "3,0", "Instance @ 50%": "4,9", "Instance @ 100%": "6,4", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.small.elasticsearch", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "2,0", "Instance @ 10%": "3,3", "Instance @ 50%": "5,3", "Instance @ 100%": "7,0", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "t2.medium.elasticsearch", "Release Date": "July 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,44", "PkgWatt @ 50%": "7,08", "PkgWatt @ 100%": "9,69", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,0", "Instance @ 10%": "6,6", "Instance @ 50%": "10,7", "Instance @ 100%": "14,1", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "m5.large.elasticsearch", "Release Date": "November 2017", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "1,24", "RAMWatt @ 10%": "2,06", "RAMWatt @ 50%": "3,69", "RAMWatt @ 100%": "5,31", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "4,1", "Instance @ 10%": "6,7", "Instance @ 50%": "11,8", "Instance @ 100%": "16,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.xlarge.elasticsearch", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "8,3", "Instance @ 10%": "13,4", "Instance @ 50%": "23,7", "Instance @ 100%": "32,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.2xlarge.elasticsearch", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "16,5", "Instance @ 10%": "26,7", "Instance @ 50%": "47,3", "Instance @ 100%": "65,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.4xlarge.elasticsearch", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "33,1", "Instance @ 10%": "53,5", "Instance @ 50%": "94,6", "Instance @ 100%": "130,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m5.12xlarge.elasticsearch", "Release Date": "November 2017", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "99,2", "Instance @ 10%": "160,4", "Instance @ 50%": "283,9", "Instance @ 100%": "392,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "m4.large.elasticsearch", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "4,2", "Instance @ 10%": "6,8", "Instance @ 50%": "10,5", "Instance @ 100%": "14,2", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.xlarge.elasticsearch", "Release Date": "June 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "8,4", "Instance @ 10%": "13,6", "Instance @ 50%": "21,0", "Instance @ 100%": "28,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.2xlarge.elasticsearch", "Release Date": "June 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,7", "Instance @ 10%": "27,1", "Instance @ 50%": "42,1", "Instance @ 100%": "56,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.4xlarge.elasticsearch", "Release Date": "June 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "33,5", "Instance @ 10%": "54,3", "Instance @ 50%": "84,1", "Instance @ 100%": "113,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m4.10xlarge.elasticsearch", "Release Date": "June 2015", "Instance vCPU": "40", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "160", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,12", "PkgWatt @ 10%": "68,87", "PkgWatt @ 50%": "141,65", "PkgWatt @ 100%": "193,88", "RAMWatt @ Idle": "32,00", "RAMWatt @ 10%": "48,00", "RAMWatt @ 50%": "64,00", "RAMWatt @ 100%": "96,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "96,1", "Instance @ 10%": "156,9", "Instance @ 50%": "245,6", "Instance @ 100%": "329,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "m3.medium.elasticsearch", "Release Date": "January 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "1 x 4 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,87", "PkgWatt @ 10%": "2,47", "PkgWatt @ 50%": "5,09", "PkgWatt @ 100%": "6,97", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,4", "Instance @ Idle": "3,1", "Instance @ 10%": "5,0", "Instance @ 50%": "8,0", "Instance @ 100%": "10,7", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.large.elasticsearch", "Release Date": "January 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "1 x 32 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,73", "PkgWatt @ 10%": "4,95", "PkgWatt @ 50%": "10,18", "PkgWatt @ 100%": "13,94", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,9", "Instance @ Idle": "6,1", "Instance @ 10%": "10,1", "Instance @ 50%": "16,1", "Instance @ 100%": "21,3", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.xlarge.elasticsearch", "Release Date": "October 2012", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "2 x 40 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,47", "PkgWatt @ 10%": "9,90", "PkgWatt @ 50%": "20,36", "PkgWatt @ 100%": "27,87", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,8", "Instance @ Idle": "12,2", "Instance @ 10%": "20,1", "Instance @ 50%": "32,1", "Instance @ 100%": "42,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "m3.2xlarge.elasticsearch", "Release Date": "October 2012", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "2 x 80 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "11,5", "Instance @ Idle": "24,4", "Instance @ 10%": "40,3", "Instance @ 50%": "64,2", "Instance @ 100%": "85,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "c5.large.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,41", "PkgWatt @ 10%": "3,75", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,77", "RAMWatt @ Idle": "0,78", "RAMWatt @ 10%": "1,41", "RAMWatt @ 50%": "2,47", "RAMWatt @ 100%": "3,53", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "4,9", "Instance @ 10%": "7,8", "Instance @ 50%": "13,3", "Instance @ 100%": "18,0", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,81", "PkgWatt @ 10%": "7,49", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "23,54", "RAMWatt @ Idle": "1,56", "RAMWatt @ 10%": "2,81", "RAMWatt @ 50%": "4,94", "RAMWatt @ 100%": "7,06", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,3", "Instance @ Idle": "9,7", "Instance @ 10%": "15,6", "Instance @ 50%": "26,6", "Instance @ 100%": "35,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.2xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,63", "PkgWatt @ 10%": "14,98", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "47,08", "RAMWatt @ Idle": "3,11", "RAMWatt @ 10%": "5,62", "RAMWatt @ 50%": "9,87", "RAMWatt @ 100%": "14,12", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,7", "Instance @ Idle": "19,4", "Instance @ 10%": "31,3", "Instance @ 50%": "53,1", "Instance @ 100%": "71,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.4xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,26", "PkgWatt @ 10%": "29,97", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "94,15", "RAMWatt @ Idle": "6,22", "RAMWatt @ 10%": "11,24", "RAMWatt @ 50%": "19,74", "RAMWatt @ 100%": "28,24", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,3", "Instance @ Idle": "38,8", "Instance @ 10%": "62,5", "Instance @ 50%": "106,2", "Instance @ 100%": "143,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.9xlarge.elasticsearch", "Release Date": "November 2019", "Instance vCPU": "36", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "72", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "25,33", "PkgWatt @ 10%": "67,43", "PkgWatt @ 50%": "146,61", "PkgWatt @ 100%": "211,84", "RAMWatt @ Idle": "14,00", "RAMWatt @ 10%": "25,29", "RAMWatt @ 50%": "44,42", "RAMWatt @ 100%": "63,54", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "87,3", "Instance @ 10%": "140,7", "Instance @ 50%": "239,0", "Instance @ 100%": "323,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c5.18xlarge.elasticsearch", "Release Date": "November 2019", "Instance vCPU": "72", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon Platinum 8124M", "Instance Memory (in GB)": "144", "Platform Memory (in GB)": "192", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "50,66", "PkgWatt @ 10%": "134,85", "PkgWatt @ 50%": "293,21", "PkgWatt @ 100%": "423,68", "RAMWatt @ Idle": "28,01", "RAMWatt @ 10%": "50,59", "RAMWatt @ 50%": "88,83", "RAMWatt @ 100%": "127,07", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "174,7", "Instance @ 10%": "281,4", "Instance @ 50%": "478,0", "Instance @ 100%": "646,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.5GHz 2nd generation Intel Xeon Scalable Processors (Cascade Lake) or 1st generation Intel Xeon Platinum 8000 series (Skylake-SP)"}, {"Instance type": "c4.large.elasticsearch", "Release Date": "January 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,63", "PkgWatt @ 10%": "4,65", "PkgWatt @ 50%": "9,56", "PkgWatt @ 100%": "13,09", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,7", "Instance @ Idle": "5,1", "Instance @ 10%": "8,5", "Instance @ 50%": "13,8", "Instance @ 100%": "18,0", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.xlarge.elasticsearch", "Release Date": "January 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,26", "PkgWatt @ 10%": "9,30", "PkgWatt @ 50%": "19,12", "PkgWatt @ 100%": "26,17", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,4", "Instance @ Idle": "10,2", "Instance @ 10%": "16,9", "Instance @ 50%": "27,5", "Instance @ 100%": "36,1", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.2xlarge.elasticsearch", "Release Date": "January 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,51", "PkgWatt @ 10%": "18,59", "PkgWatt @ 50%": "38,25", "PkgWatt @ 100%": "52,35", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "10,8", "Instance @ Idle": "20,3", "Instance @ 10%": "33,9", "Instance @ 50%": "55,0", "Instance @ 100%": "72,1", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.4xlarge.elasticsearch", "Release Date": "January 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,03", "PkgWatt @ 10%": "37,19", "PkgWatt @ 50%": "76,49", "PkgWatt @ 100%": "104,70", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "21,6", "Instance @ Idle": "40,6", "Instance @ 10%": "67,8", "Instance @ 50%": "110,1", "Instance @ 100%": "144,3", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "c4.8xlarge.elasticsearch", "Release Date": "January 2015", "Instance vCPU": "36", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2666 v3", "Instance Memory (in GB)": "60", "Platform Memory (in GB)": "60", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "29,31", "PkgWatt @ 10%": "83,68", "PkgWatt @ 50%": "172,10", "PkgWatt @ 100%": "235,57", "RAMWatt @ Idle": "12,00", "RAMWatt @ 10%": "18,00", "RAMWatt @ 50%": "24,00", "RAMWatt @ 100%": "36,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,6", "Instance @ Idle": "89,9", "Instance @ 10%": "150,3", "Instance @ 50%": "244,7", "Instance @ 100%": "320,2", "Hardware Information on AWS Documentation & Comments": "2.9 GHz Intel Xeon E5-2666 v3 Processor"}, {"Instance type": "r5.large.elasticsearch", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "5,6", "Instance @ 10%": "8,9", "Instance @ 50%": "19,1", "Instance @ 100%": "27,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.xlarge.elasticsearch", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "11,2", "Instance @ 10%": "17,8", "Instance @ 50%": "38,2", "Instance @ 100%": "55,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.2xlarge.elasticsearch", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "22,5", "Instance @ 10%": "35,6", "Instance @ 50%": "76,3", "Instance @ 100%": "111,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.4xlarge.elasticsearch", "Release Date": "July 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "19,27", "RAMWatt @ 10%": "30,80", "RAMWatt @ 50%": "79,37", "RAMWatt @ 100%": "127,94", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "44,9", "Instance @ 10%": "71,2", "Instance @ 50%": "152,7", "Instance @ 100%": "223,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r5.12xlarge.elasticsearch", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "134,8", "Instance @ 10%": "213,7", "Instance @ 50%": "458,0", "Instance @ 100%": "670,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "r4.large.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,6", "Instance @ 10%": "9,0", "Instance @ 50%": "13,4", "Instance @ 100%": "18,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "11,3", "Instance @ 10%": "17,9", "Instance @ 50%": "26,8", "Instance @ 100%": "37,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.2xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "22,5", "Instance @ 10%": "35,8", "Instance @ 50%": "53,7", "Instance @ 100%": "74,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.4xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "45,1", "Instance @ 10%": "71,7", "Instance @ 50%": "107,3", "Instance @ 100%": "148,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.8xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "90,1", "Instance @ 10%": "143,4", "Instance @ 50%": "214,7", "Instance @ 100%": "297,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r4.16xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "180,2", "Instance @ 10%": "286,7", "Instance @ 50%": "429,3", "Instance @ 100%": "594,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "r3.large.elasticsearch", "Release Date": "April 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 32 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,39", "PkgWatt @ 10%": "3,96", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,15", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "6,7", "Instance @ 10%": "10,8", "Instance @ 50%": "16,5", "Instance @ 100%": "22,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.xlarge.elasticsearch", "Release Date": "April 2014", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 80 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "13,5", "Instance @ 10%": "21,7", "Instance @ 50%": "33,1", "Instance @ 100%": "45,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.2xlarge.elasticsearch", "Release Date": "April 2014", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 160 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.4xlarge.elasticsearch", "Release Date": "April 2014", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 320 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,10", "PkgWatt @ 10%": "31,68", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "89,19", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,4", "Instance @ Idle": "53,9", "Instance @ 10%": "86,7", "Instance @ 50%": "132,4", "Instance @ 100%": "180,8", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "r3.8xlarge.elasticsearch", "Release Date": "April 2014", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2 x 320 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "107,8", "Instance @ 10%": "173,4", "Instance @ 50%": "264,7", "Instance @ 100%": "361,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "i3.large.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 475 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,6", "Instance @ 10%": "9,0", "Instance @ 50%": "13,4", "Instance @ 100%": "18,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i3.xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 950 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "11,3", "Instance @ 10%": "17,9", "Instance @ 50%": "26,8", "Instance @ 100%": "37,1", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i3.2xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 1 900 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "22,5", "Instance @ 10%": "35,8", "Instance @ 50%": "53,7", "Instance @ 100%": "74,3", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i3.4xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1 900 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "45,1", "Instance @ 10%": "71,7", "Instance @ 50%": "107,3", "Instance @ 100%": "148,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i3.8xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "4 x 1 900 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "90,1", "Instance @ 10%": "143,4", "Instance @ 50%": "214,7", "Instance @ 100%": "297,1", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i3.16xlarge.elasticsearch", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "8 x 1 900 (SSD NVMe)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "8", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "180,2", "Instance @ 10%": "286,7", "Instance @ 50%": "429,3", "Instance @ 100%": "594,3", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2686 v4 (Broadwell)"}, {"Instance type": "i2.xlarge.elasticsearch", "Release Date": "December 2013", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "1 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "13,5", "Instance @ 10%": "21,7", "Instance @ 50%": "33,1", "Instance @ 100%": "45,2", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "i2.2xlarge.elasticsearch", "Release Date": "December 2013", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "2 x 800 (SSD)", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel E5-2670 v2 (Ivy Bridge) processor"}, {"Instance type": "m6g.large.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.2xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.4xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "24,7", "Instance @ 10%": "38,6", "Instance @ 50%": "61,3", "Instance @ 100%": "84,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.8xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "49,3", "Instance @ 10%": "77,3", "Instance @ 50%": "122,6", "Instance @ 100%": "168,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "m6g.12xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "74,0", "Instance @ 10%": "115,9", "Instance @ 50%": "183,9", "Instance @ 100%": "252,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.large.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "2,3", "Instance @ 10%": "3,6", "Instance @ 50%": "6,1", "Instance @ 100%": "8,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "4,6", "Instance @ 10%": "7,3", "Instance @ 50%": "12,1", "Instance @ 100%": "16,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.2xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "9,1", "Instance @ 10%": "14,5", "Instance @ 50%": "24,3", "Instance @ 100%": "32,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.4xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "18,3", "Instance @ 10%": "29,0", "Instance @ 50%": "48,5", "Instance @ 100%": "64,9", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.8xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "36,5", "Instance @ 10%": "58,1", "Instance @ 50%": "97,0", "Instance @ 100%": "129,8", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "c6g.12xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "128", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "19,20", "RAMWatt @ 10%": "28,80", "RAMWatt @ 50%": "38,40", "RAMWatt @ 100%": "57,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "54,8", "Instance @ 10%": "87,1", "Instance @ 50%": "145,5", "Instance @ 100%": "194,7", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.large.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.2xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.4xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.8xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "74,9", "Instance @ 10%": "115,7", "Instance @ 50%": "173,8", "Instance @ 100%": "245,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6g.12xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.large.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 118 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 237 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.2xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 474 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.4xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 950 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.8xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "1 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "74,9", "Instance @ 10%": "115,7", "Instance @ 50%": "173,8", "Instance @ 100%": "245,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.12xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1425 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "r6gd.16xlarge.elasticsearch", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "2 x 1900 NVMe SSD", "Storage Type": "SSD", "Platform Storage Drive Quantity": "2", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "3,1", "Instance @ 10%": "4,8", "Instance @ 50%": "7,7", "Instance @ 100%": "10,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "6,2", "Instance @ 10%": "9,7", "Instance @ 50%": "15,3", "Instance @ 100%": "21,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "12,3", "Instance @ 10%": "19,3", "Instance @ 50%": "30,7", "Instance @ 100%": "42,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "24,7", "Instance @ 10%": "38,6", "Instance @ 50%": "61,3", "Instance @ 100%": "84,1", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.8xlarge", "Release Date": "December 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,71", "PkgWatt @ 10%": "23,87", "PkgWatt @ 50%": "56,42", "PkgWatt @ 100%": "76,39", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "49,3", "Instance @ 10%": "77,3", "Instance @ 50%": "122,6", "Instance @ 100%": "168,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "38,40", "RAMWatt @ 10%": "57,60", "RAMWatt @ 50%": "76,80", "RAMWatt @ 100%": "115,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "74,0", "Instance @ 10%": "115,9", "Instance @ 50%": "183,9", "Instance @ 100%": "252,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "98,6", "Instance @ 10%": "154,5", "Instance @ 50%": "245,2", "Instance @ 100%": "336,4", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.m5.large", "Release Date": "November 2017", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,14", "PkgWatt @ 10%": "2,87", "PkgWatt @ 50%": "6,39", "PkgWatt @ 100%": "9,28", "RAMWatt @ Idle": "1,24", "RAMWatt @ 10%": "2,06", "RAMWatt @ 50%": "3,69", "RAMWatt @ 100%": "5,31", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,8", "Instance @ Idle": "4,1", "Instance @ 10%": "6,7", "Instance @ 50%": "11,8", "Instance @ 100%": "16,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.xlarge", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,28", "PkgWatt @ 10%": "5,75", "PkgWatt @ 50%": "12,79", "PkgWatt @ 100%": "18,56", "RAMWatt @ Idle": "2,49", "RAMWatt @ 10%": "4,12", "RAMWatt @ 50%": "7,37", "RAMWatt @ 100%": "10,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,5", "Instance @ Idle": "8,3", "Instance @ 10%": "13,4", "Instance @ 50%": "23,7", "Instance @ 100%": "32,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,56", "PkgWatt @ 10%": "11,49", "PkgWatt @ 50%": "25,58", "PkgWatt @ 100%": "37,12", "RAMWatt @ Idle": "4,98", "RAMWatt @ 10%": "8,24", "RAMWatt @ 50%": "14,74", "RAMWatt @ 100%": "21,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,0", "Instance @ Idle": "16,5", "Instance @ 10%": "26,7", "Instance @ 50%": "47,3", "Instance @ 100%": "65,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,12", "PkgWatt @ 10%": "22,99", "PkgWatt @ 50%": "51,16", "PkgWatt @ 100%": "74,23", "RAMWatt @ Idle": "9,95", "RAMWatt @ 10%": "16,47", "RAMWatt @ 50%": "29,48", "RAMWatt @ 100%": "42,49", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "14,0", "Instance @ Idle": "33,1", "Instance @ 10%": "53,5", "Instance @ 50%": "94,6", "Instance @ 100%": "130,7", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,24", "PkgWatt @ 10%": "45,97", "PkgWatt @ 50%": "102,31", "PkgWatt @ 100%": "148,46", "RAMWatt @ Idle": "19,91", "RAMWatt @ 10%": "32,94", "RAMWatt @ 50%": "58,96", "RAMWatt @ 100%": "84,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "28,0", "Instance @ Idle": "66,1", "Instance @ 10%": "106,9", "Instance @ 50%": "189,3", "Instance @ 100%": "261,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.12xlarge", "Release Date": "November 2017", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "27,36", "PkgWatt @ 10%": "68,96", "PkgWatt @ 50%": "153,47", "PkgWatt @ 100%": "222,69", "RAMWatt @ Idle": "29,86", "RAMWatt @ 10%": "49,42", "RAMWatt @ 50%": "88,45", "RAMWatt @ 100%": "127,48", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "42,0", "Instance @ Idle": "99,2", "Instance @ 10%": "160,4", "Instance @ 50%": "283,9", "Instance @ 100%": "392,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,47", "PkgWatt @ 10%": "91,95", "PkgWatt @ 50%": "204,62", "PkgWatt @ 100%": "296,92", "RAMWatt @ Idle": "39,81", "RAMWatt @ 10%": "65,89", "RAMWatt @ 50%": "117,93", "RAMWatt @ 100%": "169,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "56,0", "Instance @ Idle": "132,3", "Instance @ 10%": "213,8", "Instance @ 50%": "378,5", "Instance @ 100%": "522,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m5.24xlarge", "Release Date": "November 2017", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8259CL", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "54,71", "PkgWatt @ 10%": "137,92", "PkgWatt @ 50%": "306,93", "PkgWatt @ 100%": "445,38", "RAMWatt @ Idle": "59,72", "RAMWatt @ 10%": "98,83", "RAMWatt @ 50%": "176,89", "RAMWatt @ 100%": "254,95", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "84,0", "Instance @ Idle": "198,4", "Instance @ 10%": "320,8", "Instance @ 50%": "567,8", "Instance @ 100%": "784,3", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8175M"}, {"Instance type": "db.m4.large", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "4,2", "Instance @ 10%": "6,8", "Instance @ 50%": "10,5", "Instance @ 100%": "14,2", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m4.xlarge", "Release Date": "June 2015", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "8,4", "Instance @ 10%": "13,6", "Instance @ 50%": "21,0", "Instance @ 100%": "28,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m4.2xlarge", "Release Date": "June 2015", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "16,7", "Instance @ 10%": "27,1", "Instance @ 50%": "42,1", "Instance @ 100%": "56,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m4.4xlarge", "Release Date": "June 2015", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "33,5", "Instance @ 10%": "54,3", "Instance @ 50%": "84,1", "Instance @ 100%": "113,8", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m4.10xlarge", "Release Date": "June 2015", "Instance vCPU": "40", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "160", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,12", "PkgWatt @ 10%": "68,87", "PkgWatt @ 50%": "141,65", "PkgWatt @ 100%": "193,88", "RAMWatt @ Idle": "32,00", "RAMWatt @ 10%": "48,00", "RAMWatt @ 50%": "64,00", "RAMWatt @ 100%": "96,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "40,0", "Instance @ Idle": "96,1", "Instance @ 10%": "156,9", "Instance @ 50%": "245,6", "Instance @ 100%": "329,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m4.16xlarge", "Release Date": "September 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "256", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "51,20", "RAMWatt @ 10%": "76,80", "RAMWatt @ 50%": "102,40", "RAMWatt @ 100%": "153,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "133,8", "Instance @ 10%": "217,1", "Instance @ 50%": "336,5", "Instance @ 100%": "455,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 (Broadwell) or 2.4 GHz Intel Xeon E5-2676 v3 (Haswell)"}, {"Instance type": "db.m3.medium", "Release Date": "January 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,87", "PkgWatt @ 10%": "2,47", "PkgWatt @ 50%": "5,09", "PkgWatt @ 100%": "6,97", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,4", "Instance @ Idle": "3,1", "Instance @ 10%": "5,0", "Instance @ 50%": "8,0", "Instance @ 100%": "10,7", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "db.m3.large", "Release Date": "January 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,73", "PkgWatt @ 10%": "4,95", "PkgWatt @ 50%": "10,18", "PkgWatt @ 100%": "13,94", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,9", "Instance @ Idle": "6,1", "Instance @ 10%": "10,1", "Instance @ 50%": "16,1", "Instance @ 100%": "21,3", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "db.m3.xlarge", "Release Date": "October 2012", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,47", "PkgWatt @ 10%": "9,90", "PkgWatt @ 50%": "20,36", "PkgWatt @ 100%": "27,87", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,8", "Instance @ Idle": "12,2", "Instance @ 10%": "20,1", "Instance @ 50%": "32,1", "Instance @ 100%": "42,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "db.m3.2xlarge", "Release Date": "October 2012", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2670", "Instance Memory (in GB)": "30", "Platform Memory (in GB)": "240", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "6,00", "RAMWatt @ 10%": "9,00", "RAMWatt @ 50%": "12,00", "RAMWatt @ 100%": "18,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "11,5", "Instance @ Idle": "24,4", "Instance @ 10%": "40,3", "Instance @ 50%": "64,2", "Instance @ 100%": "85,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon E5-2670 (Sandy Bridge or Ivy Bridge) processors"}, {"Instance type": "db.m1.small", "Release Date": "August 2006", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "1.7", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,72", "PkgWatt @ 10%": "2,04", "PkgWatt @ 50%": "4,21", "PkgWatt @ 100%": "5,76", "RAMWatt @ Idle": "0,34", "RAMWatt @ 10%": "0,51", "RAMWatt @ 50%": "0,68", "RAMWatt @ 100%": "1,02", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,2", "Instance @ 10%": "3,7", "Instance @ 50%": "6,1", "Instance @ 100%": "8,0", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.m1.medium", "Release Date": "March 2012", "Instance vCPU": "1", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "3.75", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,72", "PkgWatt @ 10%": "2,04", "PkgWatt @ 50%": "4,21", "PkgWatt @ 100%": "5,76", "RAMWatt @ Idle": "0,75", "RAMWatt @ 10%": "1,13", "RAMWatt @ 50%": "1,50", "RAMWatt @ 100%": "2,25", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,2", "Instance @ Idle": "2,7", "Instance @ 10%": "4,4", "Instance @ 50%": "6,9", "Instance @ 100%": "9,2", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.m1.large", "Release Date": "October 2007", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "7.5", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,43", "PkgWatt @ 10%": "4,09", "PkgWatt @ 50%": "8,41", "PkgWatt @ 100%": "11,51", "RAMWatt @ Idle": "1,50", "RAMWatt @ 10%": "2,25", "RAMWatt @ 50%": "3,00", "RAMWatt @ 100%": "4,50", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,4", "Instance @ Idle": "5,3", "Instance @ 10%": "8,7", "Instance @ 50%": "13,8", "Instance @ 100%": "18,4", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.m1.xlarge", "Release Date": "October 2007", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2650", "Instance Memory (in GB)": "15", "Platform Memory (in GB)": "120", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,86", "PkgWatt @ 10%": "8,18", "PkgWatt @ 50%": "16,82", "PkgWatt @ 100%": "23,02", "RAMWatt @ Idle": "3,00", "RAMWatt @ 10%": "4,50", "RAMWatt @ 50%": "6,00", "RAMWatt @ 100%": "9,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,8", "Instance @ Idle": "10,6", "Instance @ 10%": "17,4", "Instance @ 50%": "27,6", "Instance @ 100%": "36,8", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.z1d.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "48,00", "PkgWatt @ 10%": "148,00", "PkgWatt @ 50%": "361,00", "PkgWatt @ 100%": "441,00", "RAMWatt @ Idle": "50,00", "RAMWatt @ 10%": "92,00", "RAMWatt @ 50%": "174,00", "RAMWatt @ 100%": "256,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "194,0", "Instance @ 10%": "336,0", "Instance @ 50%": "631,0", "Instance @ 100%": "793,0", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.z1d.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,00", "PkgWatt @ 10%": "6,17", "PkgWatt @ 50%": "15,04", "PkgWatt @ 100%": "18,38", "RAMWatt @ Idle": "2,08", "RAMWatt @ 10%": "3,83", "RAMWatt @ 50%": "7,25", "RAMWatt @ 100%": "10,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,1", "Instance @ 10%": "14,0", "Instance @ 50%": "26,3", "Instance @ 100%": "33,0", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.z1d.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,00", "PkgWatt @ 10%": "12,33", "PkgWatt @ 50%": "30,08", "PkgWatt @ 100%": "36,75", "RAMWatt @ Idle": "4,17", "RAMWatt @ 10%": "7,67", "RAMWatt @ 50%": "14,50", "RAMWatt @ 100%": "21,33", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "16,2", "Instance @ 10%": "28,0", "Instance @ 50%": "52,6", "Instance @ 100%": "66,1", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.z1d.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "8,00", "PkgWatt @ 10%": "24,67", "PkgWatt @ 50%": "60,17", "PkgWatt @ 100%": "73,50", "RAMWatt @ Idle": "8,33", "RAMWatt @ 10%": "15,33", "RAMWatt @ 50%": "29,00", "RAMWatt @ 100%": "42,67", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "32,3", "Instance @ 10%": "56,0", "Instance @ 50%": "105,2", "Instance @ 100%": "132,2", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.z1d.3xlarge", "Release Date": "July 2018", "Instance vCPU": "12", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "96", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "12,00", "PkgWatt @ 10%": "37,00", "PkgWatt @ 50%": "90,25", "PkgWatt @ 100%": "110,25", "RAMWatt @ Idle": "12,50", "RAMWatt @ 10%": "23,00", "RAMWatt @ 50%": "43,50", "RAMWatt @ 100%": "64,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "24,0", "Instance @ Idle": "48,5", "Instance @ 10%": "84,0", "Instance @ 50%": "157,8", "Instance @ 100%": "198,3", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.z1d.6xlarge", "Release Date": "July 2018", "Instance vCPU": "24", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon Platinum 8151", "Instance Memory (in GB)": "192", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "24,00", "PkgWatt @ 10%": "74,00", "PkgWatt @ 50%": "180,50", "PkgWatt @ 100%": "220,50", "RAMWatt @ Idle": "25,00", "RAMWatt @ 10%": "46,00", "RAMWatt @ 50%": "87,00", "RAMWatt @ 100%": "128,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "97,0", "Instance @ 10%": "168,0", "Instance @ 50%": "315,5", "Instance @ 100%": "396,5", "Hardware Information on AWS Documentation & Comments": "Up to 4.0 GHz Intel Xeon Scalable Processors"}, {"Instance type": "db.x1e.xlarge", "Release Date": "November 2017", "Instance vCPU": "4", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,26", "PkgWatt @ 10%": "6,46", "PkgWatt @ 50%": "13,28", "PkgWatt @ 100%": "18,18", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "30,4", "Instance @ 10%": "46,8", "Instance @ 50%": "65,8", "Instance @ 100%": "95,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1e.2xlarge", "Release Date": "November 2017", "Instance vCPU": "8", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,52", "PkgWatt @ 10%": "12,91", "PkgWatt @ 50%": "26,56", "PkgWatt @ 100%": "36,35", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "60,8", "Instance @ 10%": "93,6", "Instance @ 50%": "131,7", "Instance @ 100%": "190,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1e.4xlarge", "Release Date": "November 2017", "Instance vCPU": "16", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,05", "PkgWatt @ 10%": "25,83", "PkgWatt @ 50%": "53,12", "PkgWatt @ 100%": "72,71", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "15,0", "Instance @ Idle": "121,6", "Instance @ 10%": "187,2", "Instance @ 50%": "263,3", "Instance @ 100%": "380,5", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1e.8xlarge", "Release Date": "November 2017", "Instance vCPU": "32", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "976", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "18,09", "PkgWatt @ 10%": "51,65", "PkgWatt @ 50%": "106,24", "PkgWatt @ 100%": "145,41", "RAMWatt @ Idle": "195,20", "RAMWatt @ 10%": "292,80", "RAMWatt @ 50%": "390,40", "RAMWatt @ 100%": "585,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "243,3", "Instance @ 10%": "374,5", "Instance @ 50%": "526,6", "Instance @ 100%": "761,0", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1e.16xlarge", "Release Date": "November 2017", "Instance vCPU": "64", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "1952", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,19", "PkgWatt @ 10%": "103,30", "PkgWatt @ 50%": "212,47", "PkgWatt @ 100%": "290,83", "RAMWatt @ Idle": "390,40", "RAMWatt @ 10%": "585,60", "RAMWatt @ 50%": "780,80", "RAMWatt @ 100%": "1171,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "60,0", "Instance @ Idle": "486,6", "Instance @ 10%": "748,9", "Instance @ 50%": "1053,3", "Instance @ 100%": "1522,0", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1e.32xlarge", "Release Date": "September 2017", "Instance vCPU": "128", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "3904", "Platform Memory (in GB)": "3904", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "72,37", "PkgWatt @ 10%": "206,61", "PkgWatt @ 50%": "424,94", "PkgWatt @ 100%": "581,65", "RAMWatt @ Idle": "780,80", "RAMWatt @ 10%": "1171,20", "RAMWatt @ 50%": "1561,60", "RAMWatt @ 100%": "2342,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "120,0", "Instance @ Idle": "973,2", "Instance @ 10%": "1497,8", "Instance @ 50%": "2106,5", "Instance @ 100%": "3044,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1.32xlarge", "Release Date": "May 2016", "Instance vCPU": "128", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "1952", "Platform Memory (in GB)": "1952", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "72,37", "PkgWatt @ 10%": "206,61", "PkgWatt @ 50%": "424,94", "PkgWatt @ 100%": "581,65", "RAMWatt @ Idle": "390,40", "RAMWatt @ 10%": "585,60", "RAMWatt @ 50%": "780,80", "RAMWatt @ 100%": "1171,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "120,0", "Instance @ Idle": "582,8", "Instance @ 10%": "912,2", "Instance @ 50%": "1325,7", "Instance @ 100%": "1872,9", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.x1.16xlarge", "Release Date": "October 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "128", "Platform CPU Name": "Xeon E7-8880 v3", "Instance Memory (in GB)": "976", "Platform Memory (in GB)": "1952", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "36,19", "PkgWatt @ 10%": "103,30", "PkgWatt @ 50%": "212,47", "PkgWatt @ 100%": "290,83", "RAMWatt @ Idle": "195,20", "RAMWatt @ 10%": "292,80", "RAMWatt @ 50%": "390,40", "RAMWatt @ 100%": "585,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "60,0", "Instance @ Idle": "291,4", "Instance @ 10%": "456,1", "Instance @ 50%": "662,9", "Instance @ 100%": "936,4", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E7-8880 v3 Processor (Haswell)"}, {"Instance type": "db.r6g.large", "Release Date": "December 2019", "Instance vCPU": "2", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,54", "PkgWatt @ 10%": "1,49", "PkgWatt @ 50%": "3,53", "PkgWatt @ 100%": "4,77", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "0,9", "Instance @ Idle": "4,7", "Instance @ 10%": "7,2", "Instance @ 50%": "10,9", "Instance @ 100%": "15,3", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r6g.xlarge", "Release Date": "December 2019", "Instance vCPU": "4", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,09", "PkgWatt @ 10%": "2,98", "PkgWatt @ 50%": "7,05", "PkgWatt @ 100%": "9,55", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,9", "Instance @ Idle": "9,4", "Instance @ 10%": "14,5", "Instance @ 50%": "21,7", "Instance @ 100%": "30,6", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r6g.2xlarge", "Release Date": "December 2019", "Instance vCPU": "8", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,18", "PkgWatt @ 10%": "5,97", "PkgWatt @ 50%": "14,10", "PkgWatt @ 100%": "19,10", "RAMWatt @ Idle": "12,80", "RAMWatt @ 10%": "19,20", "RAMWatt @ 50%": "25,60", "RAMWatt @ 100%": "38,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,8", "Instance @ Idle": "18,7", "Instance @ 10%": "28,9", "Instance @ 50%": "43,5", "Instance @ 100%": "61,2", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r6g.4xlarge", "Release Date": "December 2019", "Instance vCPU": "16", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,35", "PkgWatt @ 10%": "11,93", "PkgWatt @ 50%": "28,21", "PkgWatt @ 100%": "38,20", "RAMWatt @ Idle": "25,60", "RAMWatt @ 10%": "38,40", "RAMWatt @ 50%": "51,20", "RAMWatt @ 100%": "76,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "7,5", "Instance @ Idle": "37,5", "Instance @ 10%": "57,8", "Instance @ 50%": "86,9", "Instance @ 100%": "122,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r6g.12xlarge", "Release Date": "December 2019", "Instance vCPU": "48", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "13,06", "PkgWatt @ 10%": "35,80", "PkgWatt @ 50%": "84,63", "PkgWatt @ 100%": "114,59", "RAMWatt @ Idle": "76,80", "RAMWatt @ 10%": "115,20", "RAMWatt @ 50%": "153,60", "RAMWatt @ 100%": "230,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "22,5", "Instance @ Idle": "112,4", "Instance @ 10%": "173,5", "Instance @ 50%": "260,7", "Instance @ 100%": "367,5", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r6g.16xlarge", "Release Date": "December 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "64", "Platform CPU Name": "Graviton2", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "512", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "17,42", "PkgWatt @ 10%": "47,74", "PkgWatt @ 50%": "112,84", "PkgWatt @ 100%": "152,78", "RAMWatt @ Idle": "102,40", "RAMWatt @ 10%": "153,60", "RAMWatt @ 50%": "204,80", "RAMWatt @ 100%": "307,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "30,0", "Instance @ Idle": "149,8", "Instance @ 10%": "231,3", "Instance @ 50%": "347,6", "Instance @ 100%": "490,0", "Hardware Information on AWS Documentation & Comments": "AWS Graviton2 (ARM)"}, {"Instance type": "db.r5.large", "Release Date": "July 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "5,6", "Instance @ 10%": "8,9", "Instance @ 50%": "19,1", "Instance @ 100%": "27,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.xlarge", "Release Date": "July 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "11,2", "Instance @ 10%": "17,8", "Instance @ 50%": "38,2", "Instance @ 100%": "55,9", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.2xlarge", "Release Date": "July 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "64", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "9,64", "RAMWatt @ 10%": "15,40", "RAMWatt @ 50%": "39,68", "RAMWatt @ 100%": "63,97", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "22,5", "Instance @ 10%": "35,6", "Instance @ 50%": "76,3", "Instance @ 100%": "111,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.4xlarge", "Release Date": "July 2018", "Instance vCPU": "16", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "128", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "9,65", "PkgWatt @ 10%": "24,44", "PkgWatt @ 50%": "57,28", "PkgWatt @ 100%": "79,66", "RAMWatt @ Idle": "19,27", "RAMWatt @ 10%": "30,80", "RAMWatt @ 50%": "79,37", "RAMWatt @ 100%": "127,94", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "16,0", "Instance @ Idle": "44,9", "Instance @ 10%": "71,2", "Instance @ 50%": "152,7", "Instance @ 100%": "223,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.8xlarge", "Release Date": "June 2019", "Instance vCPU": "32", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "256", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "19,29", "PkgWatt @ 10%": "48,88", "PkgWatt @ 50%": "114,57", "PkgWatt @ 100%": "159,33", "RAMWatt @ Idle": "38,54", "RAMWatt @ 10%": "61,59", "RAMWatt @ 50%": "158,73", "RAMWatt @ 100%": "255,87", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "32,0", "Instance @ Idle": "89,8", "Instance @ 10%": "142,5", "Instance @ 50%": "305,3", "Instance @ 100%": "447,2", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.12xlarge", "Release Date": "July 2018", "Instance vCPU": "48", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "384", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "28,94", "PkgWatt @ 10%": "73,32", "PkgWatt @ 50%": "171,85", "PkgWatt @ 100%": "238,99", "RAMWatt @ Idle": "57,81", "RAMWatt @ 10%": "92,39", "RAMWatt @ 50%": "238,10", "RAMWatt @ 100%": "383,81", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "48,0", "Instance @ Idle": "134,8", "Instance @ 10%": "213,7", "Instance @ 50%": "458,0", "Instance @ 100%": "670,8", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.16xlarge", "Release Date": "June 2019", "Instance vCPU": "64", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "512", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "38,59", "PkgWatt @ 10%": "97,75", "PkgWatt @ 50%": "229,13", "PkgWatt @ 100%": "318,65", "RAMWatt @ Idle": "77,08", "RAMWatt @ 10%": "123,19", "RAMWatt @ 50%": "317,47", "RAMWatt @ 100%": "511,75", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "64,0", "Instance @ Idle": "179,7", "Instance @ 10%": "284,9", "Instance @ 50%": "610,6", "Instance @ 100%": "894,4", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r5.24xlarge", "Release Date": "July 2018", "Instance vCPU": "96", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "768", "Platform Memory (in GB)": "768", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "57,88", "PkgWatt @ 10%": "146,63", "PkgWatt @ 50%": "343,70", "PkgWatt @ 100%": "477,98", "RAMWatt @ Idle": "115,62", "RAMWatt @ 10%": "184,78", "RAMWatt @ 50%": "476,20", "RAMWatt @ 100%": "767,62", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "96,0", "Instance @ Idle": "269,5", "Instance @ 10%": "427,4", "Instance @ 50%": "915,9", "Instance @ 100%": "1341,6", "Hardware Information on AWS Documentation & Comments": "Up to 3.1 GHz Intel Xeon Platinum 8000 series processors (Skylake-SP or Cascade Lake)"}, {"Instance type": "db.r4.large", "Release Date": "November 2016", "Instance vCPU": "2", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,97", "PkgWatt @ 10%": "2,77", "PkgWatt @ 50%": "5,71", "PkgWatt @ 100%": "7,81", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,6", "Instance @ Idle": "5,6", "Instance @ 10%": "9,0", "Instance @ 50%": "13,4", "Instance @ 100%": "18,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r4.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,94", "PkgWatt @ 10%": "5,55", "PkgWatt @ 50%": "11,41", "PkgWatt @ 100%": "15,62", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "3,2", "Instance @ Idle": "11,3", "Instance @ 10%": "17,9", "Instance @ 50%": "26,8", "Instance @ 100%": "37,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r4.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,89", "PkgWatt @ 10%": "11,10", "PkgWatt @ 50%": "22,82", "PkgWatt @ 100%": "31,24", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "6,4", "Instance @ Idle": "22,5", "Instance @ 10%": "35,8", "Instance @ 50%": "53,7", "Instance @ 100%": "74,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r4.4xlarge", "Release Date": "November 2016", "Instance vCPU": "16", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "7,77", "PkgWatt @ 10%": "22,19", "PkgWatt @ 50%": "45,64", "PkgWatt @ 100%": "62,47", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "12,9", "Instance @ Idle": "45,1", "Instance @ 10%": "71,7", "Instance @ 50%": "107,3", "Instance @ 100%": "148,6", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r4.8xlarge", "Release Date": "November 2016", "Instance vCPU": "32", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "15,55", "PkgWatt @ 10%": "44,38", "PkgWatt @ 50%": "91,28", "PkgWatt @ 100%": "124,95", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "25,8", "Instance @ Idle": "90,1", "Instance @ 10%": "143,4", "Instance @ 50%": "214,7", "Instance @ 100%": "297,1", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r4.16xlarge", "Release Date": "November 2016", "Instance vCPU": "64", "Platform Total Number of vCPU": "72", "Platform CPU Name": "Xeon E5-2686 v4", "Instance Memory (in GB)": "488", "Platform Memory (in GB)": "488", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "31,09", "PkgWatt @ 10%": "88,76", "PkgWatt @ 50%": "182,57", "PkgWatt @ 100%": "249,90", "RAMWatt @ Idle": "97,60", "RAMWatt @ 10%": "146,40", "RAMWatt @ 50%": "195,20", "RAMWatt @ 100%": "292,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "51,6", "Instance @ Idle": "180,2", "Instance @ 10%": "286,7", "Instance @ 50%": "429,3", "Instance @ 100%": "594,3", "Hardware Information on AWS Documentation & Comments": "2.3 GHz Intel Xeon E5-2686 v4 Processor"}, {"Instance type": "db.r3.large", "Release Date": "April 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "15.25", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,39", "PkgWatt @ 10%": "3,96", "PkgWatt @ 50%": "8,14", "PkgWatt @ 100%": "11,15", "RAMWatt @ Idle": "3,05", "RAMWatt @ 10%": "4,58", "RAMWatt @ 50%": "6,10", "RAMWatt @ 100%": "9,15", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,3", "Instance @ Idle": "6,7", "Instance @ 10%": "10,8", "Instance @ 50%": "16,5", "Instance @ 100%": "22,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "db.r3.xlarge", "Release Date": "April 2014", "Instance vCPU": "4", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "30.5", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,77", "PkgWatt @ 10%": "7,92", "PkgWatt @ 50%": "16,29", "PkgWatt @ 100%": "22,30", "RAMWatt @ Idle": "6,10", "RAMWatt @ 10%": "9,15", "RAMWatt @ 50%": "12,20", "RAMWatt @ 100%": "18,30", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,6", "Instance @ Idle": "13,5", "Instance @ 10%": "21,7", "Instance @ 50%": "33,1", "Instance @ 100%": "45,2", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "db.r3.2xlarge", "Release Date": "April 2014", "Instance vCPU": "8", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "61", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "5,55", "PkgWatt @ 10%": "15,84", "PkgWatt @ 50%": "32,58", "PkgWatt @ 100%": "44,59", "RAMWatt @ Idle": "12,20", "RAMWatt @ 10%": "18,30", "RAMWatt @ 50%": "24,40", "RAMWatt @ 100%": "36,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "9,2", "Instance @ Idle": "26,9", "Instance @ 10%": "43,3", "Instance @ 50%": "66,2", "Instance @ 100%": "90,4", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "db.r3.4xlarge", "Release Date": "April 2014", "Instance vCPU": "16", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "122", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "11,10", "PkgWatt @ 10%": "31,68", "PkgWatt @ 50%": "65,16", "PkgWatt @ 100%": "89,19", "RAMWatt @ Idle": "24,40", "RAMWatt @ 10%": "36,60", "RAMWatt @ 50%": "48,80", "RAMWatt @ 100%": "73,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "18,4", "Instance @ Idle": "53,9", "Instance @ 10%": "86,7", "Instance @ 50%": "132,4", "Instance @ 100%": "180,8", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "db.r3.8xlarge", "Release Date": "April 2014", "Instance vCPU": "32", "Platform Total Number of vCPU": "40", "Platform CPU Name": "Xeon E5-2670 v2", "Instance Memory (in GB)": "244", "Platform Memory (in GB)": "244", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "22,19", "PkgWatt @ 10%": "63,36", "PkgWatt @ 50%": "130,32", "PkgWatt @ 100%": "178,37", "RAMWatt @ Idle": "48,80", "RAMWatt @ 10%": "73,20", "RAMWatt @ 50%": "97,60", "RAMWatt @ 100%": "146,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "36,8", "Instance @ Idle": "107,8", "Instance @ 10%": "173,4", "Instance @ 50%": "264,7", "Instance @ 100%": "361,6", "Hardware Information on AWS Documentation & Comments": "Intel Xeon Ivy Bridge Processors"}, {"Instance type": "db.m2.xlarge", "Release Date": "February 2010", "Instance vCPU": "2", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "17.1", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,73", "PkgWatt @ 10%": "4,95", "PkgWatt @ 50%": "10,18", "PkgWatt @ 100%": "13,94", "RAMWatt @ Idle": "3,42", "RAMWatt @ 10%": "5,13", "RAMWatt @ 50%": "6,84", "RAMWatt @ 100%": "10,26", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,9", "Instance @ Idle": "8,0", "Instance @ 10%": "13,0", "Instance @ 50%": "19,9", "Instance @ 100%": "27,1", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.m2.2xlarge", "Release Date": "October 2009", "Instance vCPU": "4", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "34.2", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "3,47", "PkgWatt @ 10%": "9,90", "PkgWatt @ 50%": "20,36", "PkgWatt @ 100%": "27,87", "RAMWatt @ Idle": "6,84", "RAMWatt @ 10%": "10,26", "RAMWatt @ 50%": "13,68", "RAMWatt @ 100%": "20,52", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "5,8", "Instance @ Idle": "16,1", "Instance @ 10%": "25,9", "Instance @ 50%": "39,8", "Instance @ 100%": "54,1", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.m2.4xlarge", "Release Date": "October 2009", "Instance vCPU": "8", "Platform Total Number of vCPU": "32", "Platform CPU Name": "Xeon E5-2665", "Instance Memory (in GB)": "68.4", "Platform Memory (in GB)": "280", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "6,94", "PkgWatt @ 10%": "19,80", "PkgWatt @ 50%": "40,72", "PkgWatt @ 100%": "55,74", "RAMWatt @ Idle": "13,68", "RAMWatt @ 10%": "20,52", "RAMWatt @ 50%": "27,36", "RAMWatt @ 100%": "41,04", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "11,5", "Instance @ Idle": "32,1", "Instance @ 10%": "51,8", "Instance @ 50%": "79,6", "Instance @ 100%": "108,3", "Hardware Information on AWS Documentation & Comments": ""}, {"Instance type": "db.t3.micro", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,15", "RAMWatt @ 10%": "0,24", "RAMWatt @ 50%": "0,62", "RAMWatt @ 100%": "1,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,4", "Instance @ 10%": "5,3", "Instance @ 50%": "9,8", "Instance @ 100%": "13,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t3.small", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,30", "RAMWatt @ 10%": "0,48", "RAMWatt @ 50%": "1,24", "RAMWatt @ 100%": "2,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,5", "Instance @ 10%": "5,5", "Instance @ 50%": "10,4", "Instance @ 100%": "14,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t3.medium", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "0,60", "RAMWatt @ 10%": "0,96", "RAMWatt @ 50%": "2,48", "RAMWatt @ 100%": "4,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "3,8", "Instance @ 10%": "6,0", "Instance @ 50%": "11,6", "Instance @ 100%": "16,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t3.large", "Release Date": "August 2018", "Instance vCPU": "2", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,05", "PkgWatt @ 50%": "7,16", "PkgWatt @ 100%": "9,96", "RAMWatt @ Idle": "1,20", "RAMWatt @ 10%": "1,92", "RAMWatt @ 50%": "4,96", "RAMWatt @ 100%": "8,00", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,4", "Instance @ 10%": "7,0", "Instance @ 50%": "14,1", "Instance @ 100%": "20,0", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t3.xlarge", "Release Date": "August 2018", "Instance vCPU": "4", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,11", "PkgWatt @ 50%": "14,32", "PkgWatt @ 100%": "19,92", "RAMWatt @ Idle": "2,41", "RAMWatt @ 10%": "3,85", "RAMWatt @ 50%": "9,92", "RAMWatt @ 100%": "15,99", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "8,8", "Instance @ 10%": "14,0", "Instance @ 50%": "28,2", "Instance @ 100%": "39,9", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t3.2xlarge", "Release Date": "August 2018", "Instance vCPU": "8", "Platform Total Number of vCPU": "96", "Platform CPU Name": "Xeon Platinum 8175M", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "384", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "12,22", "PkgWatt @ 50%": "28,64", "PkgWatt @ 100%": "39,83", "RAMWatt @ Idle": "4,82", "RAMWatt @ 10%": "7,70", "RAMWatt @ 50%": "19,84", "RAMWatt @ 100%": "31,98", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "17,6", "Instance @ 10%": "27,9", "Instance @ 50%": "56,5", "Instance @ 100%": "79,8", "Hardware Information on AWS Documentation & Comments": "2.5 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.micro", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "1", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,20", "RAMWatt @ 10%": "0,30", "RAMWatt @ 50%": "0,40", "RAMWatt @ 100%": "0,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "1,8", "Instance @ 10%": "3,0", "Instance @ 50%": "4,9", "Instance @ 100%": "6,4", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.small", "Release Date": "July 2014", "Instance vCPU": "1", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "2", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "0,60", "PkgWatt @ 10%": "1,72", "PkgWatt @ 50%": "3,54", "PkgWatt @ 100%": "4,85", "RAMWatt @ Idle": "0,40", "RAMWatt @ 10%": "0,60", "RAMWatt @ 50%": "0,80", "RAMWatt @ 100%": "1,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "1,0", "Instance @ Idle": "2,0", "Instance @ 10%": "3,3", "Instance @ 50%": "5,3", "Instance @ 100%": "7,0", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.medium", "Release Date": "July 2014", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "4", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,44", "PkgWatt @ 50%": "7,08", "PkgWatt @ 100%": "9,69", "RAMWatt @ Idle": "0,80", "RAMWatt @ 10%": "1,20", "RAMWatt @ 50%": "1,60", "RAMWatt @ 100%": "2,40", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,0", "Instance @ 10%": "6,6", "Instance @ 50%": "10,7", "Instance @ 100%": "14,1", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.large", "Release Date": "June 2015", "Instance vCPU": "2", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "8", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "1,21", "PkgWatt @ 10%": "3,44", "PkgWatt @ 50%": "7,08", "PkgWatt @ 100%": "9,69", "RAMWatt @ Idle": "1,60", "RAMWatt @ 10%": "2,40", "RAMWatt @ 50%": "3,20", "RAMWatt @ 100%": "4,80", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "2,0", "Instance @ Idle": "4,8", "Instance @ 10%": "7,8", "Instance @ 50%": "12,3", "Instance @ 100%": "16,5", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.xlarge", "Release Date": "November 2016", "Instance vCPU": "4", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "16", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "2,41", "PkgWatt @ 10%": "6,89", "PkgWatt @ 50%": "14,16", "PkgWatt @ 100%": "19,39", "RAMWatt @ Idle": "3,20", "RAMWatt @ 10%": "4,80", "RAMWatt @ 50%": "6,40", "RAMWatt @ 100%": "9,60", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "4,0", "Instance @ Idle": "9,6", "Instance @ 10%": "15,7", "Instance @ 50%": "24,6", "Instance @ 100%": "33,0", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}, {"Instance type": "db.t2.2xlarge", "Release Date": "November 2016", "Instance vCPU": "8", "Platform Total Number of vCPU": "48", "Platform CPU Name": "Xeon E5-2676 v3", "Instance Memory (in GB)": "32", "Platform Memory (in GB)": "288", "Storage Info (Type and Size in GB)": "EBS-Only", "Storage Type": "EBS", "Platform Storage Drive Quantity": "0", "Platform GPU Quantity": "N/A", "Platform GPU Name": "N/A", "Instance Number of GPU": "N/A", "Instance GPU memory (in GB)": "N/A", "PkgWatt @ Idle": "4,82", "PkgWatt @ 10%": "13,77", "PkgWatt @ 50%": "28,33", "PkgWatt @ 100%": "38,78", "RAMWatt @ Idle": "6,40", "RAMWatt @ 10%": "9,60", "RAMWatt @ 50%": "12,80", "RAMWatt @ 100%": "19,20", "GPUWatt @ Idle": "0,0", "GPUWatt @ 10%": "0,0", "GPUWatt @ 50%": "0,0", "GPUWatt @ 100%": "0,0", "Delta Full Machine": "8,0", "Instance @ Idle": "19,2", "Instance @ 10%": "31,4", "Instance @ 50%": "49,1", "Instance @ 100%": "66,0", "Hardware Information on AWS Documentation & Comments": "3.3 GHz Intel Scalable Processor"}] diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts new file mode 100644 index 000000000..e6dcda273 --- /dev/null +++ b/src/lib/teads-aws/index.test.ts @@ -0,0 +1,61 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {TEADSEngineeringAWS} from './index'; + +jest.setTimeout(30000); + +describe('ccf:configure test', () => { + test('initialize with params', async () => { + const impactModel = new TEADSEngineeringAWS(); + await impactModel.configure('test', { + instance_type: 't2.micro', + }); + await expect( + impactModel.calculate([ + {duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z'}, + ]) + ).resolves.toStrictEqual([ + { + e: 0.0023031270462730543, + m: 0.04216723744292237 * 1000, + }, + ]); + }); + test('initialize with params:aws', async () => { + const impactModel = new TEADSEngineeringAWS(); + await impactModel.configure('test', { + instance_type: 'm5n.large', + }); + await expect( + impactModel.calculate([ + { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', + }, + ]) + ).resolves.toStrictEqual([ + { + e: 0.0019435697915529846, + m: 91.94006849315068, + }, + { + e: 0.0046062540925461085, + m: 91.94006849315068, + }, + { + e: 0.007934609468787513, + m: 91.94006849315068, + }, + ]); + }); +}); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts new file mode 100644 index 000000000..3a340ce43 --- /dev/null +++ b/src/lib/teads-aws/index.ts @@ -0,0 +1,232 @@ +import { + IImpactModelInterface, +} from '../interfaces'; +import Spline from 'typescript-cubic-spline'; +import * as AWS_INSTANCES from './aws-instances.json'; +import * as AWS_EMBODIED from './aws-embodied.json'; +import {KeyValuePair} from '../../types/boavizta'; + +export class TEADSEngineeringAWS implements IImpactModelInterface { + // Defined for compatibility. Not used in CCF. + authParams: object | undefined; + // name of the data source + name: string | undefined; + // compute instances grouped by the provider with usage data + private computeInstances: { + [key: string]: KeyValuePair; + } = {}; + + // list of all the by Architecture + private instanceType = ''; + private expectedLifespan = 4; + + constructor() { + this.standardizeInstanceMetrics(); + } + + /** + * Defined for compatibility. Not used in CCF. + */ + authenticate(authParams: object): void { + this.authParams = authParams; + } + + /** + * Configures the CCF Plugin for IEF + * @param {string} name name of the resource + * @param {Object} staticParams static parameters for the resource + * @param {("aws"|"gcp"|"azure")} staticParams.provider aws, gcp, azure + * @param {string} staticParams.instance_type instance type from the list of supported instances + * @param {number} staticParams.expected_lifespan expected lifespan of the instance in years + * @param {Interpolation} staticParams.interpolation linear(All Clouds), spline (only for AWS) + */ + async configure( + name: string, + staticParams: object | undefined = undefined + ): Promise { + this.name = name; + + if (staticParams === undefined) { + throw new Error('Required Parameters not provided'); + } + + if ('instance_type' in staticParams) { + const instanceType = staticParams?.instance_type as string; + if (instanceType in this.computeInstances) { + this.instanceType = instanceType; + } else { + throw new Error('Instance Type not supported'); + } + } else { + throw new Error('Instance Type not provided'); + } + + if ('expected_lifespan' in staticParams) { + this.expectedLifespan = staticParams?.expected_lifespan as number; + } + + + return this; + } + + /** + * Calculate the total emissions for a list of observations + * + * Each Observation require: + * @param {Object[]} observations ISO 8601 datetime string + * @param {string} observations[].datetime ISO 8601 datetime string + * @param {number} observations[].duration observation duration in seconds + * @param {number} observations[].cpu percentage cpu usage + */ + async calculate( + observations: object | object[] | undefined + ): Promise { + if (observations === undefined) { + throw new Error('Required Parameters not provided'); + } + + if (this.instanceType === '') { + throw new Error('Configuration is incomplete'); + } + + const results: KeyValuePair[] = []; + if (Array.isArray(observations)) { + observations.forEach((observation: KeyValuePair) => { + const e = this.calculateEnergy(observation); + const m = this.embodiedEmissions(observation); + + results.push({ + e: e, + m: m, + }); + }); + } + + return results; + } + + /** + * Calculates the energy consumption for a single observation + * requires + * + * duration: duration of the observation in seconds + * cpu: cpu usage in percentage + * datetime: ISO 8601 datetime string + * + * Uses a spline method for AWS and linear interpolation for GCP and Azure + */ + private calculateEnergy(observation: KeyValuePair) { + if ( + !('duration' in observation) || + !('cpu' in observation) || + !('datetime' in observation) + ) { + throw new Error( + 'Required Parameters duration,cpu,datetime not provided for observation' + ); + } + + // duration is in seconds + const duration = observation['duration']; + + // convert cpu usage to percentage + const cpu = observation['cpu'] * 100.0; + + // get the wattage for the instance type + let wattage; + + const x = [0, 10, 50, 100]; + + const y: number[] = [ + this.computeInstances[this.instanceType].consumption.idle ?? 0, + this.computeInstances[this.instanceType].consumption + .tenPercent ?? 0, + this.computeInstances[this.instanceType].consumption + .fiftyPercent ?? 0, + this.computeInstances[this.instanceType].consumption + .hundredPercent ?? 0, + ]; + + const spline = new Spline(x, y); + + wattage = spline.at(cpu); + // duration is in seconds + // wattage is in watts + // eg: 30W x 300s = 9000 J + // 1 Wh = 3600 J + // 9000 J / 3600 = 2.5 Wh + // J / 3600 = Wh + // 2.5 Wh / 1000 = 0.0025 kWh + // Wh / 1000 = kWh + // (wattage * duration) / (seconds in an hour) / 1000 = kWh + return (wattage * duration) / 3600 / 1000; + } + + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'ccf.cloud.sci'; + } + + /** + * Standardize the instance metrics for all the providers + * + * Maps the instance metrics to a standard format (min, max, idle, 10%, 50%, 100%) for all the providers + */ + standardizeInstanceMetrics() { + AWS_INSTANCES.forEach((instance: KeyValuePair) => { + const cpus = parseInt(instance['Instance vCPU'], 10); + this.computeInstances[instance['Instance type']] = { + consumption: { + idle: parseFloat(instance['Instance @ Idle'].replace(',', '.')), + tenPercent: parseFloat(instance['Instance @ 10%'].replace(',', '.')), + fiftyPercent: parseFloat( + instance['Instance @ 50%'].replace(',', '.') + ), + hundredPercent: parseFloat( + instance['Instance @ 100%'].replace(',', '.') + ), + }, + vCPUs: cpus, + maxvCPUs: parseInt(instance['Platform Total Number of vCPU'], 10), + name: instance['Instance type'], + } as KeyValuePair; + }); + AWS_EMBODIED.forEach((instance: KeyValuePair) => { + this.computeInstances[instance['type']].embodiedEmission = + instance['total']; + }); + } + + /** + * Calculates the embodied emissions for a given observation + */ + private embodiedEmissions(observation: KeyValuePair): number { + // duration + const durationInHours = observation['duration'] / 3600; + // M = TE * (TR/EL) * (RR/TR) + // Where: + // TE = Total Embodied Emissions, the sum of Life Cycle Assessment(LCA) emissions for all hardware components + // TR = Time Reserved, the length of time the hardware is reserved for use by the software + // EL = Expected Lifespan, the anticipated time that the equipment will be installed + // RR = Resources Reserved, the number of resources reserved for use by the software. + // TR = Total Resources, the total number of resources available. + const totalEmissions = + this.computeInstances[this.instanceType] + .embodiedEmission ?? 0; + const timeReserved = durationInHours; + const expectedLifespan = 8760 * this.expectedLifespan; + const reservedResources = + this.computeInstances[this.instanceType].vCPUs ?? 1.0; + const totalResources = + this.computeInstances[this.instanceType].maxVCPUs ?? 1.0; + // Multiply totalEmissions by 1000 to convert from kgCO2e to gCO2e + return ( + totalEmissions * + 1000 * + (timeReserved / expectedLifespan) * + (reservedResources / totalResources) + ); + } +} From e5cd9a5dc3b29e0a1331b04756f9fa9e54e64623 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 13:26:02 +0530 Subject: [PATCH 128/199] Fix tests Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index e6dcda273..83d8396b8 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -3,7 +3,7 @@ import {TEADSEngineeringAWS} from './index'; jest.setTimeout(30000); -describe('ccf:configure test', () => { +describe('teads:configure test', () => { test('initialize with params', async () => { const impactModel = new TEADSEngineeringAWS(); await impactModel.configure('test', { @@ -15,12 +15,12 @@ describe('ccf:configure test', () => { ]) ).resolves.toStrictEqual([ { - e: 0.0023031270462730543, + e: 0.004900000000000001, m: 0.04216723744292237 * 1000, }, ]); }); - test('initialize with params:aws', async () => { + test('teads:initialize with params', async () => { const impactModel = new TEADSEngineeringAWS(); await impactModel.configure('test', { instance_type: 'm5n.large', @@ -45,15 +45,15 @@ describe('ccf:configure test', () => { ]) ).resolves.toStrictEqual([ { - e: 0.0019435697915529846, + e: 0.0067, m: 91.94006849315068, }, { - e: 0.0046062540925461085, + e: 0.011800000000000001, m: 91.94006849315068, }, { - e: 0.007934609468787513, + e: 0.016300000000000002, m: 91.94006849315068, }, ]); From c29534e4a9d5518e7ee79a55d4817ad0ccbf4719 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 13:35:29 +0530 Subject: [PATCH 129/199] Lint Fix Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 2 +- src/lib/teads-aws/index.ts | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index 83d8396b8..dfb1b3391 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -15,7 +15,7 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { - e: 0.004900000000000001, + e: 0.004900000000000001, m: 0.04216723744292237 * 1000, }, ]); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 3a340ce43..82aed18b2 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -1,6 +1,4 @@ -import { - IImpactModelInterface, -} from '../interfaces'; +import {IImpactModelInterface} from '../interfaces'; import Spline from 'typescript-cubic-spline'; import * as AWS_INSTANCES from './aws-instances.json'; import * as AWS_EMBODIED from './aws-embodied.json'; @@ -65,7 +63,6 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { this.expectedLifespan = staticParams?.expected_lifespan as number; } - return this; } @@ -139,12 +136,9 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { const y: number[] = [ this.computeInstances[this.instanceType].consumption.idle ?? 0, - this.computeInstances[this.instanceType].consumption - .tenPercent ?? 0, - this.computeInstances[this.instanceType].consumption - .fiftyPercent ?? 0, - this.computeInstances[this.instanceType].consumption - .hundredPercent ?? 0, + this.computeInstances[this.instanceType].consumption.tenPercent ?? 0, + this.computeInstances[this.instanceType].consumption.fiftyPercent ?? 0, + this.computeInstances[this.instanceType].consumption.hundredPercent ?? 0, ]; const spline = new Spline(x, y); @@ -213,8 +207,7 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { // RR = Resources Reserved, the number of resources reserved for use by the software. // TR = Total Resources, the total number of resources available. const totalEmissions = - this.computeInstances[this.instanceType] - .embodiedEmission ?? 0; + this.computeInstances[this.instanceType].embodiedEmission ?? 0; const timeReserved = durationInHours; const expectedLifespan = 8760 * this.expectedLifespan; const reservedResources = From 9847f7da9ce077cdacb21fb5de589ef0dee61738 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 13:43:22 +0530 Subject: [PATCH 130/199] Lint fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 82aed18b2..1ce49b376 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -130,7 +130,6 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { const cpu = observation['cpu'] * 100.0; // get the wattage for the instance type - let wattage; const x = [0, 10, 50, 100]; @@ -143,7 +142,7 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { const spline = new Spline(x, y); - wattage = spline.at(cpu); + const wattage = spline.at(cpu); // duration is in seconds // wattage is in watts // eg: 30W x 300s = 9000 J From f0a140fc46b80520ea101d911618462fc8eb49b3 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 28 Aug 2023 14:05:25 +0530 Subject: [PATCH 131/199] Add documentation relevant to teads-aws model Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/teads-aws.md | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/implementations/teads-aws.md diff --git a/docs/implementations/teads-aws.md b/docs/implementations/teads-aws.md new file mode 100644 index 000000000..003b708da --- /dev/null +++ b/docs/implementations/teads-aws.md @@ -0,0 +1,32 @@ +# Teads' AWS Estimation Model + +Teads Engineering Team built a model for estimating AWS Instances energy usage. This model creates a power curve on a correlation to SPEC Power database. This allows the model to generate a power curve for any AWS EC2 instance type based on publicly available AWS EC2 Instance CPU data. + +The main benefit of this model is that it accounts for all the components involved in an instance's compute capacity. + +## Implementation + +IEF implements this plugin based off the data embedded from the CCF (Cloud Carbon Footprint) dataset. + +Spline interpolation is implemented as the default method of estimating the usage using the power curve provided by `IDLE`, `10%`, `50%`, `100%` values in the dataset. + +Resulting values are an approximation / estimation based on the testing done by Teads' Engineering Team. Further information can be found in the following links. +1. [TEADS Engineering: Building An AWS EC2 Carbon Emissions Dataset](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac) +2. [TEADS Engineering: Estimating AWS EC2 Instances Power Consumption](https://medium.com/teads-engineering/estimating-aws-ec2-instances-power-consumption-c9745e347959) + +## Example +```typescript +import {TEADSEngineeringAWS} from 'ief'; + +const teads = new TEADSEngineeringAWS(); +teads.configure({ + instance_type: 'c6i.large' +}) +const results = teads.calculate([ + { + duration: 3600, // duration institute + cpu: 0.1, // CPU usage as a value between 0 and 1 in floating point number + datetime: '2021-01-01T00:00:00Z', // ISO8601 / RFC3339 timestamp + } +]); +``` From b53ded305faccdb60b922a82963773b9ebe723ac Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 30 Aug 2023 14:46:35 +0530 Subject: [PATCH 132/199] Rename references to CCF to TEADS Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 1ce49b376..8c780a13e 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -5,7 +5,7 @@ import * as AWS_EMBODIED from './aws-embodied.json'; import {KeyValuePair} from '../../types/boavizta'; export class TEADSEngineeringAWS implements IImpactModelInterface { - // Defined for compatibility. Not used in CCF. + // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source name: string | undefined; @@ -23,20 +23,18 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { } /** - * Defined for compatibility. Not used in CCF. + * Defined for compatibility. Not used in TEADS. */ authenticate(authParams: object): void { this.authParams = authParams; } /** - * Configures the CCF Plugin for IEF + * Configures the TEADS Plugin for IEF * @param {string} name name of the resource * @param {Object} staticParams static parameters for the resource - * @param {("aws"|"gcp"|"azure")} staticParams.provider aws, gcp, azure * @param {string} staticParams.instance_type instance type from the list of supported instances * @param {number} staticParams.expected_lifespan expected lifespan of the instance in years - * @param {Interpolation} staticParams.interpolation linear(All Clouds), spline (only for AWS) */ async configure( name: string, @@ -159,7 +157,7 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { * Returns model identifier */ modelIdentifier(): string { - return 'ccf.cloud.sci'; + return 'teads.cloud.sci'; } /** From 6bb4a860b9ca9746a8f7b975fbd1005af8d851c8 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 05:35:56 +0530 Subject: [PATCH 133/199] Fixing TeadsAWS naming and other variables Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/teads-aws.md | 4 ++-- package.json | 1 - src/lib/teads-aws/index.ts | 14 ++++++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/implementations/teads-aws.md b/docs/implementations/teads-aws.md index 003b708da..2865ea8b1 100644 --- a/docs/implementations/teads-aws.md +++ b/docs/implementations/teads-aws.md @@ -16,9 +16,9 @@ Resulting values are an approximation / estimation based on the testing done by ## Example ```typescript -import {TEADSEngineeringAWS} from 'ief'; +import {TeadsAWS} from 'ief'; -const teads = new TEADSEngineeringAWS(); +const teads = new TeadsAWS(); teads.configure({ instance_type: 'c6i.large' }) diff --git a/package.json b/package.json index b7cf037fb..ff583c570 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "ts-command-line-args" ], "dependencies": { - "@cloud-carbon-footprint/aws": "^0.14.5", "@cloud-carbon-footprint/core": "*", "@types/node": "^20.4.5", "axios": "^1.4.0", diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 8c780a13e..7698664c2 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -4,7 +4,12 @@ import * as AWS_INSTANCES from './aws-instances.json'; import * as AWS_EMBODIED from './aws-embodied.json'; import {KeyValuePair} from '../../types/boavizta'; -export class TEADSEngineeringAWS implements IImpactModelInterface { +export enum Interpolation { + SPLINE = 'spline', + LINEAR = 'linear', +} + +export class TeadsAWS implements IImpactModelInterface { // Defined for compatibility. Not used in TEADS. authParams: object | undefined; // name of the data source @@ -17,6 +22,7 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { // list of all the by Architecture private instanceType = ''; private expectedLifespan = 4; + private interpolation = Interpolation.SPLINE; constructor() { this.standardizeInstanceMetrics(); @@ -91,8 +97,8 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { const m = this.embodiedEmissions(observation); results.push({ - e: e, - m: m, + energy: e, + embodied: m, }); }); } @@ -113,7 +119,7 @@ export class TEADSEngineeringAWS implements IImpactModelInterface { private calculateEnergy(observation: KeyValuePair) { if ( !('duration' in observation) || - !('cpu' in observation) || + !('cpu-util' in observation) || !('datetime' in observation) ) { throw new Error( From fbe829f80b2a114a28fd26c6dbad1ed32f7c779e Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 06:03:04 +0530 Subject: [PATCH 134/199] Test fixes and adding interpolation Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 22 ++++---- src/lib/teads-aws/index.ts | 96 ++++++++++++++++++++------------- 2 files changed, 69 insertions(+), 49 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index dfb1b3391..e06d49dbd 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -1,11 +1,11 @@ import {describe, expect, jest, test} from '@jest/globals'; -import {TEADSEngineeringAWS} from './index'; +import {TeadsAWS} from './index'; jest.setTimeout(30000); describe('teads:configure test', () => { test('initialize with params', async () => { - const impactModel = new TEADSEngineeringAWS(); + const impactModel = new TeadsAWS(); await impactModel.configure('test', { instance_type: 't2.micro', }); @@ -15,13 +15,13 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { - e: 0.004900000000000001, - m: 0.04216723744292237 * 1000, + energy: 0.004900000000000001, + embodied: 0.04216723744292237 * 1000, }, ]); }); test('teads:initialize with params', async () => { - const impactModel = new TEADSEngineeringAWS(); + const impactModel = new TeadsAWS(); await impactModel.configure('test', { instance_type: 'm5n.large', }); @@ -45,16 +45,16 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { - e: 0.0067, - m: 91.94006849315068, + energy: 0.0067, + embodied: 91.94006849315068, }, { - e: 0.011800000000000001, - m: 91.94006849315068, + energy: 0.011800000000000001, + embodied: 91.94006849315068, }, { - e: 0.016300000000000002, - m: 91.94006849315068, + energy: 0.016300000000000002, + embodied: 91.94006849315068, }, ]); }); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 7698664c2..7c5ef46d2 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -1,12 +1,12 @@ -import {IImpactModelInterface} from '../interfaces'; -import Spline from 'typescript-cubic-spline'; -import * as AWS_INSTANCES from './aws-instances.json'; -import * as AWS_EMBODIED from './aws-embodied.json'; -import {KeyValuePair} from '../../types/boavizta'; +import { IImpactModelInterface } from "../interfaces"; +import Spline from "typescript-cubic-spline"; +import * as AWS_INSTANCES from "./aws-instances.json"; +import * as AWS_EMBODIED from "./aws-embodied.json"; +import { KeyValuePair } from "../../types/boavizta"; export enum Interpolation { - SPLINE = 'spline', - LINEAR = 'linear', + SPLINE = "spline", + LINEAR = "linear", } export class TeadsAWS implements IImpactModelInterface { @@ -20,7 +20,7 @@ export class TeadsAWS implements IImpactModelInterface { } = {}; // list of all the by Architecture - private instanceType = ''; + private instanceType = ""; private expectedLifespan = 4; private interpolation = Interpolation.SPLINE; @@ -41,6 +41,7 @@ export class TeadsAWS implements IImpactModelInterface { * @param {Object} staticParams static parameters for the resource * @param {string} staticParams.instance_type instance type from the list of supported instances * @param {number} staticParams.expected_lifespan expected lifespan of the instance in years + * @param {Interpolation} staticParams.interpolation expected lifespan of the instance in years */ async configure( name: string, @@ -49,24 +50,28 @@ export class TeadsAWS implements IImpactModelInterface { this.name = name; if (staticParams === undefined) { - throw new Error('Required Parameters not provided'); + throw new Error("Required Parameters not provided"); } - if ('instance_type' in staticParams) { + if ("instance_type" in staticParams) { const instanceType = staticParams?.instance_type as string; if (instanceType in this.computeInstances) { this.instanceType = instanceType; } else { - throw new Error('Instance Type not supported'); + throw new Error("Instance Type not supported"); } } else { - throw new Error('Instance Type not provided'); + throw new Error("Instance Type not provided"); } - if ('expected_lifespan' in staticParams) { + if ("expected_lifespan" in staticParams) { this.expectedLifespan = staticParams?.expected_lifespan as number; } + if ("interpolation" in staticParams) { + this.interpolation = staticParams?.interpolation as Interpolation; + } + return this; } @@ -83,11 +88,11 @@ export class TeadsAWS implements IImpactModelInterface { observations: object | object[] | undefined ): Promise { if (observations === undefined) { - throw new Error('Required Parameters not provided'); + throw new Error("Required Parameters not provided"); } - if (this.instanceType === '') { - throw new Error('Configuration is incomplete'); + if (this.instanceType === "") { + throw new Error("Configuration is incomplete"); } const results: KeyValuePair[] = []; @@ -98,7 +103,7 @@ export class TeadsAWS implements IImpactModelInterface { results.push({ energy: e, - embodied: m, + embodied: m }); }); } @@ -118,20 +123,20 @@ export class TeadsAWS implements IImpactModelInterface { */ private calculateEnergy(observation: KeyValuePair) { if ( - !('duration' in observation) || - !('cpu-util' in observation) || - !('datetime' in observation) + !("duration" in observation) || + !("cpu" in observation) || + !("datetime" in observation) ) { throw new Error( - 'Required Parameters duration,cpu,datetime not provided for observation' + "Required Parameters duration,cpu,datetime not provided for observation" ); } // duration is in seconds - const duration = observation['duration']; + const duration = observation["duration"]; // convert cpu usage to percentage - const cpu = observation['cpu'] * 100.0; + const cpu = observation["cpu"] * 100.0; // get the wattage for the instance type @@ -141,12 +146,27 @@ export class TeadsAWS implements IImpactModelInterface { this.computeInstances[this.instanceType].consumption.idle ?? 0, this.computeInstances[this.instanceType].consumption.tenPercent ?? 0, this.computeInstances[this.instanceType].consumption.fiftyPercent ?? 0, - this.computeInstances[this.instanceType].consumption.hundredPercent ?? 0, + this.computeInstances[this.instanceType].consumption.hundredPercent ?? 0 ]; const spline = new Spline(x, y); - const wattage = spline.at(cpu); + let wattage = 0.0; + if (this.interpolation === Interpolation.SPLINE) { + wattage = spline.at(cpu); + } else if (this.interpolation === Interpolation.LINEAR) { + let min = 0 + let max = 1 + if (cpu > 10 && cpu <= 50) { + min = 1 + max = 2 + } + if (cpu > 50 && cpu <= 100) { + min = 2 + max = 3 + } + wattage = y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu; + } // duration is in seconds // wattage is in watts // eg: 30W x 300s = 9000 J @@ -163,7 +183,7 @@ export class TeadsAWS implements IImpactModelInterface { * Returns model identifier */ modelIdentifier(): string { - return 'teads.cloud.sci'; + return "teads.cloud.sci"; } /** @@ -173,26 +193,26 @@ export class TeadsAWS implements IImpactModelInterface { */ standardizeInstanceMetrics() { AWS_INSTANCES.forEach((instance: KeyValuePair) => { - const cpus = parseInt(instance['Instance vCPU'], 10); - this.computeInstances[instance['Instance type']] = { + const cpus = parseInt(instance["Instance vCPU"], 10); + this.computeInstances[instance["Instance type"]] = { consumption: { - idle: parseFloat(instance['Instance @ Idle'].replace(',', '.')), - tenPercent: parseFloat(instance['Instance @ 10%'].replace(',', '.')), + idle: parseFloat(instance["Instance @ Idle"].replace(",", ".")), + tenPercent: parseFloat(instance["Instance @ 10%"].replace(",", ".")), fiftyPercent: parseFloat( - instance['Instance @ 50%'].replace(',', '.') + instance["Instance @ 50%"].replace(",", ".") ), hundredPercent: parseFloat( - instance['Instance @ 100%'].replace(',', '.') - ), + instance["Instance @ 100%"].replace(",", ".") + ) }, vCPUs: cpus, - maxvCPUs: parseInt(instance['Platform Total Number of vCPU'], 10), - name: instance['Instance type'], + maxvCPUs: parseInt(instance["Platform Total Number of vCPU"], 10), + name: instance["Instance type"] } as KeyValuePair; }); AWS_EMBODIED.forEach((instance: KeyValuePair) => { - this.computeInstances[instance['type']].embodiedEmission = - instance['total']; + this.computeInstances[instance["type"]].embodiedEmission = + instance["total"]; }); } @@ -201,7 +221,7 @@ export class TeadsAWS implements IImpactModelInterface { */ private embodiedEmissions(observation: KeyValuePair): number { // duration - const durationInHours = observation['duration'] / 3600; + const durationInHours = observation["duration"] / 3600; // M = TE * (TR/EL) * (RR/TR) // Where: // TE = Total Embodied Emissions, the sum of Life Cycle Assessment(LCA) emissions for all hardware components From 6140d08ac94715d017e179700c3211f415da3a2a Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 06:07:04 +0530 Subject: [PATCH 135/199] Applying lint fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 42 +++++++++++++++- src/lib/teads-aws/index.ts | 88 ++++++++++++++++----------------- 2 files changed, 85 insertions(+), 45 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index e06d49dbd..ebd69e004 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -1,5 +1,6 @@ import {describe, expect, jest, test} from '@jest/globals'; import {TeadsAWS} from './index'; +import {Interpolation} from './index'; jest.setTimeout(30000); @@ -20,7 +21,7 @@ describe('teads:configure test', () => { }, ]); }); - test('teads:initialize with params', async () => { + test('teads:initialize with params: spline', async () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { instance_type: 'm5n.large', @@ -58,4 +59,43 @@ describe('teads:configure test', () => { }, ]); }); + test('teads:initialize with params: linear', async () => { + const impactModel = new TeadsAWS(); + await impactModel.configure('test', { + instance_type: 'm5n.large', + interpolation: Interpolation.LINEAR, + }); + await expect( + impactModel.calculate([ + { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + }, + { + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', + }, + ]) + ).resolves.toStrictEqual([ + { + energy: 0.0067, + embodied: 91.94006849315068, + }, + { + energy: 0.011800000000000001, + embodied: 91.94006849315068, + }, + { + energy: 0.016300000000000002, + embodied: 91.94006849315068, + }, + ]); + }); }); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 7c5ef46d2..b86cf42d5 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -1,12 +1,12 @@ -import { IImpactModelInterface } from "../interfaces"; -import Spline from "typescript-cubic-spline"; -import * as AWS_INSTANCES from "./aws-instances.json"; -import * as AWS_EMBODIED from "./aws-embodied.json"; -import { KeyValuePair } from "../../types/boavizta"; +import {IImpactModelInterface} from '../interfaces'; +import Spline from 'typescript-cubic-spline'; +import * as AWS_INSTANCES from './aws-instances.json'; +import * as AWS_EMBODIED from './aws-embodied.json'; +import {KeyValuePair} from '../../types/boavizta'; export enum Interpolation { - SPLINE = "spline", - LINEAR = "linear", + SPLINE = 'spline', + LINEAR = 'linear', } export class TeadsAWS implements IImpactModelInterface { @@ -20,7 +20,7 @@ export class TeadsAWS implements IImpactModelInterface { } = {}; // list of all the by Architecture - private instanceType = ""; + private instanceType = ''; private expectedLifespan = 4; private interpolation = Interpolation.SPLINE; @@ -50,25 +50,25 @@ export class TeadsAWS implements IImpactModelInterface { this.name = name; if (staticParams === undefined) { - throw new Error("Required Parameters not provided"); + throw new Error('Required Parameters not provided'); } - if ("instance_type" in staticParams) { + if ('instance_type' in staticParams) { const instanceType = staticParams?.instance_type as string; if (instanceType in this.computeInstances) { this.instanceType = instanceType; } else { - throw new Error("Instance Type not supported"); + throw new Error('Instance Type not supported'); } } else { - throw new Error("Instance Type not provided"); + throw new Error('Instance Type not provided'); } - if ("expected_lifespan" in staticParams) { + if ('expected_lifespan' in staticParams) { this.expectedLifespan = staticParams?.expected_lifespan as number; } - if ("interpolation" in staticParams) { + if ('interpolation' in staticParams) { this.interpolation = staticParams?.interpolation as Interpolation; } @@ -88,11 +88,11 @@ export class TeadsAWS implements IImpactModelInterface { observations: object | object[] | undefined ): Promise { if (observations === undefined) { - throw new Error("Required Parameters not provided"); + throw new Error('Required Parameters not provided'); } - if (this.instanceType === "") { - throw new Error("Configuration is incomplete"); + if (this.instanceType === '') { + throw new Error('Configuration is incomplete'); } const results: KeyValuePair[] = []; @@ -103,7 +103,7 @@ export class TeadsAWS implements IImpactModelInterface { results.push({ energy: e, - embodied: m + embodied: m, }); }); } @@ -123,20 +123,20 @@ export class TeadsAWS implements IImpactModelInterface { */ private calculateEnergy(observation: KeyValuePair) { if ( - !("duration" in observation) || - !("cpu" in observation) || - !("datetime" in observation) + !('duration' in observation) || + !('cpu' in observation) || + !('datetime' in observation) ) { throw new Error( - "Required Parameters duration,cpu,datetime not provided for observation" + 'Required Parameters duration,cpu,datetime not provided for observation' ); } // duration is in seconds - const duration = observation["duration"]; + const duration = observation['duration']; // convert cpu usage to percentage - const cpu = observation["cpu"] * 100.0; + const cpu = observation['cpu'] * 100.0; // get the wattage for the instance type @@ -146,7 +146,7 @@ export class TeadsAWS implements IImpactModelInterface { this.computeInstances[this.instanceType].consumption.idle ?? 0, this.computeInstances[this.instanceType].consumption.tenPercent ?? 0, this.computeInstances[this.instanceType].consumption.fiftyPercent ?? 0, - this.computeInstances[this.instanceType].consumption.hundredPercent ?? 0 + this.computeInstances[this.instanceType].consumption.hundredPercent ?? 0, ]; const spline = new Spline(x, y); @@ -155,15 +155,15 @@ export class TeadsAWS implements IImpactModelInterface { if (this.interpolation === Interpolation.SPLINE) { wattage = spline.at(cpu); } else if (this.interpolation === Interpolation.LINEAR) { - let min = 0 - let max = 1 + let min = 0; + let max = 1; if (cpu > 10 && cpu <= 50) { - min = 1 - max = 2 + min = 1; + max = 2; } if (cpu > 50 && cpu <= 100) { - min = 2 - max = 3 + min = 2; + max = 3; } wattage = y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu; } @@ -183,7 +183,7 @@ export class TeadsAWS implements IImpactModelInterface { * Returns model identifier */ modelIdentifier(): string { - return "teads.cloud.sci"; + return 'teads.cloud.sci'; } /** @@ -193,26 +193,26 @@ export class TeadsAWS implements IImpactModelInterface { */ standardizeInstanceMetrics() { AWS_INSTANCES.forEach((instance: KeyValuePair) => { - const cpus = parseInt(instance["Instance vCPU"], 10); - this.computeInstances[instance["Instance type"]] = { + const cpus = parseInt(instance['Instance vCPU'], 10); + this.computeInstances[instance['Instance type']] = { consumption: { - idle: parseFloat(instance["Instance @ Idle"].replace(",", ".")), - tenPercent: parseFloat(instance["Instance @ 10%"].replace(",", ".")), + idle: parseFloat(instance['Instance @ Idle'].replace(',', '.')), + tenPercent: parseFloat(instance['Instance @ 10%'].replace(',', '.')), fiftyPercent: parseFloat( - instance["Instance @ 50%"].replace(",", ".") + instance['Instance @ 50%'].replace(',', '.') ), hundredPercent: parseFloat( - instance["Instance @ 100%"].replace(",", ".") - ) + instance['Instance @ 100%'].replace(',', '.') + ), }, vCPUs: cpus, - maxvCPUs: parseInt(instance["Platform Total Number of vCPU"], 10), - name: instance["Instance type"] + maxvCPUs: parseInt(instance['Platform Total Number of vCPU'], 10), + name: instance['Instance type'], } as KeyValuePair; }); AWS_EMBODIED.forEach((instance: KeyValuePair) => { - this.computeInstances[instance["type"]].embodiedEmission = - instance["total"]; + this.computeInstances[instance['type']].embodiedEmission = + instance['total']; }); } @@ -221,7 +221,7 @@ export class TeadsAWS implements IImpactModelInterface { */ private embodiedEmissions(observation: KeyValuePair): number { // duration - const durationInHours = observation["duration"] / 3600; + const durationInHours = observation['duration'] / 3600; // M = TE * (TR/EL) * (RR/TR) // Where: // TE = Total Embodied Emissions, the sum of Life Cycle Assessment(LCA) emissions for all hardware components From 7f69144d88ec36477b713b819020a5f57a02408d Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 1 Sep 2023 06:28:08 +0530 Subject: [PATCH 136/199] Update: fixing tests Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 31 +++++++++-- src/lib/teads-aws/index.ts | 96 ++++++++++++++++----------------- 2 files changed, 74 insertions(+), 53 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index ebd69e004..4eb59aa1f 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -12,10 +12,17 @@ describe('teads:configure test', () => { }); await expect( impactModel.calculate([ - {duration: 3600, cpu: 0.5, datetime: '2021-01-01T00:00:00Z'}, + { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + }, ]) ).resolves.toStrictEqual([ { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', energy: 0.004900000000000001, embodied: 0.04216723744292237 * 1000, }, @@ -46,14 +53,23 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', energy: 0.0067, embodied: 91.94006849315068, }, { + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', energy: 0.011800000000000001, embodied: 91.94006849315068, }, { + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', energy: 0.016300000000000002, embodied: 91.94006849315068, }, @@ -85,15 +101,24 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { + duration: 3600, + cpu: 0.1, + datetime: '2021-01-01T00:00:00Z', energy: 0.0067, embodied: 91.94006849315068, }, { - energy: 0.011800000000000001, + duration: 3600, + cpu: 0.5, + datetime: '2021-01-01T00:00:00Z', + energy: 0.010475, embodied: 91.94006849315068, }, { - energy: 0.016300000000000002, + duration: 3600, + cpu: 1, + datetime: '2021-01-01T00:00:00Z', + energy: 0.013099999999999999, embodied: 91.94006849315068, }, ]); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index b86cf42d5..e4b53a267 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -90,25 +90,58 @@ export class TeadsAWS implements IImpactModelInterface { if (observations === undefined) { throw new Error('Required Parameters not provided'); } + if (!Array.isArray(observations)) { + throw new Error('Observations should be an array'); + } if (this.instanceType === '') { throw new Error('Configuration is incomplete'); } - const results: KeyValuePair[] = []; - if (Array.isArray(observations)) { - observations.forEach((observation: KeyValuePair) => { - const e = this.calculateEnergy(observation); - const m = this.embodiedEmissions(observation); - - results.push({ - energy: e, - embodied: m, - }); - }); - } + return observations.map((observation: KeyValuePair) => { + const e = this.calculateEnergy(observation); + const m = this.embodiedEmissions(observation); + observation['energy'] = e; + observation['embodied'] = m; + return observation; + }); + } - return results; + /** + * Returns model identifier + */ + modelIdentifier(): string { + return 'teads.cloud.sci'; + } + + /** + * Standardize the instance metrics for all the providers + * + * Maps the instance metrics to a standard format (min, max, idle, 10%, 50%, 100%) for all the providers + */ + standardizeInstanceMetrics() { + AWS_INSTANCES.forEach((instance: KeyValuePair) => { + const cpus = parseInt(instance['Instance vCPU'], 10); + this.computeInstances[instance['Instance type']] = { + consumption: { + idle: parseFloat(instance['Instance @ Idle'].replace(',', '.')), + tenPercent: parseFloat(instance['Instance @ 10%'].replace(',', '.')), + fiftyPercent: parseFloat( + instance['Instance @ 50%'].replace(',', '.') + ), + hundredPercent: parseFloat( + instance['Instance @ 100%'].replace(',', '.') + ), + }, + vCPUs: cpus, + maxvCPUs: parseInt(instance['Platform Total Number of vCPU'], 10), + name: instance['Instance type'], + } as KeyValuePair; + }); + AWS_EMBODIED.forEach((instance: KeyValuePair) => { + this.computeInstances[instance['type']].embodiedEmission = + instance['total']; + }); } /** @@ -179,43 +212,6 @@ export class TeadsAWS implements IImpactModelInterface { return (wattage * duration) / 3600 / 1000; } - /** - * Returns model identifier - */ - modelIdentifier(): string { - return 'teads.cloud.sci'; - } - - /** - * Standardize the instance metrics for all the providers - * - * Maps the instance metrics to a standard format (min, max, idle, 10%, 50%, 100%) for all the providers - */ - standardizeInstanceMetrics() { - AWS_INSTANCES.forEach((instance: KeyValuePair) => { - const cpus = parseInt(instance['Instance vCPU'], 10); - this.computeInstances[instance['Instance type']] = { - consumption: { - idle: parseFloat(instance['Instance @ Idle'].replace(',', '.')), - tenPercent: parseFloat(instance['Instance @ 10%'].replace(',', '.')), - fiftyPercent: parseFloat( - instance['Instance @ 50%'].replace(',', '.') - ), - hundredPercent: parseFloat( - instance['Instance @ 100%'].replace(',', '.') - ), - }, - vCPUs: cpus, - maxvCPUs: parseInt(instance['Platform Total Number of vCPU'], 10), - name: instance['Instance type'], - } as KeyValuePair; - }); - AWS_EMBODIED.forEach((instance: KeyValuePair) => { - this.computeInstances[instance['type']].embodiedEmission = - instance['total']; - }); - } - /** * Calculates the embodied emissions for a given observation */ From 438228a550708adc7d985bf314ddbb723f704849 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 10:24:18 +0530 Subject: [PATCH 137/199] Fixing tests Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 33 ++++++++++++++++---------------- src/lib/teads-aws/index.ts | 34 ++++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index 4eb59aa1f..bd0714130 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -14,14 +14,14 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', energy: 0.004900000000000001, embodied: 0.04216723744292237 * 1000, @@ -32,43 +32,44 @@ describe('teads:configure test', () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { instance_type: 'm5n.large', + interpolation: Interpolation.SPLINE, }); await expect( impactModel.calculate([ { duration: 3600, - cpu: 0.1, + cpu: 10, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 1, + cpu: 100, datetime: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 0.1, + cpu: 10, datetime: '2021-01-01T00:00:00Z', energy: 0.0067, embodied: 91.94006849315068, }, { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', energy: 0.011800000000000001, embodied: 91.94006849315068, }, { duration: 3600, - cpu: 1, + cpu: 100, datetime: '2021-01-01T00:00:00Z', energy: 0.016300000000000002, embodied: 91.94006849315068, @@ -85,40 +86,40 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 0.1, + cpu: 10, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 1, + cpu: 100, datetime: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 0.1, + cpu: 10, datetime: '2021-01-01T00:00:00Z', energy: 0.0067, embodied: 91.94006849315068, }, { duration: 3600, - cpu: 0.5, + cpu: 50, datetime: '2021-01-01T00:00:00Z', - energy: 0.010475, + energy: 0.011800000000000001, embodied: 91.94006849315068, }, { duration: 3600, - cpu: 1, + cpu: 100, datetime: '2021-01-01T00:00:00Z', - energy: 0.013099999999999999, + energy: 0.016300000000000002, embodied: 91.94006849315068, }, ]); diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index e4b53a267..a7f8387f4 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -169,7 +169,7 @@ export class TeadsAWS implements IImpactModelInterface { const duration = observation['duration']; // convert cpu usage to percentage - const cpu = observation['cpu'] * 100.0; + const cpu = observation['cpu']; // get the wattage for the instance type @@ -188,17 +188,29 @@ export class TeadsAWS implements IImpactModelInterface { if (this.interpolation === Interpolation.SPLINE) { wattage = spline.at(cpu); } else if (this.interpolation === Interpolation.LINEAR) { - let min = 0; - let max = 1; - if (cpu > 10 && cpu <= 50) { - min = 1; - max = 2; + // base rate is from which level of cpu linear interpolation is applied at + let base_rate = 0; + let base_cpu = 0; + let ratio = 0; + // find the base rate and ratio + for (let i = 0; i < x.length; i++) { + if (cpu === x[i]) { + base_rate = y[i]; + base_cpu = x[i]; + break; + } else if (cpu > x[i] && cpu < x[i + 1]) { + base_rate = y[i]; + base_cpu = x[i]; + ratio = (y[i + 1] - y[i]) / (x[i + 1] - x[i]); + break; + } } - if (cpu > 50 && cpu <= 100) { - min = 2; - max = 3; - } - wattage = y[0] + ((y[max] - y[min]) / (x[max] - x[min])) * cpu; + console.log('base_rate', base_rate); + console.log('base_cpu', base_cpu); + console.log('ratio', ratio); + console.log('cpu', cpu); + // sum of base_rate + (cpu - base_cpu) * ratio = total rate of cpu usage + wattage = base_rate + (cpu - base_cpu) * ratio; } // duration is in seconds // wattage is in watts From d4b16cd185fe97a696b11890c522488b22c2eb31 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 10:30:30 +0530 Subject: [PATCH 138/199] Adding AWS CCF package Signed-off-by: Gnanakeethan Balasubramaniam --- package.json | 1 + yarn.lock | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index ff583c570..10c76b982 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ ], "dependencies": { "@cloud-carbon-footprint/core": "*", + "@cloud-carbon-footprint/aws": "*", "@types/node": "^20.4.5", "axios": "^1.4.0", "js-yaml": "^4.1.0", diff --git a/yarn.lock b/yarn.lock index 4b3ab4b1e..bde131325 100644 --- a/yarn.lock +++ b/yarn.lock @@ -405,7 +405,7 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cloud-carbon-footprint/aws@^0.14.5": +"@cloud-carbon-footprint/aws@*": version "0.14.5" resolved "https://registry.yarnpkg.com/@cloud-carbon-footprint/aws/-/aws-0.14.5.tgz#47f4fe64cf29186280ee65bcc6c61230615b84ea" integrity sha512-rMZjHYRX+SQfkMSOkyLSHtlLT4xvxMq2BAiUtpCnfdyQsZRM386KyW8ya+7qXVvVGIwxxPOfx72SB3ajS5n5oQ== From beaba5c74763f916df9e399eb6e8e039563b578c Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 4 Sep 2023 14:08:21 +0530 Subject: [PATCH 139/199] Fixes for Interpolation Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 1 + src/lib/teads-aws/index.ts | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index bd0714130..503bf7cf1 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -8,6 +8,7 @@ describe('teads:configure test', () => { test('initialize with params', async () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { + interpolation: Interpolation.LINEAR, instance_type: 't2.micro', }); await expect( diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index a7f8387f4..5d50bb88a 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -22,7 +22,7 @@ export class TeadsAWS implements IImpactModelInterface { // list of all the by Architecture private instanceType = ''; private expectedLifespan = 4; - private interpolation = Interpolation.SPLINE; + private interpolation = Interpolation.LINEAR; constructor() { this.standardizeInstanceMetrics(); @@ -205,10 +205,6 @@ export class TeadsAWS implements IImpactModelInterface { break; } } - console.log('base_rate', base_rate); - console.log('base_cpu', base_cpu); - console.log('ratio', ratio); - console.log('cpu', cpu); // sum of base_rate + (cpu - base_cpu) * ratio = total rate of cpu usage wattage = base_rate + (cpu - base_cpu) * ratio; } From 043d604add394c7aadd8f2ece10f4149a9f5ea98 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Tue, 5 Sep 2023 17:09:05 +0530 Subject: [PATCH 140/199] Configure on each observation Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 5d50bb88a..6854c6fed 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -60,7 +60,7 @@ export class TeadsAWS implements IImpactModelInterface { } else { throw new Error('Instance Type not supported'); } - } else { + } else if (this.instanceType === '') { throw new Error('Instance Type not provided'); } @@ -99,6 +99,7 @@ export class TeadsAWS implements IImpactModelInterface { } return observations.map((observation: KeyValuePair) => { + this.configure(this.name!, observation); const e = this.calculateEnergy(observation); const m = this.embodiedEmissions(observation); observation['energy'] = e; From 67882fdb00d73200dcd4025c68ddf6e802aca967 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:44:40 +0400 Subject: [PATCH 141/199] lib: re-export models from index. --- src/lib/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/index.ts b/src/lib/index.ts index 329c42fa7..4ce7a0522 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,3 +1,6 @@ export * from './boavizta'; export * from './ccf'; export * from './shell-imp'; +export * from './sci-m'; +export * from './sci-o'; +export * from './teads-curve'; From d785ef29af54f6265dc9a92df6856016cd05023c Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:47:27 +0400 Subject: [PATCH 142/199] scripts: in rimpl use model initalization. --- scripts/rimpl.ts | 70 ++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 41 deletions(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index 610f8539d..640307c95 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -1,57 +1,38 @@ import {parseProcessArgument} from '../src/util/args'; import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; - import {Observatory} from '../src/util/observatory'; -import {KeyValuePair} from '../src'; - -/** - * Computes impact based on given `observations` and `params`. - */ -const runPipelineComputer = async ( - observations: any[], - params: any, - pipeline: string[] -) => { - const observatory = new Observatory(observations); - - for (const model of pipeline) { - // better to init model instance here, and pass to observatory - await observatory.doInvestigationsWith(model, params); - } - - return observatory.getObservedImpact(); -}; +import {ModelsUniverse} from '../src/util/models-universe'; /** * For each graph builds params, then passes it to computing fn. */ const calculateImpactsBasedOnGraph = - (graphs: any) => async (service: string) => { - const serviceData = graphs[service]; - const {observations, pipeline} = serviceData; + (impl: any, modelsHandbook: ModelsUniverse) => async (service: string) => { + const serviceData = impl.graph.children[service]; + const {pipeline, observations, config} = serviceData; - /** - * Building params should be optimized to support any model. - * Mock params for boavizta model. - */ - const params: KeyValuePair = { - allocation: 'TOTAL', - verbose: true, - name: observations[0].processor, - core_units: 24, - }; + const observatory = new Observatory(observations); - const impact = await runPipelineComputer(observations, params, pipeline); + for (const model of pipeline) { + const instance: any = await modelsHandbook.initalizedModels[model]( + config[model] + ); - graphs[service].impact = impact; + await observatory.doInvestigationsWith(instance); + } - return graphs[service]; + const impact = observatory.getObservedImpact(); + impl.graph.children[service].impact = impact; + + return impl; }; /** * 1. Parses yml input/output process arguments. * 2. Opens yaml file as an object. - * 3. Saves processed object as an yaml file. + * 3. Initializes models. + * 4. Initializes graph, does computing. + * 5. Saves processed object as a yaml file. * @todo Apply logic here. * @example run following command `npx ts-node scripts/rimpl.ts --impl ./test.yml --ompl ./result.yml` */ @@ -64,12 +45,19 @@ const rimplPOCScript = async () => { throw new Error('No graph data found.'); } - // calculate for single graph - const services = Object.keys(impl.graph); + // Lifecycle Initialize Models + const modelsHandbook = new ModelsUniverse(); + + impl.initialize.models.forEach((model: any) => + modelsHandbook.writeDown(model) + ); - await Promise.all(services.map(calculateImpactsBasedOnGraph(impl.graph))); + // Initialize impact graph/computing + const services = Object.keys(impl.graph.children); - console.log(impl); + await Promise.all( + services.map(calculateImpactsBasedOnGraph(impl, modelsHandbook)) + ); if (!outputPath) { console.log(JSON.stringify(impl)); From 039840aafd9972032ba153e25a0bedb5745f1329 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Wed, 6 Sep 2023 09:48:45 +0400 Subject: [PATCH 143/199] scripts: remove todo in rimple. --- scripts/rimpl.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index 640307c95..d8ba42ffd 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -33,7 +33,6 @@ const calculateImpactsBasedOnGraph = * 3. Initializes models. * 4. Initializes graph, does computing. * 5. Saves processed object as a yaml file. - * @todo Apply logic here. * @example run following command `npx ts-node scripts/rimpl.ts --impl ./test.yml --ompl ./result.yml` */ const rimplPOCScript = async () => { From 5c6d885085b4d7b14658d479d5376cd499a43e5c Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 6 Sep 2023 11:11:14 +0530 Subject: [PATCH 144/199] Update params Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 4 ++++ src/lib/teads-aws/index.ts | 32 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/config/units.yaml b/src/config/units.yaml index cfddcb7e5..7f89666fd 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -42,3 +42,7 @@ expected-lifespan: description: Total Expected Lifespan of the Component in Seconds unit: seconds aggregation: None +instance-type: + description: Type of Cloud Instance name used in the cloud provider APIs + unit: None + aggregation: None diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 6854c6fed..5cea43cdd 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -39,8 +39,8 @@ export class TeadsAWS implements IImpactModelInterface { * Configures the TEADS Plugin for IEF * @param {string} name name of the resource * @param {Object} staticParams static parameters for the resource - * @param {string} staticParams.instance_type instance type from the list of supported instances - * @param {number} staticParams.expected_lifespan expected lifespan of the instance in years + * @param {string} staticParams.instance-type instance type from the list of supported instances + * @param {number} staticParams.expected-lifespan expected lifespan of the instance in years * @param {Interpolation} staticParams.interpolation expected lifespan of the instance in years */ async configure( @@ -53,8 +53,8 @@ export class TeadsAWS implements IImpactModelInterface { throw new Error('Required Parameters not provided'); } - if ('instance_type' in staticParams) { - const instanceType = staticParams?.instance_type as string; + if ('instance-type' in staticParams) { + const instanceType = staticParams['instance-type'] as string; if (instanceType in this.computeInstances) { this.instanceType = instanceType; } else { @@ -64,8 +64,8 @@ export class TeadsAWS implements IImpactModelInterface { throw new Error('Instance Type not provided'); } - if ('expected_lifespan' in staticParams) { - this.expectedLifespan = staticParams?.expected_lifespan as number; + if ('expected-lifespan' in staticParams) { + this.expectedLifespan = staticParams['expected-lifespan'] as number; } if ('interpolation' in staticParams) { @@ -79,10 +79,10 @@ export class TeadsAWS implements IImpactModelInterface { * Calculate the total emissions for a list of observations * * Each Observation require: - * @param {Object[]} observations ISO 8601 datetime string - * @param {string} observations[].datetime ISO 8601 datetime string + * @param {Object[]} observations ISO 8601 timestamp string + * @param {string} observations[].timestamp ISO 8601 timestamp string * @param {number} observations[].duration observation duration in seconds - * @param {number} observations[].cpu percentage cpu usage + * @param {number} observations[].cpu-util percentage cpu usage */ async calculate( observations: object | object[] | undefined @@ -103,7 +103,7 @@ export class TeadsAWS implements IImpactModelInterface { const e = this.calculateEnergy(observation); const m = this.embodiedEmissions(observation); observation['energy'] = e; - observation['embodied'] = m; + observation['embodied-carbon'] = m; return observation; }); } @@ -150,19 +150,19 @@ export class TeadsAWS implements IImpactModelInterface { * requires * * duration: duration of the observation in seconds - * cpu: cpu usage in percentage - * datetime: ISO 8601 datetime string + * cpu-util: cpu usage in percentage + * timestamp: RFC3339 timestamp string * * Uses a spline method for AWS and linear interpolation for GCP and Azure */ private calculateEnergy(observation: KeyValuePair) { if ( !('duration' in observation) || - !('cpu' in observation) || - !('datetime' in observation) + !('cpu-util' in observation) || + !('timestamp' in observation) ) { throw new Error( - 'Required Parameters duration,cpu,datetime not provided for observation' + 'Required Parameters duration,cpu-util,timestamp not provided for observation' ); } @@ -170,7 +170,7 @@ export class TeadsAWS implements IImpactModelInterface { const duration = observation['duration']; // convert cpu usage to percentage - const cpu = observation['cpu']; + const cpu = observation['cpu-util']; // get the wattage for the instance type From 420558d9d26f9e5df153d087265059f90a8baca6 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 6 Sep 2023 11:25:01 +0530 Subject: [PATCH 145/199] Fixing tests Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-aws/index.test.ts | 76 ++++++++++++++++----------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/lib/teads-aws/index.test.ts b/src/lib/teads-aws/index.test.ts index 503bf7cf1..2bdbf69bb 100644 --- a/src/lib/teads-aws/index.test.ts +++ b/src/lib/teads-aws/index.test.ts @@ -9,119 +9,119 @@ describe('teads:configure test', () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { interpolation: Interpolation.LINEAR, - instance_type: 't2.micro', + 'instance-type': 't2.micro', }); await expect( impactModel.calculate([ { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', energy: 0.004900000000000001, - embodied: 0.04216723744292237 * 1000, + 'embodied-carbon': 0.04216723744292237 * 1000, }, ]); }); test('teads:initialize with params: spline', async () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { - instance_type: 'm5n.large', + 'instance-type': 'm5n.large', interpolation: Interpolation.SPLINE, }); await expect( impactModel.calculate([ { duration: 3600, - cpu: 10, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 100, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 10, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10, + timestamp: '2021-01-01T00:00:00Z', energy: 0.0067, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', energy: 0.011800000000000001, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, { duration: 3600, - cpu: 100, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100, + timestamp: '2021-01-01T00:00:00Z', energy: 0.016300000000000002, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, ]); }); test('teads:initialize with params: linear', async () => { const impactModel = new TeadsAWS(); await impactModel.configure('test', { - instance_type: 'm5n.large', + 'instance-type': 'm5n.large', interpolation: Interpolation.LINEAR, }); await expect( impactModel.calculate([ { duration: 3600, - cpu: 10, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 100, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 10, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10, + timestamp: '2021-01-01T00:00:00Z', energy: 0.0067, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, { duration: 3600, - cpu: 50, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50, + timestamp: '2021-01-01T00:00:00Z', energy: 0.011800000000000001, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, { duration: 3600, - cpu: 100, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100, + timestamp: '2021-01-01T00:00:00Z', energy: 0.016300000000000002, - embodied: 91.94006849315068, + 'embodied-carbon': 91.94006849315068, }, ]); }); From 853471dfaf18121ce627988861e0b3d4b50819f4 Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 6 Sep 2023 16:53:36 +0100 Subject: [PATCH 146/199] add gsf website impl --- impls/gsf-website.yaml | 99 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 impls/gsf-website.yaml diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml new file mode 100644 index 000000000..5895886e9 --- /dev/null +++ b/impls/gsf-website.yaml @@ -0,0 +1,99 @@ +name: "Green Software Foundation Website" +description: "https://github.com/Green-Software-Foundation/ief/issues/58" +tags: + kind: website + complexity: moderate + category: cloud +initialize: + models: + - name: sci-coefficient # a model that receives a carbon value and normalizes to R. + kind: builtin + path: '' + - name: sci-serve # a model that calculates carbon from server data. + kind: builtin + path: '' + - name: sci # a model that receives a carbon value and normalizes to R. + kind: builtin + path: '' + - name: co2js # a model that receives a carbon value and normalizes to R. + kind: plugin + path: '...' +graph: + build: + netlify: + pipeline: + - sci-coefficient + config: + sci-coefficient: + time: month + factor: 67 # n builds per month + observations: + series: + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + gh-pages: + pipeline: + - sci-coefficient + config: + sci-coefficient: + time: month + factor: 67 # n builds per month + observations: + series: + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + serving: + netlify: + pipeline: + - sci-serve + config: + sci-serve: + time: month + observations: + series: + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + views-per-user: 2.1 + users: 2000 # unique users in most recent month + gh-pages: + pipeline: + - sci-serve + config: + sci-serve: + time: month + observations: + series: + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + views-per-user: 2.1 + users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s + traffic: + pipeline: + - co2js + - sci + config: + co2js: + kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ + green-hosting: true + sci: + time: month + observations: + series: + - timestamp: 2023-07-06T00:00 + data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s + users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s + browser: + pipeline: + - co2js + - sci + config: + co2js: + kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/ + green-hosting: true + sci: + time: month + observations: + series: + - timestamp: 2023-07-06T00:00 + data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s + users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s \ No newline at end of file From 8bc5d3b6783ebb18d55c8ffbb4bfed8c4ce20e64 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 7 Sep 2023 10:57:54 +0530 Subject: [PATCH 147/199] Update: hotfix cpu-util & timestamp name change Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.test.ts | 80 +++++++++++++++---------------- src/lib/teads-curve/index.ts | 27 ++++++----- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/src/lib/teads-curve/index.test.ts b/src/lib/teads-curve/index.test.ts index 8abe2168c..4df0f57ec 100644 --- a/src/lib/teads-curve/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -13,16 +13,16 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { energy: 0.15, duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', }, ]); }); @@ -35,37 +35,37 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 10.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 100.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100.0, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 10.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.096, }, { duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.225, }, { duration: 3600, - cpu: 100.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.306, }, ]); @@ -80,71 +80,71 @@ describe('teads:configure test', () => { impactModel.calculate([ { duration: 3600, - cpu: 10.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 100.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 15.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 15.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 55.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 55.0, + timestamp: '2021-01-01T00:00:00Z', }, { duration: 3600, - cpu: 75.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 75.0, + timestamp: '2021-01-01T00:00:00Z', }, ]) ).resolves.toStrictEqual([ { duration: 3600, - cpu: 10.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 10.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.096, }, { duration: 3600, - cpu: 50.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 50.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.225, }, { duration: 3600, - cpu: 100.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 100.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.306, }, { duration: 3600, - cpu: 15.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 15.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.11212500000000002, }, { duration: 3600, - cpu: 55.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 55.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.2331, }, { duration: 3600, - cpu: 75.0, - datetime: '2021-01-01T00:00:00Z', + 'cpu-util': 75.0, + timestamp: '2021-01-01T00:00:00Z', energy: 0.2655, }, ]); diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index c5d594a64..bbacddfd6 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -49,10 +49,6 @@ export class TeadsCurveModel implements IImpactModelInterface { if ('tdp' in staticParams) { this.tdp = staticParams?.tdp as number; - } else if (this.tdp === 0) { - throw new Error( - '`tdp` Thermal Design Power not provided. Can not compute energy.' - ); } // if ('curve' in staticParams && 'points' in staticParams) { @@ -77,10 +73,10 @@ export class TeadsCurveModel implements IImpactModelInterface { * Calculate the total emissions for a list of observations * * Each Observation require: - * @param {Object[]} observations RFC3339 datetime string - * @param {string} observations[].datetime RFC3339 datetime string + * @param {Object[]} observations + * @param {string} observations[].timestamp RFC3339 timestamp string * @param {number} observations[].duration observation duration in seconds - * @param {number} observations[].cpu percentage cpu usage + * @param {number} observations[].cpu-util percentage cpu usage */ async calculate( observations: object | object[] | undefined @@ -109,19 +105,19 @@ export class TeadsCurveModel implements IImpactModelInterface { * requires * * duration: duration of the observation in seconds - * cpu: cpu usage in percentage - * datetime: RFC3339 datetime string + * cpu-util: cpu usage in percentage + * timestamp: RFC3339 timestamp string * * Uses a spline method on the teads cpu wattage data */ private calculateEnergy(observation: KeyValuePair) { if ( !('duration' in observation) || - !('cpu' in observation) || - !('datetime' in observation) + !('cpu-util' in observation) || + !('timestamp' in observation) ) { throw new Error( - 'Required Parameters duration,cpu,datetime not provided for observation' + 'Required Parameters duration,cpu-util,timestamp not provided for observation' ); } @@ -129,7 +125,7 @@ export class TeadsCurveModel implements IImpactModelInterface { const duration = observation['duration']; // convert cpu usage to percentage - const cpu = observation['cpu']; + const cpu = observation['cpu-util']; if (cpu < 0 || cpu > 100) { throw new Error('cpu usage must be between 0 and 100'); } @@ -139,6 +135,11 @@ export class TeadsCurveModel implements IImpactModelInterface { if ('tdp' in observation) { tdp = observation['tdp'] as number; } + if (tdp === 0) { + throw new Error( + '`tdp` Thermal Design Power not provided. Can not compute energy.' + ); + } let wattage = 0.0; if (this.interpolation === Interpolation.SPLINE) { From 68e9f0a6dfa96a12fe1fb64f20eeda03a44c3236 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 7 Sep 2023 11:07:44 +0530 Subject: [PATCH 148/199] Fix boavizta to latest spec name changes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/boavizta/index.test.ts | 46 +++++++++++++++++----------------- src/lib/boavizta/index.ts | 35 ++++++++++++++++---------- 2 files changed, 45 insertions(+), 36 deletions(-) diff --git a/src/lib/boavizta/index.test.ts b/src/lib/boavizta/index.test.ts index 4e188c664..c1bdb4f11 100644 --- a/src/lib/boavizta/index.test.ts +++ b/src/lib/boavizta/index.test.ts @@ -57,7 +57,7 @@ describe('cpu:configure test', () => { const impactModel = new BoaviztaCpuImpactModel(); await expect(impactModel.configure('test')).rejects.toThrow( - Error('Improper configure: Missing name parameter') + Error('Improper configure: Missing processor parameter') ); expect(impactModel.name).toBe('test'); // not providing observations will throw a missing observations error @@ -80,8 +80,8 @@ describe('cpu:initialize with params', () => { const impactModel = new BoaviztaCpuImpactModel(); await expect( impactModel.configure('test', { - name: 'Intel Xeon Gold 6138f', - core_units: 24, + processor: 'Intel Xeon Gold 6138f', + 'core-units': 24, location: 'USA', }) ).resolves.toBeInstanceOf(BoaviztaCpuImpactModel); @@ -90,9 +90,9 @@ describe('cpu:initialize with params', () => { await expect( impactModel.calculate([ { - datetime: '2021-01-01T00:00:00Z', + timestamp: '2021-01-01T00:00:00Z', duration: 3600, - cpu: 0.5, + 'cpu-util': 0.5, }, ]) ).resolves.toStrictEqual([ @@ -134,9 +134,9 @@ describe('cloud:initialize with params', () => { await expect( impactModel.calculate([ { - datetime: '2021-01-01T00:00:00Z', + timestamp: '2021-01-01T00:00:00Z', duration: 15, - cpu: 0.34, + 'cpu-util': 0.34, }, ]) ).resolves.toStrictEqual([ @@ -162,24 +162,24 @@ describe('cloud:initialize with params', () => { await expect( impactModel.calculate([ { - datetime: '2021-01-01T00:00:00Z', + timestamp: '2021-01-01T00:00:00Z', duration: 15, - cpu: 0.34, + 'cpu-util': 0.34, }, { - datetime: '2021-01-01T00:00:15Z', + timestamp: '2021-01-01T00:00:15Z', duration: 15, - cpu: 0.12, + 'cpu-util': 0.12, }, { - datetime: '2021-01-01T00:00:30Z', + timestamp: '2021-01-01T00:00:30Z', duration: 15, - cpu: 0.01, + 'cpu-util': 0.01, }, { - datetime: '2021-01-01T00:00:45Z', + timestamp: '2021-01-01T00:00:45Z', duration: 15, - cpu: 0.78, + 'cpu-util': 0.78, }, ]) ).rejects.toThrowError(); @@ -201,24 +201,24 @@ describe('cloud:initialize with params', () => { await expect( impactModel.calculate([ { - datetime: '2021-01-01T00:00:00Z', + timestamp: '2021-01-01T00:00:00Z', duration: 15, - cpu: 0.34, + 'cpu-util': 0.34, }, { - datetime: '2021-01-01T00:00:15Z', + timestamp: '2021-01-01T00:00:15Z', duration: 15, - cpu: 0.12, + 'cpu-util': 0.12, }, { - datetime: '2021-01-01T00:00:30Z', + timestamp: '2021-01-01T00:00:30Z', duration: 15, - cpu: 0.01, + 'cpu-util': 0.01, }, { - datetime: '2021-01-01T00:00:45Z', + timestamp: '2021-01-01T00:00:45Z', duration: 15, - cpu: 0.78, + 'cpu-util': 0.78, }, ]) ).rejects.toStrictEqual( diff --git a/src/lib/boavizta/index.ts b/src/lib/boavizta/index.ts index 35e0b07ef..82d62511b 100644 --- a/src/lib/boavizta/index.ts +++ b/src/lib/boavizta/index.ts @@ -23,8 +23,8 @@ const {CPU_IMPACT_MODEL_ID, CLOUD_IMPACT_MODEL_ID} = Index; abstract class BoaviztaImpactModel implements IImpactModelInterface { name: string | undefined; sharedParams: object | undefined = undefined; - metricType: 'cpu' | 'gpu' | 'ram' = 'cpu'; - expectedLifespan = 4; + metricType: 'cpu-util' | 'gpu-util' | 'ram-util' = 'cpu-util'; + expectedLifespan = 4 * 365 * 24 * 60 * 60; protected authCredentials: object | undefined; authenticate(authParams: object) { @@ -62,7 +62,8 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { hours_use_time: duration / 3600.0, time_workload: metric * 100.0, }; - usageInput['years_life_time'] = this.expectedLifespan; + usageInput['years_life_time'] = + this.expectedLifespan / (365.0 * 24.0 * 60.0 * 60.0); usageInput = this.addLocationToUsage(usageInput); return usageInput; @@ -129,7 +130,7 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { observation: KeyValuePair ): Promise { if ( - 'datetime' in observation && + 'timestamp' in observation && 'duration' in observation && this.metricType in observation ) { @@ -158,7 +159,7 @@ export class BoaviztaCpuImpactModel constructor() { super(); - this.metricType = 'cpu'; + this.metricType = 'cpu-util'; this.componentType = 'cpu'; } @@ -188,16 +189,16 @@ export class BoaviztaCpuImpactModel staticParams.verbose = undefined; } - if (!('name' in staticParams)) { - throw new Error('Improper configure: Missing name parameter'); + if (!('processor' in staticParams)) { + throw new Error('Improper configure: Missing processor parameter'); } - if (!('core_units' in staticParams)) { - throw new Error('Improper configure: Missing core_units parameter'); + if (!('core-units' in staticParams)) { + throw new Error('Improper configure: Missing core-units parameter'); } - if ('expected_lifespan' in staticParams) { - this.expectedLifespan = staticParams.expected_lifespan as number; + if ('expected-lifespan' in staticParams) { + this.expectedLifespan = staticParams['expected-lifespan'] as number; } this.sharedParams = Object.assign({}, staticParams); @@ -311,6 +312,14 @@ export class BoaviztaCloudImpactModel } const dataCast = this.sharedParams as KeyValuePair; + for (const key in dataCast) { + // replace - with _ in keys + if (key.includes('-')) { + const newKey = key.replace(/-/g, '_'); + dataCast[newKey] = dataCast[key]; + delete dataCast[key]; + } + } dataCast['usage'] = usageData; const response = await axios.post( `https://api.boavizta.org/v1/cloud/?verbose=${this.verbose}&allocation=${this.allocation}`, @@ -331,8 +340,8 @@ export class BoaviztaCloudImpactModel await this.validateInstanceType(staticParams); // if no valid location found, throw error await this.validateLocation(staticParams); - if ('expected_lifespan' in staticParams) { - this.expectedLifespan = staticParams.expected_lifespan as number; + if ('expected-lifespan' in staticParams) { + this.expectedLifespan = staticParams['expected-lifespan'] as number; } this.sharedParams = Object.assign({}, staticParams); From 93fe2c22e9a66de6c1f1c1022a854c8b6e3d5e76 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 7 Sep 2023 12:58:43 +0530 Subject: [PATCH 149/199] authentication against watt-time complete using env variables as well Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.test.ts | 21 +++++++++++ src/lib/watt-time/index.ts | 66 +++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 src/lib/watt-time/index.test.ts create mode 100644 src/lib/watt-time/index.ts diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts new file mode 100644 index 000000000..8ffcc860c --- /dev/null +++ b/src/lib/watt-time/index.test.ts @@ -0,0 +1,21 @@ +import {describe, expect, jest, test} from '@jest/globals'; +import {WattTimeGridEmissions} from './index'; +jest.setTimeout(30000); + +describe('watt-time:configure test', () => { + test('initialize and test', async () => { + const model = await new WattTimeGridEmissions().configure('watt-time', {}); + await model.authenticate({ + username: 'ENV_USERNAME', + password: 'ENV_PASSWORD', + }); + expect(model).toBeInstanceOf(WattTimeGridEmissions); + // await expect( + // model.calculate([ + // { + // sa, + // }, + // ]) + // ).resolves.toStrictEqual([{}]); + }); +}); diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts new file mode 100644 index 000000000..3633df251 --- /dev/null +++ b/src/lib/watt-time/index.ts @@ -0,0 +1,66 @@ +import {IImpactModelInterface} from '../interfaces'; +import {KeyValuePair} from '../../types/boavizta'; +import axios from 'axios'; + +export class WattTimeGridEmissions implements IImpactModelInterface { + authParams: object | undefined = undefined; + token = ''; + staticParams: object | undefined; + name: string | undefined; + baseUrl = 'https://api2.watttime.org/v2'; + + async authenticate(authParams: object): Promise { + this.token = 'token' in authParams ? (authParams['token'] as string) : ''; + if (this.token.startsWith('ENV_')) { + this.token = process.env[this.token.slice(4)] ?? ''; + } + if (this.token === '') { + let username = + 'username' in authParams ? (authParams['username'] as string) : ''; + let password = + 'password' in authParams ? (authParams['password'] as string) : ''; + if (username.startsWith('ENV_')) { + username = process.env[username.slice(4)] ?? ''; + } + if (password.startsWith('ENV_')) { + password = process.env[password.slice(4)] ?? ''; + } + if (username === '' || password === '') { + throw new Error('Missing username or password & token'); + } + const tokenResponse = await axios.get(this.baseUrl + '/login', { + auth: { + username, + password, + }, + }); + this.token = tokenResponse.data.token; + } + } + + async calculate( + observations: object | object[] | undefined + ): Promise { + if (!Array.isArray(observations)) { + throw new Error('observations should be an array'); + } + observations.map((observation: KeyValuePair) => { + return observation; + }); + + return Promise.resolve(observations); + } + + async configure( + name: string, + staticParams: object | undefined + ): Promise { + this.staticParams = staticParams; + this.name = name; + return this; + } + + modelIdentifier(): string { + return 'org.wattime.grid'; + } +} From 48ca4aeb9600905b9ef0fc3a9c38ab8bc2acb776 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 7 Sep 2023 13:12:01 +0530 Subject: [PATCH 150/199] Request completed Signed-off-by: Gnanakeethan Balasubramaniam --- package.json | 2 ++ src/lib/watt-time/index.ts | 32 +++++++++++++++++++++++++++++++- yarn.lock | 5 +++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b7cf037fb..e8fce7bc2 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "typescript-cubic-spline", "js-yaml", "@types/node", + "dayjs", "ts-command-line-args" ], "dependencies": { @@ -23,6 +24,7 @@ "@cloud-carbon-footprint/core": "*", "@types/node": "^20.4.5", "axios": "^1.4.0", + "dayjs": "^1.11.9", "js-yaml": "^4.1.0", "node-fetch": "^3.3.1", "ts-command-line-args": "^2.5.1", diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index 3633df251..e04d92fba 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -1,7 +1,7 @@ import {IImpactModelInterface} from '../interfaces'; import {KeyValuePair} from '../../types/boavizta'; import axios from 'axios'; - +import * as dayjs from 'dayjs'; export class WattTimeGridEmissions implements IImpactModelInterface { authParams: object | undefined = undefined; token = ''; @@ -51,6 +51,36 @@ export class WattTimeGridEmissions implements IImpactModelInterface { return Promise.resolve(observations); } + async fetchData(observation: KeyValuePair) { + if (!('location' in observation)) { + throw new Error('location is missing'); + } + if ( + !('latitude' in observation.location) || + !('longitude' in observation.location) + ) { + throw new Error('latitude or longitude is missing'); + } + if (!('timestamp' in observation)) { + throw new Error('timestamp is missing'); + } + if (!('duration' in observation)) { + throw new Error('duration is missing'); + } + + axios.get(this.baseUrl + '/data', { + params: { + latitude: observation.location.latitude, + longitude: observation.location.longitude, + starttime: dayjs(observation.timestamp).format('YYYY-MM-DDTHH:mm:ssZ'), + endtime: dayjs(observation.timestamp).add( + observation.duration, + 'seconds' + ), + }, + }); + } + async configure( name: string, staticParams: object | undefined diff --git a/yarn.lock b/yarn.lock index 4b3ab4b1e..fda22e0ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1874,6 +1874,11 @@ date-format@^4.0.14: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== +dayjs@^1.11.9: + version "1.11.9" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a" + integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== + debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" From 01197f7cc0160814ec7e3809887314081988e2b0 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Thu, 7 Sep 2023 14:04:51 +0400 Subject: [PATCH 151/199] scripts: in rimpl apply config copy. --- scripts/rimpl.ts | 53 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index d8ba42ffd..46a677454 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -3,26 +3,49 @@ import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; import {Observatory} from '../src/util/observatory'; import {ModelsUniverse} from '../src/util/models-universe'; +/** + * Flattens config entries. + */ +const flattenConfigValues = (config: any) => { + const configModelNames = Object.keys(config); + const values = configModelNames.reduce((acc: any, name: string) => { + acc = { + ...acc, + ...config[name], + }; + + return acc; + }, {}); + + return values; +}; + /** * For each graph builds params, then passes it to computing fn. */ const calculateImpactsBasedOnGraph = - (impl: any, modelsHandbook: ModelsUniverse) => async (service: string) => { - const serviceData = impl.graph.children[service]; - const {pipeline, observations, config} = serviceData; + (impl: any, modelsHandbook: ModelsUniverse) => + async (childrenName: string) => { + const child = impl.graph.children[childrenName]; + const {pipeline, observations, config} = child; + + const extendedObservations = observations.map((observation: any) => ({ + ...observation, + ...flattenConfigValues, + })); - const observatory = new Observatory(observations); + const observatory = new Observatory(extendedObservations); - for (const model of pipeline) { - const instance: any = await modelsHandbook.initalizedModels[model]( - config[model] - ); + for (const modelName of pipeline) { + const modelInstance: any = await modelsHandbook.initalizedModels[ + modelName + ](config && config[modelName]); - await observatory.doInvestigationsWith(instance); + await observatory.doInvestigationsWith(modelInstance); } - const impact = observatory.getObservedImpact(); - impl.graph.children[service].impact = impact; + const impacts = observatory.getImpacts(); + impl.graph.children[childrenName].impacts = impacts; return impl; }; @@ -35,7 +58,7 @@ const calculateImpactsBasedOnGraph = * 5. Saves processed object as a yaml file. * @example run following command `npx ts-node scripts/rimpl.ts --impl ./test.yml --ompl ./result.yml` */ -const rimplPOCScript = async () => { +const rimplScript = async () => { try { const {inputPath, outputPath} = parseProcessArgument(); const impl = await openYamlFileAsObject(inputPath); @@ -52,10 +75,10 @@ const rimplPOCScript = async () => { ); // Initialize impact graph/computing - const services = Object.keys(impl.graph.children); + const childrenNames = Object.keys(impl.graph.children); await Promise.all( - services.map(calculateImpactsBasedOnGraph(impl, modelsHandbook)) + childrenNames.map(calculateImpactsBasedOnGraph(impl, modelsHandbook)) ); if (!outputPath) { @@ -69,4 +92,4 @@ const rimplPOCScript = async () => { } }; -rimplPOCScript(); +rimplScript(); From a6236cd696b0d84d9520bf0c3e9bfb342aca6cd1 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Thu, 7 Sep 2023 14:09:29 +0400 Subject: [PATCH 152/199] util: fix models universe params. --- src/util/models-universe.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/util/models-universe.ts b/src/util/models-universe.ts index 7bd8ab880..74dec9d3e 100644 --- a/src/util/models-universe.ts +++ b/src/util/models-universe.ts @@ -60,9 +60,9 @@ export class ModelsUniverse { } /** - * Gets model based on `kind` and `name` params. + * Gets model based on `name` and `kind` params. */ - private handModelByCriteria(kind: string, name: string) { + private handModelByCriteria(name: string, kind: string) { switch (kind) { case 'builtin': return this.handBuiltinModel(name); @@ -82,11 +82,13 @@ export class ModelsUniverse { const {name, kind, config} = model; const Model = this.handModelByCriteria(name, kind); + const callback = async (graphOptions: GraphOptions) => { const params = { ...config, ...graphOptions, }; + const initalizedModel = await new Model().configure('test', params); return initalizedModel; From 2b4b3c2141e9af97c30909c8cf252d1a1527e0c1 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Thu, 7 Sep 2023 14:10:01 +0400 Subject: [PATCH 153/199] util: fix naming patterns for observatory. --- src/util/observatory.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/observatory.ts b/src/util/observatory.ts index 5b6cab77a..2e90189ad 100644 --- a/src/util/observatory.ts +++ b/src/util/observatory.ts @@ -5,7 +5,7 @@ import {IImpactModelInterface} from '../lib'; */ export class Observatory { private observations: any[]; - private impact: any[]; + private impact: any[] = []; /** * Init observations object. @@ -33,14 +33,14 @@ export class Observatory { /** * Getter for observation data. */ - public getObservationsData() { + public getObservations() { return this.observations; } /** * Getter for impact data. */ - public getObservedImpact() { + public getImpacts() { return this.impact; } } From a93a7dcd5614e1a8ace61abcda786bbc39da4e7e Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Thu, 7 Sep 2023 16:32:48 +0530 Subject: [PATCH 154/199] Fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.test.ts | 19 ++++++++++------- src/lib/watt-time/index.ts | 37 ++++++++++++++++++++------------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts index 8ffcc860c..f25e93887 100644 --- a/src/lib/watt-time/index.test.ts +++ b/src/lib/watt-time/index.test.ts @@ -10,12 +10,17 @@ describe('watt-time:configure test', () => { password: 'ENV_PASSWORD', }); expect(model).toBeInstanceOf(WattTimeGridEmissions); - // await expect( - // model.calculate([ - // { - // sa, - // }, - // ]) - // ).resolves.toStrictEqual([{}]); + await expect( + model.calculate([ + { + location: { + latitude: 37.7749, + longitude: -122.4194, + }, + timestamp: '2021-01-01T00:00:00Z', + duration: 3600, + }, + ]) + ).resolves.toStrictEqual([{}]); }); }); diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index e04d92fba..a1be767bf 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -2,6 +2,7 @@ import {IImpactModelInterface} from '../interfaces'; import {KeyValuePair} from '../../types/boavizta'; import axios from 'axios'; import * as dayjs from 'dayjs'; + export class WattTimeGridEmissions implements IImpactModelInterface { authParams: object | undefined = undefined; token = ''; @@ -40,13 +41,17 @@ export class WattTimeGridEmissions implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } - observations.map((observation: KeyValuePair) => { - return observation; - }); + observations = await Promise.all( + observations.map(async (observation: KeyValuePair) => { + const result = await this.fetchData(observation); + console.log(result); + return result; + }) + ); return Promise.resolve(observations); } @@ -67,18 +72,20 @@ export class WattTimeGridEmissions implements IImpactModelInterface { if (!('duration' in observation)) { throw new Error('duration is missing'); } - - axios.get(this.baseUrl + '/data', { - params: { - latitude: observation.location.latitude, - longitude: observation.location.longitude, - starttime: dayjs(observation.timestamp).format('YYYY-MM-DDTHH:mm:ssZ'), - endtime: dayjs(observation.timestamp).add( - observation.duration, - 'seconds' - ), - }, + const params = { + latitude: observation.location.latitude, + longitude: observation.location.longitude, + starttime: dayjs(observation.timestamp).format('YYYY-MM-DDTHH:mm:ssZ'), + endtime: dayjs(observation.timestamp).add( + observation.duration, + 'seconds' + ), + }; + const result = await axios.get(this.baseUrl + '/data', { + params, }); + console.log(result); + return observation; } async configure( From 5546342c4a3145b00111e468d8c02621f9258463 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Thu, 7 Sep 2023 15:09:20 +0400 Subject: [PATCH 155/199] scripts: call flatten config values. --- scripts/rimpl.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index 46a677454..c1e988f8c 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -31,7 +31,7 @@ const calculateImpactsBasedOnGraph = const extendedObservations = observations.map((observation: any) => ({ ...observation, - ...flattenConfigValues, + ...flattenConfigValues(config), })); const observatory = new Observatory(extendedObservations); From 5f73dd11b465403f4eff2bd4114575cf8fce7fc0 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 04:55:55 +0530 Subject: [PATCH 156/199] Completing the API Integration. Mocking Axios pending Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.test.ts | 12 ++++++++++- src/lib/watt-time/index.ts | 38 +++++++++++++++++++++++++++------ 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts index f25e93887..d26431d1e 100644 --- a/src/lib/watt-time/index.test.ts +++ b/src/lib/watt-time/index.test.ts @@ -21,6 +21,16 @@ describe('watt-time:configure test', () => { duration: 3600, }, ]) - ).resolves.toStrictEqual([{}]); + ).resolves.toStrictEqual([ + { + location: { + latitude: 37.7749, + longitude: -122.4194, + }, + timestamp: '2021-01-01T00:00:00Z', + duration: 3600, + 'grid-ci': 2096.256940667132, + }, + ]); }); }); diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index a1be767bf..5f2ece105 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -48,7 +48,6 @@ export class WattTimeGridEmissions implements IImpactModelInterface { observations = await Promise.all( observations.map(async (observation: KeyValuePair) => { const result = await this.fetchData(observation); - console.log(result); return result; }) ); @@ -72,19 +71,46 @@ export class WattTimeGridEmissions implements IImpactModelInterface { if (!('duration' in observation)) { throw new Error('duration is missing'); } + let duration = observation.duration; + // WattTime API only supports up to 32 days + if (duration > 32 * 24 * 60 * 60) { + throw new Error('duration is too long'); + } const params = { latitude: observation.location.latitude, longitude: observation.location.longitude, starttime: dayjs(observation.timestamp).format('YYYY-MM-DDTHH:mm:ssZ'), - endtime: dayjs(observation.timestamp).add( - observation.duration, - 'seconds' - ), + endtime: dayjs(observation.timestamp).add(duration, 'seconds'), }; const result = await axios.get(this.baseUrl + '/data', { params, + headers: { + Authorization: `Bearer ${this.token}`, + }, + }); + result.data.sort((a: any, b: any) => { + return dayjs(a.point_time).unix() > dayjs(b.point_time).unix() ? 1 : -1; }); - console.log(result); + // console.log(result.data.length); + let datapoints = 0; + let cumulative_emission = 0; + for (const row of result.data) { + if (row) { + // console.log(row); + duration -= row.frequency; + // lbs/MWh to kg/MWh to g/kWh (kg/MWh == g/kWh as a ratio) + const grid_emission = row.value / 0.45359237; + // console.log('emissions raw:', row.value); + // convert to kg/kWh by dividing by 1000. (1MWh = 1000kWh) + // convert to g/kWh by multiplying by 1000. (1kg = 1000g) + // hence each other cancel out and g/kWh is the same as kg/MWh + cumulative_emission += grid_emission; + datapoints++; + } + } + // observation['grid-emission'] = cumulative_emission; + // observation['grid-points'] = datapoints; + observation['grid-ci'] = cumulative_emission / datapoints; return observation; } From 5b6d31bfe6ba34cffe0439bd351eebbae11a8d04 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 06:11:15 +0530 Subject: [PATCH 157/199] remove authenticate call from test Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.test.ts | 3 +-- src/lib/watt-time/index.ts | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts index d26431d1e..8a32e5497 100644 --- a/src/lib/watt-time/index.test.ts +++ b/src/lib/watt-time/index.test.ts @@ -4,8 +4,7 @@ jest.setTimeout(30000); describe('watt-time:configure test', () => { test('initialize and test', async () => { - const model = await new WattTimeGridEmissions().configure('watt-time', {}); - await model.authenticate({ + const model = await new WattTimeGridEmissions().configure('watt-time', { username: 'ENV_USERNAME', password: 'ENV_PASSWORD', }); diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index 5f2ece105..544453552 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -120,6 +120,10 @@ export class WattTimeGridEmissions implements IImpactModelInterface { ): Promise { this.staticParams = staticParams; this.name = name; + if (!staticParams) { + throw new Error('Missing staticParams'); + } + await this.authenticate(staticParams); return this; } From bfedd53de29a2d295e71f0de306e1925d25e4577 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 06:22:16 +0530 Subject: [PATCH 158/199] Jest mocking complete for watt-time data Signed-off-by: Gnanakeethan Balasubramaniam --- src/__mocks__/watt-time/data.json | 119 ++++++++++++++++++++++++++++++ src/lib/watt-time/index.test.ts | 20 +++++ src/lib/watt-time/index.ts | 1 + 3 files changed, 140 insertions(+) create mode 100644 src/__mocks__/watt-time/data.json diff --git a/src/__mocks__/watt-time/data.json b/src/__mocks__/watt-time/data.json new file mode 100644 index 000000000..1522e68df --- /dev/null +++ b/src/__mocks__/watt-time/data.json @@ -0,0 +1,119 @@ +[ + { + "point_time": "2021-01-01T01:00:00.000Z", + "value": 942, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:55:00.000Z", + "value": 931, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:50:00.000Z", + "value": 930, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:45:00.000Z", + "value": 930, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:40:00.000Z", + "value": 927, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:35:00.000Z", + "value": 934, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:30:00.000Z", + "value": 933, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:25:00.000Z", + "value": 934, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:20:00.000Z", + "value": 935, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:15:00.000Z", + "value": 986, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:10:00.000Z", + "value": 989, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:05:00.000Z", + "value": 993, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + }, + { + "point_time": "2021-01-01T00:00:00.000Z", + "value": 997, + "frequency": 300, + "market": "RTM", + "ba": "CAISO_NORTH", + "datatype": "MOER", + "version": "3.2" + } +] diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts index 8a32e5497..c47aaa54e 100644 --- a/src/lib/watt-time/index.test.ts +++ b/src/lib/watt-time/index.test.ts @@ -1,7 +1,27 @@ import {describe, expect, jest, test} from '@jest/globals'; import {WattTimeGridEmissions} from './index'; +import * as DATA from '../../__mocks__/watt-time/data.json'; +import axios from 'axios'; + jest.setTimeout(30000); +jest.mock('axios'); +const mockAxios = axios as jest.Mocked; +// Mock out all top level functions, such as get, put, delete and post: +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +mockAxios.get.mockImplementation(url => { + switch (url) { + case 'https://api2.watttime.org/v2/login': + return Promise.resolve({ + data: { + token: 'test_token', + }, + }); + case 'https://api2.watttime.org/v2/data': + return Promise.resolve({data: DATA}); + } +}); describe('watt-time:configure test', () => { test('initialize and test', async () => { const model = await new WattTimeGridEmissions().configure('watt-time', { diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index 544453552..219e3654b 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -88,6 +88,7 @@ export class WattTimeGridEmissions implements IImpactModelInterface { Authorization: `Bearer ${this.token}`, }, }); + // console.log(JSON.stringify(result.data, null, 2)); result.data.sort((a: any, b: any) => { return dayjs(a.point_time).unix() > dayjs(b.point_time).unix() ? 1 : -1; }); From 0c95757fcd7113992285e2d6f02ddf07e5de3d26 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 06:24:16 +0530 Subject: [PATCH 159/199] remove env conditional for testing Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/watt-time/index.test.ts b/src/lib/watt-time/index.test.ts index c47aaa54e..f10704678 100644 --- a/src/lib/watt-time/index.test.ts +++ b/src/lib/watt-time/index.test.ts @@ -25,8 +25,8 @@ mockAxios.get.mockImplementation(url => { describe('watt-time:configure test', () => { test('initialize and test', async () => { const model = await new WattTimeGridEmissions().configure('watt-time', { - username: 'ENV_USERNAME', - password: 'ENV_PASSWORD', + username: 'test1', + password: 'test2', }); expect(model).toBeInstanceOf(WattTimeGridEmissions); await expect( From 7d1947b3f3532740a03c1e750183817b99965680 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 06:32:28 +0530 Subject: [PATCH 160/199] Fixing documentation Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/Readme.md | 2 ++ docs/implementations/watt-time.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 docs/implementations/watt-time.md diff --git a/docs/implementations/Readme.md b/docs/implementations/Readme.md index fc3e9ff70..393dd1ae8 100644 --- a/docs/implementations/Readme.md +++ b/docs/implementations/Readme.md @@ -1,3 +1,5 @@ # Implementations [CCF](./ccf.md) - Cloud Carbon Footprint Impact Plugin Documentation + +[WattTime](./watttime.md) - WattTime Impact Plugin Documentation diff --git a/docs/implementations/watt-time.md b/docs/implementations/watt-time.md new file mode 100644 index 000000000..7b1dcd746 --- /dev/null +++ b/docs/implementations/watt-time.md @@ -0,0 +1,15 @@ +# WattTime Grid Emissions Model + +# Introduction + +WattTime technology—based on real-time grid data, cutting-edge algorithms, and machine learning—provides first-of-its-kind insight into your local electricity grid’s marginal emissions rate. [Read More...](https://www.watttime.org/api-documentation/#introduction) + + +# Scope + +WattTime Model provides a way to calculate emissions for a given time in a specific location. + +The model is based on the WattTime API. The model uses the following inputs: +* location: Location of the software system ({latitude:0.0, longitude:0.0}) +* timestamp: Timestamp of the recorded event (2021-01-01T00:00:00Z) RFC3339 +* duration: Duration of the recorded event in seconds (3600) From dd64bcc980b2785ae719e2c35b68eab605df447b Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 8 Sep 2023 12:37:19 +0400 Subject: [PATCH 161/199] util: init rimpl helpers. --- src/util/rimpl-helpers.ts | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/util/rimpl-helpers.ts diff --git a/src/util/rimpl-helpers.ts b/src/util/rimpl-helpers.ts new file mode 100644 index 000000000..cca841767 --- /dev/null +++ b/src/util/rimpl-helpers.ts @@ -0,0 +1,52 @@ +import {ModelsUniverse} from './models-universe'; +import {Observatory} from './observatory'; + +/** + * Flattens config entries. + */ +export const flattenConfigValues = (config: any) => { + const configModelNames = Object.keys(config); + const values = configModelNames.reduce((acc: any, name: string) => { + acc = { + ...acc, + ...config[name], + }; + + return acc; + }, {}); + + return values; +}; + +/** + * For each graph builds params, then passes it to computing fn. + * Appends model config to each observation, then passes that information to Observatory. + * Then starts doing investigations for each model from pipeline. + * Grabs the result and returns it. + */ +export const calculateImpactsBasedOnGraph = + (impl: any, modelsHandbook: ModelsUniverse) => + async (childrenName: string) => { + const child = impl.graph.children[childrenName]; + const {pipeline, observations, config} = child; + + const extendedObservations = observations.map((observation: any) => ({ + ...observation, + ...flattenConfigValues(config), + })); + + const observatory = new Observatory(extendedObservations); + + for (const modelName of pipeline) { + const modelInstance: any = await modelsHandbook.initalizedModels[ + modelName + ](config && config[modelName]); + + await observatory.doInvestigationsWith(modelInstance); + } + + const impacts = observatory.getImpacts(); + impl.graph.children[childrenName].impacts = impacts; + + return impl; + }; From 190b8e203e603a667f128dba569c44e196e46c9e Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 8 Sep 2023 12:37:47 +0400 Subject: [PATCH 162/199] scripts: extract functions to helper. --- scripts/rimpl.ts | 51 ++---------------------------------------------- 1 file changed, 2 insertions(+), 49 deletions(-) diff --git a/scripts/rimpl.ts b/scripts/rimpl.ts index c1e988f8c..c49584f79 100644 --- a/scripts/rimpl.ts +++ b/scripts/rimpl.ts @@ -1,54 +1,7 @@ import {parseProcessArgument} from '../src/util/args'; -import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; -import {Observatory} from '../src/util/observatory'; import {ModelsUniverse} from '../src/util/models-universe'; - -/** - * Flattens config entries. - */ -const flattenConfigValues = (config: any) => { - const configModelNames = Object.keys(config); - const values = configModelNames.reduce((acc: any, name: string) => { - acc = { - ...acc, - ...config[name], - }; - - return acc; - }, {}); - - return values; -}; - -/** - * For each graph builds params, then passes it to computing fn. - */ -const calculateImpactsBasedOnGraph = - (impl: any, modelsHandbook: ModelsUniverse) => - async (childrenName: string) => { - const child = impl.graph.children[childrenName]; - const {pipeline, observations, config} = child; - - const extendedObservations = observations.map((observation: any) => ({ - ...observation, - ...flattenConfigValues(config), - })); - - const observatory = new Observatory(extendedObservations); - - for (const modelName of pipeline) { - const modelInstance: any = await modelsHandbook.initalizedModels[ - modelName - ](config && config[modelName]); - - await observatory.doInvestigationsWith(modelInstance); - } - - const impacts = observatory.getImpacts(); - impl.graph.children[childrenName].impacts = impacts; - - return impl; - }; +import {calculateImpactsBasedOnGraph} from '../src/util/rimpl-helpers'; +import {openYamlFileAsObject, saveYamlFileAs} from '../src/util/yaml'; /** * 1. Parses yml input/output process arguments. From f3f2e3e3af024261324b040b26c9635acfbfca4f Mon Sep 17 00:00:00 2001 From: jmc Date: Fri, 8 Sep 2023 10:06:39 +0100 Subject: [PATCH 163/199] adds draft impl for metrics-exporter --- impls/azure-yassine.yaml | 67 ++++++++++++++++++++++++++++++++++++++++ impls/dow_msft.yaml | 20 +++++++----- 2 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 impls/azure-yassine.yaml diff --git a/impls/azure-yassine.yaml b/impls/azure-yassine.yaml new file mode 100644 index 000000000..8f0c182b4 --- /dev/null +++ b/impls/azure-yassine.yaml @@ -0,0 +1,67 @@ +name: azure-metrics +description: "https://github.com/yelghali/imapct-engine-framework/blob/main/src/lib/components/azure_vm.py" +tags: +initialize: + models: + - name: metrics-exporter # model that grabs Azure metrics and uses them to enrich confg and obs in impl + kind: plugin + verbose: false + path: /usr/local/bin + - name: teads-cpu # a model that returns an embodied value given the sci embodied attribution equation. + kind: builtin + verbose: false + path: '' + - name: e-mem # a model that calculates e for memory utilization (0.38 * mem_util) + kind: builtin + path: '' + - name: sci-e # sums e components (can be e_cpu, e_gpu, e_mem, e_network) - in this case e-mem and e_cpu from teads + kind: builtin + path: '' + - name: sci-m # a model that calculates m from te, tir, el, rr and rtor + kind: builtin + verbose: false + path: '' + - name: sci-o # takes in total e and outputs operational emissions + kind: builtin + verbose: false + path: '' + - name: sci # a model that sums sci-o + sci-m and applies functional unit + kind: builtin + verbose: false + path: '' +# Single observation +graph: + backend: # an advanced grouping node + pipeline: + - metrics-exporter - # grabs obs from azure-sdk and enriches impl + - teads-cpu # tdp & cpu -> energy + - e-mem # calculates energy used by memory as component of sci-m + - sci-m # duration & config -> embodied + - sci-e # sums e components (can be e_cpu, e_gpu, e_mem, e_network) - in this case e-mem and e_cpu from teads + - sci-o # takes in total e and outputs operational emissions + - sci # sum sci-m and sci-o and apply functional unit + config: + vendor: azure + region: east-us # lookup carbon intensity from region + e-mem: + mem_allocation: 32 # GB + mem-energy: 0.38 # kwh/GB + sci-m: + te: 1200 # kgCO2eq + tr: 3600 # 1hr in s + el: 126144000 # 4 years in seconds + rr: 2 + tor: 16 + sci-e: + i: 100 # gCO2e/kWh + sci: + time: hour # signal to convert /s -> /hr + factor: 32000 + observations: + - timestamp: 2023-07-06T00:00 + duration: 86400 # 1 day + subscription-id: c60d99da-0c45-4dfa-bc21-87e3c4cb4716 + resource-group: my-application + name: batch-servers + observation-window: 3600 # 1 min buckets + diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 7ceea3e4a..48edc5b24 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -10,18 +10,21 @@ initialize: kind: builtin verbose: false path: '' - - name: e-mem # a model that calculates a carbon value for memory - kind: plugin + - name: e-mem # a model that calculates e for memory utilization (0.38 * mem_util) + kind: builtin + path: '' + - name: sci-e # sums e components (can be e_cpu, e_gpu, e_mem, e_network) - in this case e-mem and e_cpu from teads + kind: builtin path: '' - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin verbose: false path: '' - - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m + - name: sci-o # takes in total e and outputs operational emissions kind: builtin verbose: false path: '' - - name: sci # a model that sums sci-o + sci-m + - name: sci # a model that sums sci-o + sci-m and applies functional unit kind: builtin verbose: false path: '' @@ -33,6 +36,7 @@ graph: - e-mem # calculates energy used by memory as component of sci-m - sci-m # duration & config -> embodied - sci-e # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # takes in total e and outputs operational emissions - sci # add cpu and memory components and convert to f.unit config: vendor: azure @@ -52,7 +56,7 @@ graph: el: 94608000 # 3 years in seconds rr: 1 tor: 8 - sci-e: + sci-o: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -76,7 +80,7 @@ graph: el: 94608000 # 3 years in seconds rr: 1 tor: 8 - sci-e: + sci-o: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -101,7 +105,7 @@ graph: el: 94608000 # 3 years in seconds rr: 2 tor: 64 - sci-e: + sci-o: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr @@ -126,7 +130,7 @@ graph: el: 94608000 # 3 years in seconds rr: 2 tor: 64 - sci-e: + sci-o: i: 554 # gCO2e/kWh sci: time: hour # signal to convert /s -> /hr From 823821243169c9c17085ebb2e889e3f1b9da0d92 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 16:39:07 +0530 Subject: [PATCH 164/199] Fixes for build Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-m/index.ts | 2 +- src/lib/sci-o/index.ts | 2 +- src/lib/shell-imp/index.ts | 2 +- src/lib/teads-curve/index.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/sci-m/index.ts b/src/lib/sci-m/index.ts index c8d972513..92f64e6d9 100644 --- a/src/lib/sci-m/index.ts +++ b/src/lib/sci-m/index.ts @@ -12,7 +12,7 @@ export class SciMModel implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index ff43a36db..dbb3f00a9 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -12,7 +12,7 @@ export class SciOModel implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 5c6cfda2c..c94d90771 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -42,7 +42,7 @@ export class ShellModel implements IImpactModelInterface { async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 7ea6c92f5..1c7c33d27 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -19,7 +19,7 @@ export class TeadsCurveModel implements IImpactModelInterface { // default percentage points points: number[] = [0, 10, 50, 100]; // spline interpolation of the power curve - spline: Spline = new Spline(this.points, this.curve); + spline: any = new Spline(this.points, this.curve); // interpolation method interpolation: Interpolation = Interpolation.SPLINE; @@ -80,7 +80,7 @@ export class TeadsCurveModel implements IImpactModelInterface { */ async calculate( observations: object | object[] | undefined - ): Promise { + ): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } else if (!Array.isArray(observations)) { From 3a1c4f91a2037316f03e97d19bf20ac53b5554c2 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Fri, 8 Sep 2023 16:40:47 +0530 Subject: [PATCH 165/199] Lint fixes Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/sci-m/index.ts | 4 +--- src/lib/sci-o/index.ts | 4 +--- src/lib/shell-imp/index.ts | 4 +--- src/lib/teads-curve/index.ts | 4 +--- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/lib/sci-m/index.ts b/src/lib/sci-m/index.ts index 92f64e6d9..9d9a7120d 100644 --- a/src/lib/sci-m/index.ts +++ b/src/lib/sci-m/index.ts @@ -10,9 +10,7 @@ export class SciMModel implements IImpactModelInterface { this.authParams = authParams; } - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index dbb3f00a9..8aa7cdb5b 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -10,9 +10,7 @@ export class SciOModel implements IImpactModelInterface { this.authParams = authParams; } - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index c94d90771..417c9b389 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -40,9 +40,7 @@ export class ShellModel implements IImpactModelInterface { return this; } - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index 1c7c33d27..b54229894 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -78,9 +78,7 @@ export class TeadsCurveModel implements IImpactModelInterface { * @param {number} observations[].duration observation duration in seconds * @param {number} observations[].cpu-util percentage cpu usage */ - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } else if (!Array.isArray(observations)) { From 8d66a4ef224d226b0702d5050810e3221018929f Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 8 Sep 2023 15:18:50 +0400 Subject: [PATCH 166/199] util: update models universe to support ccf. --- src/util/models-universe.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/util/models-universe.ts b/src/util/models-universe.ts index 74dec9d3e..67ee22165 100644 --- a/src/util/models-universe.ts +++ b/src/util/models-universe.ts @@ -1,7 +1,7 @@ import { BoaviztaCpuImpactModel, BoaviztaCloudImpactModel, - // CloudCarbonFootprint, + CloudCarbonFootprint, ShellModel, SciMModel, SciOModel, @@ -32,8 +32,8 @@ export class ModelsUniverse { return BoaviztaCpuImpactModel; case 'boavizta-cloud': return BoaviztaCloudImpactModel; - // case 'ccf': - // return CloudCarbonFootprint; + case 'ccf': + return CloudCarbonFootprint; case 'teads-curve': return TeadsCurveModel; case 'sci-m': @@ -47,6 +47,7 @@ export class ModelsUniverse { /** * Returns plugin model. + * @todo Update function when plugin model will ready. */ private handPluginModel() { return ShellModel; From d170c0476f75c0a839b9aae49d9306184ac15d64 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Fri, 8 Sep 2023 22:05:56 +0400 Subject: [PATCH 167/199] examples: init complex-pipeline sample. --- examples/impls/complex-pipeline.yml | 64 +++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 examples/impls/complex-pipeline.yml diff --git a/examples/impls/complex-pipeline.yml b/examples/impls/complex-pipeline.yml new file mode 100644 index 000000000..10b1b1857 --- /dev/null +++ b/examples/impls/complex-pipeline.yml @@ -0,0 +1,64 @@ +name: gsf-demo-pipeline +description: + More complex pipeline example +tags: + kind: web + complexity: moderate + category: cloud +initialize: + models: + - name: teads-curve + kind: builtin + - name: sci-m + kind: builtin + - name: sci-o + kind: builtin +graph: + children: + front-end: + pipeline: + - teads-curve + - sci-o + config: + teads-curve: + tdp: 1 + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + processor: Intel® Core™ i7-1185G7 + duration: 3600 # Secs + tdp: 28 # W + cpu-util: 18.392 + grid-ci: 951 # gCO2e/kWh + - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + processor: Intel® Core™ i7-1185G7 + duration: 3600 # Secs + tdp: 20 # W + cpu-util: 16 + grid-ci: 800 # gCO2e/kWh + back-end: + pipeline: + - teads-curve + - sci-o + - sci-m + config: + sci-m: + te: 350 # kgCO2eq + tir: "duration" # get this value from the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + teads-curve: + tdp: 1 + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + processor: Intel® Core™ i7-1185G7 + duration: 3600 # Secs + tdp: 28 # W + cpu-util: 18.392 + grid-ci: 951 # gCO2e/kWh + - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + processor: Intel® Core™ i7-1185G7 + duration: 3600 # Secs + tdp: 20 # W + cpu-util: 16 + grid-ci: 800 # gCO2e/kWh From cff71b129105d5a686da61d9800933bab6c1d7f8 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Sat, 9 Sep 2023 17:57:43 +0530 Subject: [PATCH 168/199] Fix: Template Variables Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index 219e3654b..3bb172522 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -29,7 +29,7 @@ export class WattTimeGridEmissions implements IImpactModelInterface { if (username === '' || password === '') { throw new Error('Missing username or password & token'); } - const tokenResponse = await axios.get(this.baseUrl + '/login', { + const tokenResponse = await axios.get(`${this.baseUrl}/login`, { auth: { username, password, @@ -82,7 +82,7 @@ export class WattTimeGridEmissions implements IImpactModelInterface { starttime: dayjs(observation.timestamp).format('YYYY-MM-DDTHH:mm:ssZ'), endtime: dayjs(observation.timestamp).add(duration, 'seconds'), }; - const result = await axios.get(this.baseUrl + '/data', { + const result = await axios.get(`${this.baseUrl}/data`, { params, headers: { Authorization: `Bearer ${this.token}`, From d246ff0d1f8d0d238d87c151accda1b62077dcb3 Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:31:15 +0100 Subject: [PATCH 169/199] + info on new models for dow and msft exmpls --- impls/dow_msft.yaml | 34 ++++++++++++------------ impls/msft-eshoppen.yaml | 56 ++++++++++++++++++++++++++++------------ 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index 48edc5b24..c986abbb6 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -10,7 +10,7 @@ initialize: kind: builtin verbose: false path: '' - - name: e-mem # a model that calculates e for memory utilization (0.38 * mem_util) + - name: e-mem # a model that calculates e for memory utilization (0.38 * mem_util = e_mem in kwH) kind: builtin path: '' - name: sci-e # sums e components (can be e_cpu, e_gpu, e_mem, e_network) - in this case e-mem and e_cpu from teads @@ -44,15 +44,15 @@ graph: children: tiger-database: # a leaf component config: - teads-cpu: + teads-cpu: # use tdp to derive e-cpu (kwh) processor: Intel-xeon-platinum-8380 tdp: 270 - e-mem: - mem_allocation: 32 # GB - mem-energy: 0.38 # kwh/GB + e-mem: # mem-util * mem-allocation * mem-energy = e-mem (kwh) + mem-allocation: 32 # GB + mem-energy: 0.38 # wh/GB sci-m: te: 1533.12 # kgCO2eq - tir: 3600 # get this value from the duration field + tir: 3600 # s per hour el: 94608000 # 3 years in seconds rr: 1 tor: 8 @@ -64,15 +64,15 @@ graph: observations: series: timestamp: 2023-07-06T00:00 - cpu_util: 17.12 - ram: 19.375 # % of available + cpu-util: 17.12 + mem-util: 19.375 # % of available tiger-api: # a leaf component config: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 e-mem: - mem_allocation: 1.75 # GB + mem-allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: te: 1216.62 # kgCO2eq @@ -89,15 +89,15 @@ graph: series: timestamp: 2023-08-06T00:00 duration: 1 - cpu_util: 25 - memory_util: 70 # % of total + cpu-util: 25 + mem-util: 70 # % of total neo4j-database: # a leaf component config: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 270 e-mem: - mem_allocation: 32 # GB + mem-allocation: 32 # GB mem-energy: 0.38 # kwh/GB sci-m: te: 1216.62 # kgCO2eq @@ -114,15 +114,15 @@ graph: series: timestamp: 2023-07-06T00:00 duration: 1 # this data is using span, but the model expects duration - cpu_util: 28.05 - memory_util: 19.375 + cpu-util: 28.05 + mem-util: 19.375 neo4j-api: # a leaf component config: teads-cpu: processor: Intel-xeon-platinum-8270 tdp: 205 e-mem: - mem_allocation: 1.75 # GB + mem-allocation: 1.75 # GB mem-energy: 0.38 # kwh/GB sci-m: te: 1216.62 # kgCO2eq @@ -139,6 +139,6 @@ graph: series: timestamp: 2023-08-06T00:00 duration: 1 - cpu_util: 14 - memory_util: 65 + cpu-util: 14 + mem-util: 65 diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 8a538f02f..057e00b7a 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -6,15 +6,25 @@ tags: category: cloud initialize: models: + - name: teads-cpu + kind: builtin + path: '' + verbose: false + - name: e-mem-tdp # calculates e due to memory util ((mem-util * mem-allocated * mem-energy)/1000 = e-mem) + kind: builtin + path: false + verbose: false + - name: sci-e # sums e-cpu and e-mem + kind: builtin + path: '' + verbose: false - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin path: '' - - name: sci-c # a model that given e, i and m calculates a carbon value (e * i) + m + verbose: false + - name: sci-o # takes in total e and outputs operational emissions kind: builtin path: '' - - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp - kind: builtin - path: '' - name: sci # sums SCI components and converts to f.unit kind: builtin path: '' @@ -22,33 +32,41 @@ graph: front-end: pipeline: - teads-cpu # tdp & cpu -> energy + - e-mem-tdp # n-hour * n-chip * tdp-mem * tdp-coeff - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon - - sci # + - sci-e # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # e -> c + - sci # -> f.unit config: + e-mem-tdp: + n-hour: 1 + n-chip: 1 + tdp-mem: 12.16 + tdp-coeff: 0.12 sci-m: te: 350 # kgCO2eq tir: "duration" # get this value from the duration field el: 126144000 # 4 years in seconds rr: 1 tor: 1 - sci-c: + sci-o: i: 951 # gCO2e/kWh - teads-curve: + teads-cpu: processor: Intel® Core™ i7-1185G7 tdp: 28 # W + tdp-coeff: 0.12 sci: time: hour # signal to convert /s -> /hr factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 # Secs - cpu_util: 18.392 + cpu-util: 0 app-server: - pipeline: + pipeline: # note: no e-mem calc applied here - teads-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: sci-m: te: 1205.52 # kgCO2eq @@ -58,21 +76,24 @@ graph: tor: 26 # the original report has a typo, says 16 but actually has 26 cores. sci-c: i: 951 # gCO2e/kWh - teads-curve: + teads-cpu: processor: Intel® Xeon® Platinum 8272CL tdp: 205 + tdp-coeff: 0.32 + n-hour: 1 + n-chip: 1 sci: time: hour # signal to convert /s -> /hr factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - cpu_util: 18.392 + cpu-util: 18.392 db-server: - pipeline: + pipeline: # no e-mem calc applied here - teads-cpu # tdp & cpu & duration-> energy - sci-m # duration & config -> embodied - - sci-c # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: sci-m: te: 1433.12 # kgCO2eq @@ -82,14 +103,15 @@ graph: tor: 24 # total cores sci-c: i: 951 - teads-curve: + teads-cpu: processor: Intel® Xeon® Platinum 8160 tdp: 150 # W + tdp-coeff: 0.32 sci: time: hour # signal to convert /s -> /hr factor: 500 # factor to convert per time to per f.unit () observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 - cpu_util: 10 + cpu-util: 10 From 89f4ba3868b1d638ada3b16218f074eb7bf65622 Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:36:37 +0100 Subject: [PATCH 170/199] add e values to accenture impls --- impls/accenture.yaml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index e3ca9c9c6..8d4b27f40 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -63,48 +63,56 @@ graph: duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 15 ram-util: 75 + e: 4.26 #kwh/month vm2: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 12 - ram-util: 72 + ram-util: 72 + e: 4.26 # kwh/month vm3: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 10 - ram-util: 65 + ram-util: 65 + e: 4.21 # kwh/month vm4: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 9 - ram-util: 70 + ram-util: 70 + e: 4.21 # kwh/month vm5: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 9 ram-util: 70 + e: 4.21 # kwh/month vm6: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 8 - ram-util: 65 + ram-util: 65 + e: 3.29 # kwh/month vm7: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 7 ram-util: 72 + e: 3.29 # kwh/month vm8: observations: - timestamp: 2023-07-06T00:00 duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 6 - ram-util: 70 + ram-util: 70 + e: 3.29 # kwh/month db: pipeline: - add-obs # add common values to every observertion @@ -133,6 +141,7 @@ graph: duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 4 ram-util: 40 + e: 2.68 # kwh/month monitoring: pipeline: - add-obs # add common values to every observertion @@ -161,10 +170,11 @@ graph: duration: 2419200 # seconds in a month (7 days * 4 weeks) cpu-util: 20 ram-util: 0 + e: 4.62 # kwh/month app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions pipeline: - add-obs config: add-obs: parameter: sci # parameter to add value to - value: 1053.94 # value to add + value: 1053.94 # value to add (in this case in g/co2) From 6acd113e8c2f96c907ed463185b174ccd5e0e688 Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:41:55 +0100 Subject: [PATCH 171/199] update sci-accenture model --- impls/accenture.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/impls/accenture.yaml b/impls/accenture.yaml index 8d4b27f40..f0b025097 100644 --- a/impls/accenture.yaml +++ b/impls/accenture.yaml @@ -35,13 +35,13 @@ initialize: graph: vm: pipeline: - - add-obs # add common values to every observertion - teads-cpu # converts cpu-util to energy based on a tdp and a built in set of coeff. - e-mem # converts ram-util to energy based on a tdp and a built in set of coeff. - pue # multiplies every energy by a pue coeff. - sci-m # adds embodied to the observation. - sci-o # calculates carbon for this obervation (energy * grid-ci) + embodied. - sci # calculates sci by dividing carbon by `r` + - sci-accenture # multiplies sci value by 1.05 to account for the "app-gateway" config: sci-m: te: 458 #kgCo2 @ 4yr lifespan @@ -173,8 +173,7 @@ graph: e: 4.62 # kwh/month app-gateway: # note that the app gateway does not have observations, its SCI is assumed equal to 5% of the total emissions pipeline: - - add-obs + - sci-accenture config: - add-obs: - parameter: sci # parameter to add value to - value: 1053.94 # value to add (in this case in g/co2) + sci_accenture: + factor: 1.05 # multiply sum of other sci components by this value to get overall total SCI in gCO2 From 920eb5a5f038bd636c48511b499e7add9e3a9b3e Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:50:22 +0100 Subject: [PATCH 172/199] add e-net to eshoppen --- impls/msft-eshoppen.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 057e00b7a..4e985cc4c 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -114,4 +114,19 @@ graph: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred duration: 3600 cpu-util: 10 + network: + pipeline: + - e-net + - sci + config: + e-net: + net-energy: 0.001 #kwh/GB + sci: + time: hour + factor: 500 + observations: + - timestamp: 2023-07-06T00:00 + duration: 3600 + data-in: 1.16 + data-out: 14.3 From efc6e1fa170b56a6071a23a51f68cf98e382eca3 Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:56:05 +0100 Subject: [PATCH 173/199] rename vars in aveva --- impls/aveva.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index fad01773d..7974c966b 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -39,8 +39,8 @@ graph: observations: series: timestamp: 2023-07-06T00:00 - measured_power: 16.009 # average over timespan - baseline_power: 11.335 # average over timespan - annual_usage: 8322 # (hours in year * average uptime e.g. 95%) + pl: 16.009 # average over timespan + pb: 11.335 # average over timespan + t: 8322 # (hours in year * average uptime e.g. 95%) From 17b3852f9b8c7251bf635625a9ddfe259f507925 Mon Sep 17 00:00:00 2001 From: jmc Date: Sat, 9 Sep 2023 20:58:42 +0100 Subject: [PATCH 174/199] add sci and rm teads from aveva --- impls/aveva.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 7974c966b..995210bf3 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -17,10 +17,6 @@ initialize: kind: builtin verbose: false path: '' - - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp - kind: builtin - verbose: false - path: '' - name: sci # sums SCI components and converts to f.unit kind: builtin verbose: false @@ -35,7 +31,10 @@ graph: rr: 1 tor: 1 sci-o: - i: 474.8 #gCo2/kWh + i: 474.8 #gCo2/kWh + sci: + time: year + factor: 1 observations: series: timestamp: 2023-07-06T00:00 From 169435e36a6cd7d8923bc1c5827daf1d2496f716 Mon Sep 17 00:00:00 2001 From: jmc Date: Sun, 10 Sep 2023 21:27:41 +0100 Subject: [PATCH 175/199] add e to ntt --- impls/ntt-data-on-premise.yaml | 130 ++++++++++++++++++--------------- 1 file changed, 73 insertions(+), 57 deletions(-) diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 5b2def273..6fa9bf141 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -6,9 +6,14 @@ tags: category: on-premise initialize: models: - - name: switch # a model that returns an embodied value given the sci embodied attribution equation. + - name: switch # returns e in kwh based on a switch model. kind: plugin path: '' + verbose: false + - name: pue # multiplies e by a coefficient (here 1.5) + kind: builtin + path: '' + verbose: false - name: sci-m # a model that calculates m from te, tir, el, rr and rtor kind: builtin verbose: false @@ -17,11 +22,7 @@ initialize: kind: builtin verbose: false path: '' - - name: teads-cpu # a model that returns energy based on the generalised teads power curve and tdp - kind: builtin - verbose: false - path: '' - - name: server # average power -> energy in kwh + - name: server # returns e in kwh based on a server model kind: plugin path: '' - name: sci # sums sci-o and sci-m @@ -33,7 +34,6 @@ graph: pipeline: - switch - pue - - teads-cpu - sci-m - sci-o - sci @@ -41,11 +41,14 @@ graph: switch: p_baseline: 92.5 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 n_ports: 24 + duplex: 2 + n-hour: 1 + link speed: 1000000000 pue: pue: 1.5 sci-m: te: 0.251 # kgCO2eq - tir: duration # get from the duration field + tir: 3600 # 1 hour in s el: 126144000 # 4 years in seconds rr: 1 tor: 1 @@ -57,14 +60,13 @@ graph: observations: series: - timestamp: 2023-07-06T00:00 - duration: 1 + duration: 3600 five-min-input-rate: 100 five-min-output-rate: 100 layer-2-switch: pipeline: - - switch - - pue - - teads-cpu # tdp & cpu -> energy + - switch # gives e + - pue # multiplies e by coefficient - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci @@ -72,11 +74,14 @@ graph: switch: p_baseline: 22.8 # W Baseline power based on full port 100% traffic for Cisco Catalyst 9300 n_ports: 24 + duplex: 2 + n-hour: 1 + link speed: 1000000000 pue: pue: 1.5 sci-m: te: 0.251 # kgCO2eq - tir: duration # get from the duration field + tir: 3600 # get from the duration field el: 126144000 # 4 years in seconds rr: 1 tor: 1 @@ -91,42 +96,37 @@ graph: series: - timestamp: 2023-07-06T00:00 duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 - mapping: - units: hours + e: 5.41e-4 #kwh switch-2: observations: series: - timestamp: 2023-07-06T00:00 duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 - mapping: - units: hours + e: 0 # no traffic at all switch-3: observations: series: - timestamp: 2023-07-06T00:00 duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 - mapping: - units: hours + e: 6.37e-4 #kwh switch-4: observations: series: - timestamp: 2023-07-06T00:00 duration: 1 - five-min-input-rate: 100 - five-min-output-rate: 100 + e: 7.60e-9 #kwh db-servers: pipeline: - - server # average power -> energy in kwh + - server # average power -> energy in kwh (actually provides e directly) + - pue # multiplies e by coefficient - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: + server: + n-hour: 1 + pue: + pue: 1.5 sci-m: te: 6270 # kgCO2eq tir: duration # get from the duration field @@ -138,22 +138,30 @@ graph: sci: time: hour factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + children: + db-server1: + observations: + series: + - timestamp: 2023-07-06T00:00 + e: 0.258 + duration: 1 #s + db-server2: + observations: + series: + - timestamp: 2023-07-06T00:00 + e: 0.193 + duration: 1 #s app-servers: pipeline: - - server # average power -> energy in kwh + - server # average power -> energy in kwh (actually provides e directly) - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci config: + server: + n-hour: 1 + pue: + pue: 1.5 sci-m: te: 6270 # kgCO2eq tir: duration # get from the duration field @@ -165,18 +173,22 @@ graph: sci: time: hour factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + children: + app-server1: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.149 + app-server2: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.147 web-servers: pipeline: - - server # average power -> energy in kwh + - server # average power -> energy in kwh (actually provides e directly) - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci @@ -192,12 +204,16 @@ graph: sci: time: hour factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction - observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - instantaneous-power: 176 - min_in_sample: 1 - max_in_sample: 6560 - mean_over_sample: 113 - sampling_period: 0.0000001 #seconds + children: + web-server1: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.139 + web-server2: + observations: + series: + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.116 From cb71aca173e5052674a38d09842da8ce6b2449eb Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 11 Sep 2023 14:23:05 +0530 Subject: [PATCH 176/199] Ability to run commands with multiple spaces Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/shell-imp/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 417c9b389..630059dd6 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -90,8 +90,13 @@ export class ShellModel implements IImpactModelInterface { private runModelInShell(input: string, execPath: string): KeyValuePair { try { console.log('input', input); + const execs = execPath.split(' '); + const executable = execs.pop() ?? ''; const result = cp - .spawnSync(execPath, ['--calculate'], {input: input, encoding: 'utf8'}) + .spawnSync(executable, [...execs, '--calculate'], { + input: input, + encoding: 'utf8', + }) .stdout.toString(); console.log('result', result); return yaml.load(result) as KeyValuePair; From 512b2010aedc6ca8464286065c9078271e4e0917 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 11 Sep 2023 15:13:24 +0530 Subject: [PATCH 177/199] Add shell imp example Signed-off-by: Gnanakeethan Balasubramaniam --- examples/impls/complex-pipeline.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/examples/impls/complex-pipeline.yml b/examples/impls/complex-pipeline.yml index 10b1b1857..32fbe019b 100644 --- a/examples/impls/complex-pipeline.yml +++ b/examples/impls/complex-pipeline.yml @@ -1,5 +1,5 @@ name: gsf-demo-pipeline -description: +description: More complex pipeline example tags: kind: web @@ -13,15 +13,21 @@ initialize: kind: builtin - name: sci-o kind: builtin + - name: sampler + kind: shell + path: python3 /usr/local/bin/sampler graph: children: front-end: - pipeline: + pipeline: - teads-curve + - sampler - sci-o config: teads-curve: tdp: 1 + sampler: + executable: python3 /usr/local/bin/sampler observations: - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred processor: Intel® Core™ i7-1185G7 @@ -36,15 +42,15 @@ graph: cpu-util: 16 grid-ci: 800 # gCO2e/kWh back-end: - pipeline: + pipeline: - teads-curve - sci-o - - sci-m + - sci-m config: sci-m: te: 350 # kgCO2eq tir: "duration" # get this value from the duration field - el: 126144000 # 4 years in seconds + el: 126144000 # 4 years in seconds rr: 1 tor: 1 teads-curve: From 091106bf05551a305e0dd2cd01f84b3ce2af8e1b Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Mon, 11 Sep 2023 15:52:09 +0400 Subject: [PATCH 178/199] util: in yaml tune file save to created nested folders. --- src/util/yaml.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/util/yaml.ts b/src/util/yaml.ts index 1a9191dd5..5679167e9 100644 --- a/src/util/yaml.ts +++ b/src/util/yaml.ts @@ -1,4 +1,5 @@ -import {readFile, writeFile} from 'fs/promises'; +import * as fs from 'fs/promises'; +import * as path from 'path'; import * as YAML from 'js-yaml'; @@ -6,7 +7,7 @@ import * as YAML from 'js-yaml'; * Reads and parses `yaml` file to object. */ export const openYamlFileAsObject = async (filePath: string): Promise => { - const yamlFileBuffer = await readFile(filePath, 'utf8'); + const yamlFileBuffer = await fs.readFile(filePath, 'utf8'); return YAML.load(yamlFileBuffer); }; @@ -14,10 +15,16 @@ export const openYamlFileAsObject = async (filePath: string): Promise => { /** * Saves given `yaml` dump as a file. */ -export const saveYamlFileAs = (object: any, name: string) => { - const yamlString = YAML.dump(object, {noRefs: true}); +export const saveYamlFileAs = async (object: any, pathToFile: string) => { + try { + const dirPath = path.dirname(pathToFile); + await fs.mkdir(dirPath, {recursive: true}); + const yamlString = YAML.dump(object, {noRefs: true}); - return writeFile(name, yamlString); + return fs.writeFile(pathToFile, yamlString); + } catch (error) { + console.error(error); + } }; /** From 7e8e2f9cd57a9387a2eaf09be3f692fb18a88d4b Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Mon, 11 Sep 2023 15:52:32 +0400 Subject: [PATCH 179/199] lib: in shell imp do execs shift instead of pop. --- src/lib/shell-imp/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/shell-imp/index.ts b/src/lib/shell-imp/index.ts index 630059dd6..b3e641c6e 100644 --- a/src/lib/shell-imp/index.ts +++ b/src/lib/shell-imp/index.ts @@ -91,7 +91,8 @@ export class ShellModel implements IImpactModelInterface { try { console.log('input', input); const execs = execPath.split(' '); - const executable = execs.pop() ?? ''; + const executable = execs.shift() ?? ''; + const result = cp .spawnSync(executable, [...execs, '--calculate'], { input: input, From 221e8a230c4d9f9cd867cd849a0dc6ef8f8edf1b Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Mon, 11 Sep 2023 16:03:07 +0400 Subject: [PATCH 180/199] .gitignore: add ompls folder. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9200725fc..0214ba427 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ tsconfig.json .jsii yarn-error.log build +examples/ompls From e7528e0f33980f40865062fc7213aecf3193509e Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Mon, 11 Sep 2023 18:34:11 +0400 Subject: [PATCH 181/199] util: reuse calculated result in observatory. --- src/util/observatory.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/util/observatory.ts b/src/util/observatory.ts index 2e90189ad..b5cf1c2f4 100644 --- a/src/util/observatory.ts +++ b/src/util/observatory.ts @@ -18,7 +18,11 @@ export class Observatory { * Calculates impact based on observations. */ public async doInvestigationsWith(modelInstance: IImpactModelInterface) { - const calculatedImpacts = await modelInstance.calculate(this.observations); + const reuseCalculation = this.impact.length + ? this.impact + : this.observations; + + const calculatedImpacts = await modelInstance.calculate(reuseCalculation); const result = this.observations.map((observation: any, index: number) => ({ ...observation, From e26cdb9ee5fff9a564589f9343e787ea3c5a30a9 Mon Sep 17 00:00:00 2001 From: jmc Date: Mon, 11 Sep 2023 17:40:53 +0100 Subject: [PATCH 182/199] rm series header --- impls/aveva.yaml | 9 ++-- impls/dow_msft.yaml | 38 ++++++++--------- impls/gsf-website.yaml | 42 ++++++++----------- impls/msft-green-ai.yaml | 14 +++---- impls/ntt-data-on-premise.yaml | 75 ++++++++++++++-------------------- 5 files changed, 76 insertions(+), 102 deletions(-) diff --git a/impls/aveva.yaml b/impls/aveva.yaml index 995210bf3..61d33f62b 100644 --- a/impls/aveva.yaml +++ b/impls/aveva.yaml @@ -36,10 +36,9 @@ graph: time: year factor: 1 observations: - series: - timestamp: 2023-07-06T00:00 - pl: 16.009 # average over timespan - pb: 11.335 # average over timespan - t: 8322 # (hours in year * average uptime e.g. 95%) + timestamp: 2023-07-06T00:00 + pl: 16.009 # average over timespan + pb: 11.335 # average over timespan + t: 8322 # (hours in year * average uptime e.g. 95%) diff --git a/impls/dow_msft.yaml b/impls/dow_msft.yaml index c986abbb6..ed8c9fbe4 100644 --- a/impls/dow_msft.yaml +++ b/impls/dow_msft.yaml @@ -62,10 +62,9 @@ graph: time: hour # signal to convert /s -> /hr factor: 32000 # factor to convert per time to per f.unit observations: - series: - timestamp: 2023-07-06T00:00 - cpu-util: 17.12 - mem-util: 19.375 # % of available + timestamp: 2023-07-06T00:00 + cpu-util: 17.12 + mem-util: 19.375 # % of available tiger-api: # a leaf component config: teads-cpu: @@ -85,12 +84,11 @@ graph: sci: time: hour # signal to convert /s -> /hr factor: 32000 # factor to convert per time to per f.unit - observations: - series: - timestamp: 2023-08-06T00:00 - duration: 1 - cpu-util: 25 - mem-util: 70 # % of total + observations: + timestamp: 2023-08-06T00:00 + duration: 1 + cpu-util: 25 + mem-util: 70 # % of total neo4j-database: # a leaf component config: teads-cpu: @@ -111,11 +109,10 @@ graph: time: hour # signal to convert /s -> /hr factor: 32000 # factor to convert per time to per f.unit observations: - series: - timestamp: 2023-07-06T00:00 - duration: 1 # this data is using span, but the model expects duration - cpu-util: 28.05 - mem-util: 19.375 + timestamp: 2023-07-06T00:00 + duration: 1 # this data is using span, but the model expects duration + cpu-util: 28.05 + mem-util: 19.375 neo4j-api: # a leaf component config: teads-cpu: @@ -135,10 +132,9 @@ graph: sci: time: hour # signal to convert /s -> /hr factor: 32000 # factor to convert per time to per f.unit - observations: - series: - timestamp: 2023-08-06T00:00 - duration: 1 - cpu-util: 14 - mem-util: 65 + observations: + timestamp: 2023-08-06T00:00 + duration: 1 + cpu-util: 14 + mem-util: 65 diff --git a/impls/gsf-website.yaml b/impls/gsf-website.yaml index 5895886e9..63f5397d2 100644 --- a/impls/gsf-website.yaml +++ b/impls/gsf-website.yaml @@ -28,9 +28,8 @@ graph: time: month factor: 67 # n builds per month observations: - series: - - timestamp: 2023-07-06T00:00 - c: 9.92063492063492e-07 # 2.4 g/month in g/s + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s gh-pages: pipeline: - sci-coefficient @@ -39,9 +38,8 @@ graph: time: month factor: 67 # n builds per month observations: - series: - - timestamp: 2023-07-06T00:00 - c: 9.92063492063492e-07 # 2.4 g/month in g/s + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s serving: netlify: pipeline: @@ -50,11 +48,10 @@ graph: sci-serve: time: month observations: - series: - - timestamp: 2023-07-06T00:00 - c: 9.92063492063492e-07 # 2.4 g/month in g/s - views-per-user: 2.1 - users: 2000 # unique users in most recent month + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + views-per-user: 2.1 + users: 2000 # unique users in most recent month gh-pages: pipeline: - sci-serve @@ -62,11 +59,10 @@ graph: sci-serve: time: month observations: - series: - - timestamp: 2023-07-06T00:00 - c: 9.92063492063492e-07 # 2.4 g/month in g/s - views-per-user: 2.1 - users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s + - timestamp: 2023-07-06T00:00 + c: 9.92063492063492e-07 # 2.4 g/month in g/s + views-per-user: 2.1 + users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s traffic: pipeline: - co2js @@ -78,10 +74,9 @@ graph: sci: time: month observations: - series: - - timestamp: 2023-07-06T00:00 - data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s - users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s + - timestamp: 2023-07-06T00:00 + data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s + users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s browser: pipeline: - co2js @@ -93,7 +88,6 @@ graph: sci: time: month observations: - series: - - timestamp: 2023-07-06T00:00 - data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s - users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s \ No newline at end of file + - timestamp: 2023-07-06T00:00 + data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s + users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s \ No newline at end of file diff --git a/impls/msft-green-ai.yaml b/impls/msft-green-ai.yaml index f2d8ef9dc..7500bf665 100644 --- a/impls/msft-green-ai.yaml +++ b/impls/msft-green-ai.yaml @@ -34,10 +34,9 @@ graph: time: s # no time normalization factor: 1 # no unit normalization observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1336 # 22.27 min runtime in seconds - energy: 17.97 + - timestamp: 2023-07-06T00:00 + duration: 1336 # 22.27 min runtime in seconds + energy: 17.97 InceptionV3: # an advanced grouping node pipeline: - sci-o # energy & grid-carbon-intensity & embodied -> carbon @@ -53,7 +52,6 @@ graph: time: s # no time normalization factor: 1 # no unit normalization observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1205 # 22.27 min runtime in seconds - energy: 14.37 \ No newline at end of file + - timestamp: 2023-07-06T00:00 + duration: 1205 # 22.27 min runtime in seconds + energy: 14.37 \ No newline at end of file diff --git a/impls/ntt-data-on-premise.yaml b/impls/ntt-data-on-premise.yaml index 6fa9bf141..e89b13df2 100644 --- a/impls/ntt-data-on-premise.yaml +++ b/impls/ntt-data-on-premise.yaml @@ -58,11 +58,9 @@ graph: time: hour factor: 38032740 # divide SCI (per hour) by this value to get SCI per web interaction observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 3600 - five-min-input-rate: 100 - five-min-output-rate: 100 + - timestamp: 2023-07-06T00:00 + duration: 3600 + e: 3.31e-3 # kwh per port layer-2-switch: pipeline: - switch # gives e @@ -93,34 +91,30 @@ graph: children: switch-1: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 5.41e-4 #kwh + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 5.41e-4 #kwh switch-2: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 0 # no traffic at all + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0 # no traffic at all switch-3: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 6.37e-4 #kwh + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 6.37e-4 #kwh switch-4: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 7.60e-9 #kwh + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 7.60e-9 #kwh db-servers: pipeline: - server # average power -> energy in kwh (actually provides e directly) - pue # multiplies e by coefficient - sci-m # duration & config -> embodied - - sci-o # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # e -> carbon - sci config: server: @@ -141,16 +135,14 @@ graph: children: db-server1: observations: - series: - - timestamp: 2023-07-06T00:00 - e: 0.258 - duration: 1 #s + - timestamp: 2023-07-06T00:00 + e: 0.258 + duration: 1 #s db-server2: observations: - series: - - timestamp: 2023-07-06T00:00 - e: 0.193 - duration: 1 #s + - timestamp: 2023-07-06T00:00 + e: 0.193 + duration: 1 #s app-servers: pipeline: - server # average power -> energy in kwh (actually provides e directly) @@ -176,19 +168,16 @@ graph: children: app-server1: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 0.149 + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.149 app-server2: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 0.147 + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.147 web-servers: pipeline: - - server # average power -> energy in kwh (actually provides e directly) - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon - sci @@ -207,13 +196,11 @@ graph: children: web-server1: observations: - series: - timestamp: 2023-07-06T00:00 duration: 1 e: 0.139 web-server2: observations: - series: - - timestamp: 2023-07-06T00:00 - duration: 1 - e: 0.116 + - timestamp: 2023-07-06T00:00 + duration: 1 + e: 0.116 From 798dbb8dd8d5f9f63d317283107fb975cda1028c Mon Sep 17 00:00:00 2001 From: jmc Date: Tue, 12 Sep 2023 09:34:10 +0100 Subject: [PATCH 183/199] update farm insights --- impls/farm-insights.yaml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/impls/farm-insights.yaml b/impls/farm-insights.yaml index 5de44913a..0ed588e32 100644 --- a/impls/farm-insights.yaml +++ b/impls/farm-insights.yaml @@ -6,19 +6,24 @@ tags: category: device initialize: models: - - name: sci-coefficient # a model that returns an embodied value given the sci embodied attribution equation. + - name: sci-o # takes in total e and outputs operational emissions kind: builtin verbose: false path: '' + - name: sci # a model that sums sci-o + sci-m and applies functional unit + kind: builtin + verbose: false + path: '' graph: rasp-pi: - model: sci-coefficient + pipeline: + - sci-o # take e and return e * i (carbon) + - sci # take in carbon from sci-o and embodied carbon (m) and return sum in correct time unit (here /yr) config: - e: 0.003 - i: 0.713 - r: 86400 # 1 day in seconds - te: 55 - tir: 86400 # 1 day in seconds - el: 94608000 # 1095 days in seconds - rr: 1 - tor: 1 + sci: + time: year + factor: 1 + observations: + e: 3.47222222222e-07 # 0.03 kwh/day in kwh/s + i: 713 # g/kwh + m: 1.744038559107052e-03 # they give 55kg/year - here in g/second From d60fc062264d30c57a806a0e6a8b44f9b0ed79e3 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Tue, 12 Sep 2023 20:37:22 +0400 Subject: [PATCH 184/199] lib: in teads aws fix type. --- src/lib/teads-aws/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib/teads-aws/index.ts b/src/lib/teads-aws/index.ts index 5cea43cdd..7180ab9fe 100644 --- a/src/lib/teads-aws/index.ts +++ b/src/lib/teads-aws/index.ts @@ -84,9 +84,7 @@ export class TeadsAWS implements IImpactModelInterface { * @param {number} observations[].duration observation duration in seconds * @param {number} observations[].cpu-util percentage cpu usage */ - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (observations === undefined) { throw new Error('Required Parameters not provided'); } From 1899f084631202a00fe6ca6cf7bbb80673653f48 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 13 Sep 2023 11:56:50 +0530 Subject: [PATCH 185/199] Changes for hot-fix-wattime Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/watt-time/index.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/watt-time/index.ts b/src/lib/watt-time/index.ts index 3bb172522..2704fd325 100644 --- a/src/lib/watt-time/index.ts +++ b/src/lib/watt-time/index.ts @@ -39,9 +39,7 @@ export class WattTimeGridEmissions implements IImpactModelInterface { } } - async calculate( - observations: object | object[] | undefined - ): Promise { + async calculate(observations: object | object[] | undefined): Promise { if (!Array.isArray(observations)) { throw new Error('observations should be an array'); } @@ -52,7 +50,7 @@ export class WattTimeGridEmissions implements IImpactModelInterface { }) ); - return Promise.resolve(observations); + return Promise.resolve(observations as any[]); } async fetchData(observation: KeyValuePair) { From bd84b03b4856471d81221f34299d4026a5baee7c Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 13 Sep 2023 09:36:06 +0100 Subject: [PATCH 186/199] add n-hours n-chip to e-cpu obs --- impls/msft-eshoppen.yaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/impls/msft-eshoppen.yaml b/impls/msft-eshoppen.yaml index 4e985cc4c..51fbce1d6 100644 --- a/impls/msft-eshoppen.yaml +++ b/impls/msft-eshoppen.yaml @@ -6,7 +6,7 @@ tags: category: cloud initialize: models: - - name: teads-cpu + - name: e-cpu kind: builtin path: '' verbose: false @@ -31,7 +31,7 @@ initialize: graph: front-end: pipeline: - - teads-cpu # tdp & cpu -> energy + - e-cpu # tdp & cpu -> energy - e-mem-tdp # n-hour * n-chip * tdp-mem * tdp-coeff - sci-m # duration & config -> embodied - sci-e # energy & grid-carbon-intensity & embodied -> carbon @@ -51,10 +51,12 @@ graph: tor: 1 sci-o: i: 951 # gCO2e/kWh - teads-cpu: + e-cpu: processor: Intel® Core™ i7-1185G7 tdp: 28 # W tdp-coeff: 0.12 + n-hour: 1 + n-chip: 1 sci: time: hour # signal to convert /s -> /hr factor: 500 # factor to convert per time to per f.unit () @@ -64,7 +66,7 @@ graph: cpu-util: 0 app-server: pipeline: # note: no e-mem calc applied here - - teads-cpu # tdp & cpu -> energy + - e-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: @@ -76,7 +78,7 @@ graph: tor: 26 # the original report has a typo, says 16 but actually has 26 cores. sci-c: i: 951 # gCO2e/kWh - teads-cpu: + e-cpu: processor: Intel® Xeon® Platinum 8272CL tdp: 205 tdp-coeff: 0.32 @@ -91,7 +93,7 @@ graph: cpu-util: 18.392 db-server: pipeline: # no e-mem calc applied here - - teads-cpu # tdp & cpu & duration-> energy + - e-cpu # tdp & cpu & duration-> energy - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: @@ -103,7 +105,9 @@ graph: tor: 24 # total cores sci-c: i: 951 - teads-cpu: + e-cpu: + n-hour: 1 + n-chip: 1 processor: Intel® Xeon® Platinum 8160 tdp: 150 # W tdp-coeff: 0.32 From ab4743966b35712ca8930ea1584363201f30c876 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Sat, 9 Sep 2023 17:44:57 +0530 Subject: [PATCH 187/199] Adding comments Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/boavizta/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/boavizta/index.ts b/src/lib/boavizta/index.ts index cfd18d887..70e0b225c 100644 --- a/src/lib/boavizta/index.ts +++ b/src/lib/boavizta/index.ts @@ -62,6 +62,7 @@ abstract class BoaviztaImpactModel implements IImpactModelInterface { hours_use_time: duration / 3600.0, time_workload: metric * 100.0, }; + // convert expected lifespan from seconds to years usageInput['years_life_time'] = this.expectedLifespan / (365.0 * 24.0 * 60.0 * 60.0); usageInput = this.addLocationToUsage(usageInput); From 86ec8973b41a2cef8cb539266bc723a1a83cc42f Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Sun, 10 Sep 2023 18:56:55 +0530 Subject: [PATCH 188/199] Adding documentation link Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/Readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/implementations/Readme.md b/docs/implementations/Readme.md index 393dd1ae8..99547f94d 100644 --- a/docs/implementations/Readme.md +++ b/docs/implementations/Readme.md @@ -1,5 +1,6 @@ # Implementations -[CCF](./ccf.md) - Cloud Carbon Footprint Impact Plugin Documentation - +* [SCI-M](./sci-m.md) - SCI-M Plugin Documentation +* [SCI-O](./sci-o.md) - SCI-O Plugin Documentatio +* [CCF](./ccf.md) - Cloud Carbon Footprint Impact Plugin Documentation [WattTime](./watttime.md) - WattTime Impact Plugin Documentation From 11ffb959b543208fc8660bc091592c5ace3fa73b Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Mon, 11 Sep 2023 14:29:28 +0530 Subject: [PATCH 189/199] Rename operation-emissions to operational-carbon Signed-off-by: Gnanakeethan Balasubramaniam --- docs/Computation Pipeline.md | 18 +++++++++--------- docs/implementations/sci-o.md | 2 +- src/lib/sci-o/index.test.ts | 4 ++-- src/lib/sci-o/index.ts | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/Computation Pipeline.md b/docs/Computation Pipeline.md index 13e77406e..ad7af19f6 100644 --- a/docs/Computation Pipeline.md +++ b/docs/Computation Pipeline.md @@ -121,19 +121,19 @@ component: location: west-us energy: 43 mWh grid-intensity: 500 gCO2e / kWh - operational-emissions: 4.7g gCO2e + operational-carbon: 4.7g gCO2e - timestamp: 2023-07-06T15:00 duration: 5 mins location: west-us energy: 20 mWh grid-intensity: 490 gCO2e / kWh - operational-emissions: 2.9 gCO2e + operational-carbon: 2.9 gCO2e - timestamp: 2023-07-06T25:00 duration: 5 mins location: west-us energy: 18 mWh grid-intensity: 470 gCO2e / kWh - operational-emissions: 2.8g gCO2e + operational-carbon: 2.8g gCO2e ``` ## Normalization @@ -184,31 +184,31 @@ component: location: west-us energy: 14.3 mWh grid-intensity: 500 gCO2e / kWh - operational-emissions: 1.57g gCO2e + operational-carbon: 1.57g gCO2e - timestamp: 2023-07-06T05:00 duration: 5 mins location: west-us energy: 14.3 mWh grid-intensity: 500 gCO2e / kWh - operational-emissions: 1.57g gCO2e + operational-carbon: 1.57g gCO2e - timestamp: 2023-07-06T10:00 duration: 5 mins location: west-us energy: 14.3 mWh grid-intensity: 500 gCO2e / kWh - operational-emissions: 1.57g gCO2e + operational-carbon: 1.57g gCO2e - timestamp: 2023-07-06T15:00 duration: 5 mins location: west-us energy: 20 mWh grid-intensity: 490 gCO2e / kWh - operational-emissions: 2.9 gCO2e + operational-carbon: 2.9 gCO2e - timestamp: 2023-07-06T25:00 duration: 5 mins location: west-us energy: 18 mWh grid-intensity: 470 gCO2e / kWh - operational-emissions: 2.8g gCO2e + operational-carbon: 2.8g gCO2e observations: - timestamp: 2023-07-06T00:00 duration: 15 mins @@ -352,4 +352,4 @@ component: > [!tip] > -> The same normalization plugin code could provide this time series of functional unit denominators. We pass in a fake component with observations that represent the functional unit denominators, pass through the normalization phase, and generate a series of users for the global time series of impact durations. \ No newline at end of file +> The same normalization plugin code could provide this time series of functional unit denominators. We pass in a fake component with observations that represent the functional unit denominators, pass through the normalization phase, and generate a series of users for the global time series of impact durations. diff --git a/docs/implementations/sci-o.md b/docs/implementations/sci-o.md index 0f3a5cbb4..8259f9d3c 100644 --- a/docs/implementations/sci-o.md +++ b/docs/implementations/sci-o.md @@ -14,7 +14,7 @@ To calculate the operational emissions O for a software application, use the fol O = (E * I) -[Operational Emissions...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md#operational-emissions) +[Operational Emissions...](https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md#operational-carbon) ## Implementation diff --git a/src/lib/sci-o/index.test.ts b/src/lib/sci-o/index.test.ts index d7657688a..a0d4dcdf5 100644 --- a/src/lib/sci-o/index.test.ts +++ b/src/lib/sci-o/index.test.ts @@ -17,7 +17,7 @@ describe('ccf:configure test', () => { { 'grid-ci': 200.0, energy: 100.0, - 'operational-emissions': 100.0 * 200.0, + 'operational-carbon': 100.0 * 200.0, }, ]); await expect( @@ -31,7 +31,7 @@ describe('ccf:configure test', () => { { 'grid-ci': 212.1, energy: 100.0, - 'operational-emissions': 100.0 * 212.1, + 'operational-carbon': 100.0 * 212.1, }, ]); await expect( diff --git a/src/lib/sci-o/index.ts b/src/lib/sci-o/index.ts index 8aa7cdb5b..d12919067 100644 --- a/src/lib/sci-o/index.ts +++ b/src/lib/sci-o/index.ts @@ -23,7 +23,7 @@ export class SciOModel implements IImpactModelInterface { } const grid_ci = parseFloat(observation['grid-ci']); const energy = parseFloat(observation['energy']); - observation['operational-emissions'] = grid_ci * energy; + observation['operational-carbon'] = grid_ci * energy; return observation; }); From 39e535af23764fa42f5e9f887e1473750d78542f Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 13 Sep 2023 15:07:08 +0530 Subject: [PATCH 190/199] Rename energy to e-cpu Signed-off-by: Gnanakeethan Balasubramaniam --- src/lib/teads-curve/index.test.ts | 20 ++++++++++---------- src/lib/teads-curve/index.ts | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/lib/teads-curve/index.test.ts b/src/lib/teads-curve/index.test.ts index 4df0f57ec..8924314bc 100644 --- a/src/lib/teads-curve/index.test.ts +++ b/src/lib/teads-curve/index.test.ts @@ -19,7 +19,7 @@ describe('teads:configure test', () => { ]) ).resolves.toStrictEqual([ { - energy: 0.15, + 'e-cpu': 0.15, duration: 3600, 'cpu-util': 50.0, timestamp: '2021-01-01T00:00:00Z', @@ -54,19 +54,19 @@ describe('teads:configure test', () => { duration: 3600, 'cpu-util': 10.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.096, + 'e-cpu': 0.096, }, { duration: 3600, 'cpu-util': 50.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.225, + 'e-cpu': 0.225, }, { duration: 3600, 'cpu-util': 100.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.306, + 'e-cpu': 0.306, }, ]); }); @@ -114,38 +114,38 @@ describe('teads:configure test', () => { duration: 3600, 'cpu-util': 10.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.096, + 'e-cpu': 0.096, }, { duration: 3600, 'cpu-util': 50.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.225, + 'e-cpu': 0.225, }, { duration: 3600, 'cpu-util': 100.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.306, + 'e-cpu': 0.306, }, { duration: 3600, 'cpu-util': 15.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.11212500000000002, + 'e-cpu': 0.11212500000000002, }, { duration: 3600, 'cpu-util': 55.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.2331, + 'e-cpu': 0.2331, }, { duration: 3600, 'cpu-util': 75.0, timestamp: '2021-01-01T00:00:00Z', - energy: 0.2655, + 'e-cpu': 0.2655, }, ]); }); diff --git a/src/lib/teads-curve/index.ts b/src/lib/teads-curve/index.ts index b54229894..4312362fa 100644 --- a/src/lib/teads-curve/index.ts +++ b/src/lib/teads-curve/index.ts @@ -86,7 +86,7 @@ export class TeadsCurveModel implements IImpactModelInterface { } return observations.map((observation: KeyValuePair) => { this.configure(this.name!, observation); - observation['energy'] = this.calculateEnergy(observation); + observation['e-cpu'] = this.calculateEnergy(observation); return observation; }); } From c5ef51fac7ce7f26ac213e59bdd345bc2c265d21 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 13 Sep 2023 15:08:54 +0530 Subject: [PATCH 191/199] Adding unit definitions Signed-off-by: Gnanakeethan Balasubramaniam --- src/config/units.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/config/units.yaml b/src/config/units.yaml index 7f89666fd..a36868cfc 100644 --- a/src/config/units.yaml +++ b/src/config/units.yaml @@ -30,6 +30,18 @@ energy: description: amount of energy utilised by the component unit: kWh aggregation: sum +e-cpu: + description: Energy consumed by the CPU of the component + unit: kWh + aggregation: sum +e-mem: + description: Energy consumed by the Memory of the component + unit: kWh + aggregation: sum +e-net: + description: Energy consumed by the Network of the component + unit: kWh + aggregation: sum embodied-carbon: description: Embodied Emissions of the component unit: gCO2e From 40d679378fe40f80aa3d7196ec5994693ad7ceb4 Mon Sep 17 00:00:00 2001 From: Gnanakeethan Balasubramaniam Date: Wed, 13 Sep 2023 15:17:42 +0530 Subject: [PATCH 192/199] Adding links Signed-off-by: Gnanakeethan Balasubramaniam --- docs/implementations/Readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/implementations/Readme.md b/docs/implementations/Readme.md index 99547f94d..f75e17ebf 100644 --- a/docs/implementations/Readme.md +++ b/docs/implementations/Readme.md @@ -4,3 +4,5 @@ * [SCI-O](./sci-o.md) - SCI-O Plugin Documentatio * [CCF](./ccf.md) - Cloud Carbon Footprint Impact Plugin Documentation [WattTime](./watttime.md) - WattTime Impact Plugin Documentation +* [TEADS-CPU](./teads-cpu.md) - Teads CPU Model +* [TEADS-AWS](./teads-aws.md) - Teads AWS Model From 8dadf11d66426cd8395f420e35fe4a1338d99911 Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 13 Sep 2023 11:50:10 +0100 Subject: [PATCH 193/199] move files to examples/impls --- {impls => examples/impls}/accenture.yaml | 0 {impls => examples/impls}/aveva.yaml | 0 {impls => examples/impls}/azure-yassine.yaml | 0 {impls => examples/impls}/dow_msft.yaml | 0 {impls => examples/impls}/farm-insights.yaml | 0 {impls => examples/impls}/gsf-website.yaml | 2 +- {impls => examples/impls}/msft-eshoppen.yaml | 0 {impls => examples/impls}/msft-green-ai.yaml | 0 {impls => examples/impls}/ntt-data-on-premise.yaml | 0 9 files changed, 1 insertion(+), 1 deletion(-) rename {impls => examples/impls}/accenture.yaml (100%) rename {impls => examples/impls}/aveva.yaml (100%) rename {impls => examples/impls}/azure-yassine.yaml (100%) rename {impls => examples/impls}/dow_msft.yaml (100%) rename {impls => examples/impls}/farm-insights.yaml (100%) rename {impls => examples/impls}/gsf-website.yaml (98%) rename {impls => examples/impls}/msft-eshoppen.yaml (100%) rename {impls => examples/impls}/msft-green-ai.yaml (100%) rename {impls => examples/impls}/ntt-data-on-premise.yaml (100%) diff --git a/impls/accenture.yaml b/examples/impls/accenture.yaml similarity index 100% rename from impls/accenture.yaml rename to examples/impls/accenture.yaml diff --git a/impls/aveva.yaml b/examples/impls/aveva.yaml similarity index 100% rename from impls/aveva.yaml rename to examples/impls/aveva.yaml diff --git a/impls/azure-yassine.yaml b/examples/impls/azure-yassine.yaml similarity index 100% rename from impls/azure-yassine.yaml rename to examples/impls/azure-yassine.yaml diff --git a/impls/dow_msft.yaml b/examples/impls/dow_msft.yaml similarity index 100% rename from impls/dow_msft.yaml rename to examples/impls/dow_msft.yaml diff --git a/impls/farm-insights.yaml b/examples/impls/farm-insights.yaml similarity index 100% rename from impls/farm-insights.yaml rename to examples/impls/farm-insights.yaml diff --git a/impls/gsf-website.yaml b/examples/impls/gsf-website.yaml similarity index 98% rename from impls/gsf-website.yaml rename to examples/impls/gsf-website.yaml index 63f5397d2..00bea22e8 100644 --- a/impls/gsf-website.yaml +++ b/examples/impls/gsf-website.yaml @@ -90,4 +90,4 @@ graph: observations: - timestamp: 2023-07-06T00:00 data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s - users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s \ No newline at end of file + users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s diff --git a/impls/msft-eshoppen.yaml b/examples/impls/msft-eshoppen.yaml similarity index 100% rename from impls/msft-eshoppen.yaml rename to examples/impls/msft-eshoppen.yaml diff --git a/impls/msft-green-ai.yaml b/examples/impls/msft-green-ai.yaml similarity index 100% rename from impls/msft-green-ai.yaml rename to examples/impls/msft-green-ai.yaml diff --git a/impls/ntt-data-on-premise.yaml b/examples/impls/ntt-data-on-premise.yaml similarity index 100% rename from impls/ntt-data-on-premise.yaml rename to examples/impls/ntt-data-on-premise.yaml From 80c45effa5011f53bcf778664224ce8224873f42 Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 13 Sep 2023 11:52:30 +0100 Subject: [PATCH 194/199] update eshoppen model names --- examples/impls/msft-eshoppen.yaml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/examples/impls/msft-eshoppen.yaml b/examples/impls/msft-eshoppen.yaml index 51fbce1d6..e38af63c0 100644 --- a/examples/impls/msft-eshoppen.yaml +++ b/examples/impls/msft-eshoppen.yaml @@ -6,12 +6,16 @@ tags: category: cloud initialize: models: - - name: e-cpu - kind: builtin - path: '' + - name: eshoppen-cpu # calculates e due to memory util ((mem-util * mem-allocated * mem-energy)/1000 = e-mem) + kind: e-cpu + path: false verbose: false - - name: e-mem-tdp # calculates e due to memory util ((mem-util * mem-allocated * mem-energy)/1000 = e-mem) - kind: builtin + - name: eshoppen-mem # calculates e due to memory util ((mem-util * mem-allocated * mem-energy)/1000 = e-mem) + kind: e-mem + path: false + verbose: false + - name: eshoppen-net # calculates e due to memory util ((mem-util * mem-allocated * mem-energy)/1000 = e-mem) + kind: e-net path: false verbose: false - name: sci-e # sums e-cpu and e-mem @@ -31,8 +35,8 @@ initialize: graph: front-end: pipeline: - - e-cpu # tdp & cpu -> energy - - e-mem-tdp # n-hour * n-chip * tdp-mem * tdp-coeff + - eshoppen-cpu # tdp & cpu -> energy + - eshoppen-mem # n-hour * n-chip * tdp-mem * tdp-coeff - sci-m # duration & config -> embodied - sci-e # energy & grid-carbon-intensity & embodied -> carbon - sci-o # e -> c @@ -66,7 +70,7 @@ graph: cpu-util: 0 app-server: pipeline: # note: no e-mem calc applied here - - e-cpu # tdp & cpu -> energy + - eshoppen-cpu # tdp & cpu -> energy - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: @@ -93,7 +97,7 @@ graph: cpu-util: 18.392 db-server: pipeline: # no e-mem calc applied here - - e-cpu # tdp & cpu & duration-> energy + - eshoppen-cpu # tdp & cpu & duration-> energy - sci-m # duration & config -> embodied - sci-o # energy & grid-carbon-intensity & embodied -> carbon config: @@ -120,7 +124,7 @@ graph: cpu-util: 10 network: pipeline: - - e-net + - eshoppen-net - sci config: e-net: From 61faf941b0c86184f2f0954020d3ae2fb118055a Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 13 Sep 2023 12:17:30 +0100 Subject: [PATCH 195/199] small fixes to eshoppen --- examples/impls/msft-eshoppen.yaml | 182 +++++++++++++++--------------- 1 file changed, 93 insertions(+), 89 deletions(-) diff --git a/examples/impls/msft-eshoppen.yaml b/examples/impls/msft-eshoppen.yaml index e38af63c0..944f471bd 100644 --- a/examples/impls/msft-eshoppen.yaml +++ b/examples/impls/msft-eshoppen.yaml @@ -33,98 +33,102 @@ initialize: kind: builtin path: '' graph: - front-end: - pipeline: - - eshoppen-cpu # tdp & cpu -> energy - - eshoppen-mem # n-hour * n-chip * tdp-mem * tdp-coeff - - sci-m # duration & config -> embodied - - sci-e # energy & grid-carbon-intensity & embodied -> carbon - - sci-o # e -> c - - sci # -> f.unit - config: - e-mem-tdp: - n-hour: 1 - n-chip: 1 - tdp-mem: 12.16 - tdp-coeff: 0.12 - sci-m: - te: 350 # kgCO2eq - tir: "duration" # get this value from the duration field - el: 126144000 # 4 years in seconds - rr: 1 - tor: 1 - sci-o: - i: 951 # gCO2e/kWh - e-cpu: - processor: Intel® Core™ i7-1185G7 - tdp: 28 # W - tdp-coeff: 0.12 - n-hour: 1 - n-chip: 1 - sci: - time: hour # signal to convert /s -> /hr - factor: 500 # factor to convert per time to per f.unit () - observations: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 3600 # Secs - cpu-util: 0 - app-server: - pipeline: # note: no e-mem calc applied here - - eshoppen-cpu # tdp & cpu -> energy - - sci-m # duration & config -> embodied - - sci-o # energy & grid-carbon-intensity & embodied -> carbon - config: - sci-m: - te: 1205.52 # kgCO2eq - tir: duration # get from the duration field - el: 126144000 # 4 years in seconds - rr: 2 # using cores - tor: 26 # the original report has a typo, says 16 but actually has 26 cores. - sci-c: - i: 951 # gCO2e/kWh - e-cpu: - processor: Intel® Xeon® Platinum 8272CL - tdp: 205 - tdp-coeff: 0.32 - n-hour: 1 - n-chip: 1 - sci: - time: hour # signal to convert /s -> /hr - factor: 500 # factor to convert per time to per f.unit () - observations: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 3600 - cpu-util: 18.392 - db-server: - pipeline: # no e-mem calc applied here - - eshoppen-cpu # tdp & cpu & duration-> energy - - sci-m # duration & config -> embodied - - sci-o # energy & grid-carbon-intensity & embodied -> carbon - config: - sci-m: - te: 1433.12 # kgCO2eq - tir: duration # get from the duration field - el: 126144000 # 4 years in seconds - rr: 2 # using cores - tor: 24 # total cores - sci-c: - i: 951 - e-cpu: - n-hour: 1 - n-chip: 1 - processor: Intel® Xeon® Platinum 8160 - tdp: 150 # W - tdp-coeff: 0.32 - sci: - time: hour # signal to convert /s -> /hr - factor: 500 # factor to convert per time to per f.unit () - observations: - - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred - duration: 3600 - cpu-util: 10 + children: + front-end: + pipeline: + - eshoppen-cpu # tdp & cpu -> energy + - eshoppen-mem # n-hour * n-chip * tdp-mem * tdp-coeff + - sci-m # duration & config -> embodied + - sci-e # energy & grid-carbon-intensity & embodied -> carbon + - sci-o # e -> c + - sci # -> f.unit + config: + e-mem-tdp: + n-hour: 1 + n-chip: 1 + tdp-mem: 12.16 + tdp-coeff: 0.12 + sci-m: + te: 350 # kgCO2eq + tir: 3600 # == the duration field + el: 126144000 # 4 years in seconds + rr: 1 + tor: 1 + sci-o: + i: 951 # gCO2e/kWh + e-cpu: + processor: Intel® Core™ i7-1185G7 + tdp: 28 # W + tdp-coeff: 0.12 + n-hour: 1 + n-chip: 1 + sci: + time: hour # signal to convert /s -> /hr + factor: 500 # factor to convert per time to per f.unit () + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 # Secs + cpu-util: 0 + app-server: + pipeline: # note: no e-mem calc applied here + - eshoppen-cpu # tdp & cpu -> energy + - sci-e # sums e components + - sci-m # duration & config -> embodied + - sci-o # energy & grid-carbon-intensity & embodied -> carbon + config: + sci-m: + te: 1205.52 # kgCO2eq + tir: 3600 # == duration field + el: 126144000 # 4 years in seconds + rr: 2 # using cores + tor: 26 # the original report has a typo, says 16 but actually has 26 cores. + sci-c: + i: 951 # gCO2e/kWh + e-cpu: + processor: Intel® Xeon® Platinum 8272CL + tdp: 205 + tdp-coeff: 0.32 + n-hour: 1 + n-chip: 1 + sci: + time: hour # signal to convert /s -> /hr + factor: 500 # factor to convert per time to per f.unit () + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 + cpu-util: 18.392 + db-server: + pipeline: # no e-mem calc applied here + - eshoppen-cpu # tdp & cpu & duration-> energy + - sci-e # sums e-components + - sci-m # duration & config -> embodied + - sci-o # energy & grid-carbon-intensity & embodied -> carbon + config: + sci-m: + te: 1433.12 # kgCO2eq + tir: 3600 # == duration field + el: 126144000 # 4 years in seconds + rr: 2 # using cores + tor: 24 # total cores + sci-c: + i: 951 + e-cpu: + n-hour: 1 + n-chip: 1 + processor: Intel® Xeon® Platinum 8160 + tdp: 150 # W + tdp-coeff: 0.32 + sci: + time: hour # signal to convert /s -> /hr + factor: 500 # factor to convert per time to per f.unit () + observations: + - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred + duration: 3600 + cpu-util: 10 network: pipeline: - eshoppen-net + - sci-e # sums e components - sci config: e-net: From ee85c6c227fff3e8710ef505c420cf6ebd3f0e9b Mon Sep 17 00:00:00 2001 From: jmc Date: Wed, 13 Sep 2023 13:53:51 +0100 Subject: [PATCH 196/199] fix aveva impl Signed-off-by: jmc --- examples/impls/aveva.yaml | 43 ++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/examples/impls/aveva.yaml b/examples/impls/aveva.yaml index 61d33f62b..f0402f470 100644 --- a/examples/impls/aveva.yaml +++ b/examples/impls/aveva.yaml @@ -6,9 +6,10 @@ tags: category: on-premise initialize: models: - - name: sci-aveva # a model that takes in power observations and returns e. + - name: e-aveva # a model that takes in power observations and returns e. kind: plugin path: '' + verbose: false - name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m kind: builtin verbose: false @@ -22,23 +23,27 @@ initialize: verbose: false path: '' graph: - pc: - config: - sci-m: - te: 350 # kgCO2eq - tir: 31536000 # 1 year in seconds - el: 157680000 # 5 years in seconds - rr: 1 - tor: 1 - sci-o: - i: 474.8 #gCo2/kWh - sci: - time: year - factor: 1 - observations: - timestamp: 2023-07-06T00:00 - pl: 16.009 # average over timespan - pb: 11.335 # average over timespan - t: 8322 # (hours in year * average uptime e.g. 95%) + children: + pc: + pipeline: + sci-m: + config: + te: 350 # kgCO2eq + tir: 31536000 # 1 year in seconds + el: 157680000 # 5 years in seconds + rr: 1 + tor: 1 + sci-o: + config: + i: 474.8 #gCo2/kWh + sci: + config: + time: '' # don't do any time norm + factor: 1 + observations: + timestamp: 2023-07-06T00:00 + pl: 16.009 # average over timespan + pb: 11.335 # average over timespan + t: 8322 # (hours in year * average uptime e.g. 95%) From d6df7c100e741eaa70fb281c9b4ef2f1afb64713 Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Fri, 25 Aug 2023 21:49:05 +0100 Subject: [PATCH 197/199] Updated spec with model pipelines --- docs/Impact Engine Framework.md | 3 +- docs/Model Pipeline.md | 351 ++++++++++++++++++++++++++++++++ 2 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 docs/Model Pipeline.md diff --git a/docs/Impact Engine Framework.md b/docs/Impact Engine Framework.md index 2341086ac..048ba3f0b 100644 --- a/docs/Impact Engine Framework.md +++ b/docs/Impact Engine Framework.md @@ -28,7 +28,8 @@ A Framework to **M**odel, **M**easure, si**M**ulate and **M**onitor the environm - ✅ [Impl (Impact YAML)](Impl%20(Impact%20YAML).md) - 👷🏽‍♂️[Impact Model](Impact%20Model.md) - ✅ [Impact Model Plugin](Impact%20Model%20Plugin.md) -- ✅ [Computation Pipeline](Computation%20Pipeline.md) +- ✅ [Model Pipeline](Model%20Pipeline.md) +- 👷🏽‍♂️ [Computation Pipeline](Computation%20Pipeline.md) - 👷🏽‍♂️ Computation Pipeline Plugin 🔥 - 👷🏽‍♂️ [Impact Metric](Impact%20Metric) 🔥 - ✍🏽 [Rimpl](Rimpl.md) diff --git a/docs/Model Pipeline.md b/docs/Model Pipeline.md new file mode 100644 index 000000000..20f3f3480 --- /dev/null +++ b/docs/Model Pipeline.md @@ -0,0 +1,351 @@ +--- +author: Asim Hussain (@jawache) +abstract: How models are chained together into a pipeline in order to compute the impacts of +--- +# Model Pipeline + +## Introduction + +As [Peter H. Salus](https://en.wikipedia.org/wiki/Peter_H._Salus "Peter H. Salus") said in his book [A Quarter-Century of Unix](https://en.wikipedia.org/wiki/Unix_philosophy#cite_note-taoup-ch1s6-1) the Unix philosophy is: +- Write programs that do one thing and do it well. +- Write programs to work together. +- Write programs to handle text streams, because that is a universal interface. + +Our approach to models in the [Impact Engine Framework](Impact%20Engine%20Framework.md) is the same. +- Each model will do one thing and do it well. +- Models work with each other. +- The [Impl (Impact YAML)](Impl%20(Impact%20YAML).md) text format is the communication medium between models. + +Calculating a component's impacts often requires using multiple models in sequence. Each model takes as input the outputs of the previous model in the chain, all working together to calculate impacts from observations. + +```mermaid +flowchart LR +Observations --> Model1 --> Model2 --> Model3 --> Impacts +``` + +At the start of the chain, we input source observations. Each model in the chain takes as input the observations and modifies them somehow before passing them along to the next model in the chain. + +The nature of the modification is flexible and defined by the model. Some model plugins will calculate an impact metric (for example, energy from utilization) and add that to the observation before passing that to the next model. Some models will enrich the observation with meta-data required for other models, for example, adding grid carbon intensity values. + +## Initialization + +All the model plugins used in any component in the graph are configured at the top of the [Impl (Impact YAML)](Impl%20(Impact%20YAML).md) in the initialize section. There are multiple places to add configuration for model plugins; any configuration added here is global and applied to every use of the model throughout the graph. + +```yaml +. +. +initialize: + plugins: + - name: + path: + config: + : + - name: + path: + config: + : +. +. +graph: ~ +``` + +## Usage + +In component nodes, we then configure the models we want to use in a pipeline like so: + +```yaml +backend: + pipeline: "model-1 | model-2 | model-3" + config: + model-1: + : + model-2: + : + model-3: + : + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + cpu: 33 + - timestamp: 2023-07-06T00:05 + duration: 5 + cpu: 23 + - timestamp: 2023-07-06T00:10 + duration: 5 + cpu: 11 +``` + + +- `pipeline` defines the models we apply and the order in which we use them. +- `config` in this part of the graph is config for each model in the pipeline (if any is required). Since we have multiple models, we need to define each config independently. +- `observations` are the source observations, the values we are pumping into the start of this pipeline. + +The above is the short form; the long form would be to use a YAML array, like so: + +```yaml +backend: + pipeline: + - model-1 + - model-2 + - model-3 + config: + model-1: + : + model-2: + : + model-3: + : +``` +## Example + +Let's look at a simple pseudo example, to begin with a pipeline like so: + +`instance-metadata | tdp | teads-curve` + +Using the above, we can combine multiple smaller models together to calculate the energy consumed by this observation: + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 +``` + +### `instance-metadata` + +This model plugin takes as input an *instance type* and outputs the name of the physical processor of the underlying architecture as well as other valuable metadata, like so: + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 +``` + +to + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 + physical_processor: Intel Xeon Platinum 8175 # <-- output + used_cores: 1 # <-- output + total_cores: 26 # <-- output +``` + + +### `tdp` + +Takes as input details about a physical processor, does a lookup against a [database](https://www.intel.com/content/www/us/en/products/sku/120506/intel-xeon-platinum-8170-processor-35-75m-cache-2-10-ghz/specifications.html) to obtain the TDP value (a measure of max power consumption), like so: + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 + physical_processor: Intel Xeon Platinum 8175 # <-- input + used_cores: 1 + total_cores: 26 +``` + +to + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 + physical_processor: Intel Xeon Platinum 8175 + used_cores: 1 + total_cores: 26 + tdp: 165 # <-- output +``` + + +### `teads-curve` + +TEADs is a now very well-known set of [generalized power curve coefficients](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac). Given a few inputs in can estimate the energy consumed for a given utilization. The coefficients are here for reference: + +| util | coeff | +| ---- | ----- | +| Idle | 0.12 | +| 10 | 0.32 | +| 50 | 0.75 | +| 100 | 1.02 | + +So if the TDP is 100W and the utilization is 50%, then according to the TEADs curve, the power would be 0.75 * 100 = 75W. The curve is generalized, so it is of limited usefulness in deciding which arch is better. Still, it is generalized enough to be used in many contexts where the data is limited. + +Using a `teads-curve` model, we'd be able to estimate energy like so: + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 # <-- input + cpu: 33 # <-- input + physical_processor: Intel Xeon Platinum 8175 + used_cores: 1 # <-- input + total_cores: 26 # <-- input + tdp: 165 # <-- input +``` + +to + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + vendor: aws + instance_type: m5d.large + duration: 5 + cpu: 33 + physical_processor: Intel Xeon Platinum 8175 + used_cores: 1 + total_cores: 26 + tdp: 165 + energy: 0.004 # <-- output +``` + +The energy used by this instance for 5s at 33% utilization is about 0.004 Wh. + +## Use Cases + +There are many advantages of composing a model pipeline from lots of smaller model plugins. +### Re-usability + +Why implement some functionality in your model plugin if another is available that already implements the functionality you need, is widespread, and is well-supported? + +For example, several existing models (Boavizta, Cloud Carbon Footprint, and Climatiq, to name a few) all implement the same functionality to map cloud instance types, like `m5d.large`, to physical processors like `Intel Xeon Platinum 8175`. Internally, they are all doing the same thing, looking up what `m5d.large` is and what CPU microarchitecture it's linked to. However, the methodology they each use, the accuracy and recency of the data in the lookup tables, and how they fallback when no data is available differs + +If a single model plugin existed, and all it did was map cloud instance types to microarchitectures and did that one job very well. Then other models may choose to rely on that one as a pre-requisite instead of implementing the functionality themselves: + +```yaml +pipeline: instance-metadata | ccf +``` + + +> [!important] Ecosystem of plugins +> The model plugins are the bulk of functionality for the impact engine. A small set of tightly focused model plugins can be combined in multiple ways to meet many use cases. + +### Upgradability + +Any time you upgrade one model plugin, every other plugin that depends on it can take advantage of those changes. + +Sticking to the above example of the `instance-metadata` plugin. A new version of the `instance-metadata` plugin can be released if a cloud provider updates its instance types or offerings. If you update your install, every plugin that depends on that data can take advantage of the update. +### Consistency + +Again, sticking to the `instance-metadata` plugin example. Breaking out functionality into lots of smaller plugins allows for more consistency. This is especially true regarding plugins that do lookups against data. + +Rather than each plugin determining its own meta-data, one plugin can provide the metadata required for several subsequent plugins. From the data it exports to the observations, we can see what data every subsequent plugin is using. +### Debuggability + +Since each model outputs a copy of its inputs, we can easily debug a calculation through its chain by dumping out the intermediate observations. +### Simulation + +You can create models that **simulate** making changes to the system. For example, you could create a model called `change-instance-type`, which adjusts the data being passed through to **simulate** as if it was run on another cloud instance. + +Through a set of simulation plugins, you can investigate **what if scenarios**, see the impact of work before investing any time, like so + +```yaml +component: + pipeline: "change-instance-type | instance-metadata | tdp | teads" + config: + change-instance-type: + to-instance: m5d.xlarge + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + cpu: 33 + vendor: aws + instance_type: m5d.large +``` + +`change-instance-type` model would convert the above to this: + +```yaml +component: + pipeline: "change-instance-type | instance-metadata | tdp | teads" + config: + change-instance-type: + to-instance: m5d.xlarge + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + cpu: 17.5 # <-- updated + vendor: aws + instance_type: m5d.xlarge # <-- updated +``` + +`m5d.xlarge` is the same CPU but twice the size of `m5d.large`, so this plugin halves the utilization to mirror what might be on the new instance type. + +The rest of the pipeline would then be the same. No other plugin would need to be changed; they would all function as before. + +### Modelling Managed Services + +We need to be able to measure the energy consumed by a processor since *eventually* everything is executed on a processor. However, these days most services are consumed through higher-level managed services (for example, AWS Lambda). In these managed services, you are abstracted away from the underlying processor, utilization, and instances. How do we measure the impacts of these managed services? + +We first have to start with observations. If we take AWS Lambda (or any FaaS), then the observations we might receive are along the time/space dimension, like so: + +```yaml +observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + gb-s: 1005 +``` + +Most cloud FaaS measure by gigabyte seconds. So, the number of seconds your function runs for multiplied by the GB of memory it used in the same period. You don't know the underlying instance or the utilization. + +There are no models *currently* that translate GB-s to energy and embodied carbon. However, by chaining several models together into a pipeline, we can *translate* GB-s to some equivalent utilization on an instance type and then compute using a similar pipeline to what we've used before. + +Imagine we had an adaptor model called `aws-lambda-to-instance`, which transformed `gb-s` into an observation that can be computed using an existing set of models, like so: + +```yaml +component: + pipeline: "aws-lambda-to-instance | instance-metadata | tdp | teads" + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + gb-s: 1005 +``` + +`aws-lambda-to-instance` might first transform the observation to: + +```yaml +component: + pipeline: "aws-lambda-to-instance | instance-metadata | tdp | teads" + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + gb-s: 1005 + vendor: aws # <-- new + instance_type: m5d.large # <-- new + cpu: 33 # <-- new +``` + +The observation is now in a format that can be computed using the rest of the pipeline. + +Using **Managed Services Adaptor Models** (MSAM), we can quickly model higher-level managed services. + +Another future is one where a model is created that directly translates `gb-s` to `energy`, perhaps maintained and released by AWS themselves, like so: + +```yaml +component: + pipeline: "aws-lambda" + observations: + - timestamp: 2023-07-06T00:00 + duration: 5 + gb-s: 1005 +``` + +But with model pipelines we don't need to wait and in the meantime can fill in the gaps with adapter models, \ No newline at end of file From 7957df2b02968d9bcafa203686c760181d7f4a4f Mon Sep 17 00:00:00 2001 From: Asim Hussain Date: Wed, 30 Aug 2023 23:25:37 +0100 Subject: [PATCH 198/199] Updated pipeline as per comments on PR --- docs/Model Pipeline.md | 121 +++++++++++++++++++++++------------------ 1 file changed, 67 insertions(+), 54 deletions(-) diff --git a/docs/Model Pipeline.md b/docs/Model Pipeline.md index 20f3f3480..996e5e4d5 100644 --- a/docs/Model Pipeline.md +++ b/docs/Model Pipeline.md @@ -34,13 +34,15 @@ All the model plugins used in any component in the graph are configured at the t ```yaml . . -initialize: - plugins: +config: + models: - name: + kind: builtin | plugin | shell path: config: : - name: + kind: builtin | plugin | shell path: config: : @@ -55,7 +57,10 @@ In component nodes, we then configure the models we want to use in a pipeline li ```yaml backend: - pipeline: "model-1 | model-2 | model-3" + pipeline: + - model-1 + - model-2 + - model-3 config: model-1: : @@ -80,27 +85,17 @@ backend: - `config` in this part of the graph is config for each model in the pipeline (if any is required). Since we have multiple models, we need to define each config independently. - `observations` are the source observations, the values we are pumping into the start of this pipeline. -The above is the short form; the long form would be to use a YAML array, like so: -```yaml -backend: - pipeline: - - model-1 - - model-2 - - model-3 - config: - model-1: - : - model-2: - : - model-3: - : -``` ## Example Let's look at a simple pseudo example, to begin with a pipeline like so: -`instance-metadata | tdp | teads-curve` +```yaml +pipeline: + - instance-metadata + - tdp + - teads-curve +``` Using the above, we can combine multiple smaller models together to calculate the energy consumed by this observation: @@ -108,9 +103,9 @@ Using the above, we can combine multiple smaller models together to calculate th observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 - cpu: 33 + cpu-util: 33 ``` ### `instance-metadata` @@ -121,9 +116,9 @@ This model plugin takes as input an *instance type* and outputs the name of the observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 - cpu: 33 + cpu-util: 33 ``` to @@ -132,12 +127,12 @@ to observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 - cpu: 33 - physical_processor: Intel Xeon Platinum 8175 # <-- output - used_cores: 1 # <-- output - total_cores: 26 # <-- output + cpu-util: 33 + physical-processor: Intel Xeon Platinum 8175 # <-- output + used-cores: 1 # <-- output + total-cores: 26 # <-- output ``` @@ -149,12 +144,12 @@ Takes as input details about a physical processor, does a lookup against a [data observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 - cpu: 33 - physical_processor: Intel Xeon Platinum 8175 # <-- input - used_cores: 1 - total_cores: 26 + cpu-util: 33 + physical-processor: Intel Xeon Platinum 8175 # <-- input + used-cores: 1 + total-cores: 26 ``` to @@ -163,12 +158,12 @@ to observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 cpu: 33 - physical_processor: Intel Xeon Platinum 8175 - used_cores: 1 - total_cores: 26 + physical-processor: Intel Xeon Platinum 8175 + used-cores: 1 + total-cores: 26 tdp: 165 # <-- output ``` @@ -192,12 +187,12 @@ Using a `teads-curve` model, we'd be able to estimate energy like so: observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 # <-- input - cpu: 33 # <-- input - physical_processor: Intel Xeon Platinum 8175 - used_cores: 1 # <-- input - total_cores: 26 # <-- input + cpu-util: 33 # <-- input + physical-processor: Intel Xeon Platinum 8175 + used-cores: 1 # <-- input + total-cores: 26 # <-- input tdp: 165 # <-- input ``` @@ -207,12 +202,12 @@ to observations: - timestamp: 2023-07-06T00:00 vendor: aws - instance_type: m5d.large + instance-type: m5d.large duration: 5 - cpu: 33 - physical_processor: Intel Xeon Platinum 8175 - used_cores: 1 - total_cores: 26 + cpu-util: 33 + physical-processor: Intel Xeon Platinum 8175 + used-cores: 1 + total-cores: 26 tdp: 165 energy: 0.004 # <-- output ``` @@ -231,10 +226,11 @@ For example, several existing models (Boavizta, Cloud Carbon Footprint, and Clim If a single model plugin existed, and all it did was map cloud instance types to microarchitectures and did that one job very well. Then other models may choose to rely on that one as a pre-requisite instead of implementing the functionality themselves: ```yaml -pipeline: instance-metadata | ccf +pipeline: + - instance-metadata + - ccf ``` - > [!important] Ecosystem of plugins > The model plugins are the bulk of functionality for the impact engine. A small set of tightly focused model plugins can be combined in multiple ways to meet many use cases. @@ -259,7 +255,11 @@ Through a set of simulation plugins, you can investigate **what if scenarios**, ```yaml component: - pipeline: "change-instance-type | instance-metadata | tdp | teads" + pipeline: + - change-instance-type + - instance-metadata + - tdp + - teads config: change-instance-type: to-instance: m5d.xlarge @@ -275,7 +275,11 @@ component: ```yaml component: - pipeline: "change-instance-type | instance-metadata | tdp | teads" + pipeline: + - change-instance-type + - instance-metadata + - tdp + - teads config: change-instance-type: to-instance: m5d.xlarge @@ -312,7 +316,11 @@ Imagine we had an adaptor model called `aws-lambda-to-instance`, which transform ```yaml component: - pipeline: "aws-lambda-to-instance | instance-metadata | tdp | teads" + pipeline: + - aws-lambda-to-instance + - instance-metadata + - tdp + - teads observations: - timestamp: 2023-07-06T00:00 duration: 5 @@ -323,7 +331,11 @@ component: ```yaml component: - pipeline: "aws-lambda-to-instance | instance-metadata | tdp | teads" + pipeline: + - aws-lambda-to-instance + - instance-metadata + - tdp + - teads observations: - timestamp: 2023-07-06T00:00 duration: 5 @@ -341,7 +353,8 @@ Another future is one where a model is created that directly translates `gb-s` t ```yaml component: - pipeline: "aws-lambda" + pipeline: + - aws-lambda observations: - timestamp: 2023-07-06T00:00 duration: 5 From f8cacad42fb4d3e2db34e76edabca443f5a26fa8 Mon Sep 17 00:00:00 2001 From: Narek Hovhannisyan Date: Thu, 14 Sep 2023 12:29:18 +0400 Subject: [PATCH 199/199] lint: update .eslintrc.json, turn off any type warnings. Signed-off-by: Narek Hovhannisyan --- .eslintrc.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index f95bb333f..3062ecd6e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,8 @@ { - "extends": "./node_modules/gts/" + "extends": "./node_modules/gts/", + "rules": { + "@typescript-eslint/no-explicit-any": [ + "off" + ] + } }