service-capacity-modeling 0.3.71__py3-none-any.whl → 0.3.73__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of service-capacity-modeling might be problematic. Click here for more details.

@@ -0,0 +1,220 @@
1
+ {
2
+ "instances": {
3
+ "i7i.large": {
4
+ "name": "i7i.large",
5
+ "cpu": 2,
6
+ "cpu_cores": 1,
7
+ "cpu_ghz": 2.4,
8
+ "cpu_ipc_scale": 1.33,
9
+ "ram_gib": 15.26,
10
+ "net_mbps": 1171.0,
11
+ "drive": {
12
+ "name": "ephem",
13
+ "size_gib": 436,
14
+ "read_io_per_s": 75000,
15
+ "write_io_per_s": 41250,
16
+ "single_tenant": false,
17
+ "read_io_latency_ms": {
18
+ "low": 0.071,
19
+ "mid": 0.079,
20
+ "high": 0.258,
21
+ "confidence": 0.9,
22
+ "minimum_value": 0.026,
23
+ "maximum_value": 2.153
24
+ }
25
+ }
26
+ },
27
+ "i7i.xlarge": {
28
+ "name": "i7i.xlarge",
29
+ "cpu": 4,
30
+ "cpu_cores": 2,
31
+ "cpu_ghz": 2.4,
32
+ "cpu_ipc_scale": 1.33,
33
+ "ram_gib": 30.52,
34
+ "net_mbps": 2343.0,
35
+ "drive": {
36
+ "name": "ephem",
37
+ "size_gib": 873,
38
+ "read_io_per_s": 150000,
39
+ "write_io_per_s": 82500,
40
+ "single_tenant": false,
41
+ "read_io_latency_ms": {
42
+ "low": 0.071,
43
+ "mid": 0.079,
44
+ "high": 0.258,
45
+ "confidence": 0.9,
46
+ "minimum_value": 0.026,
47
+ "maximum_value": 2.153
48
+ }
49
+ }
50
+ },
51
+ "i7i.2xlarge": {
52
+ "name": "i7i.2xlarge",
53
+ "cpu": 8,
54
+ "cpu_cores": 4,
55
+ "cpu_ghz": 2.4,
56
+ "cpu_ipc_scale": 1.33,
57
+ "ram_gib": 61.04,
58
+ "net_mbps": 4687.0,
59
+ "drive": {
60
+ "name": "ephem",
61
+ "size_gib": 1746,
62
+ "read_io_per_s": 300000,
63
+ "write_io_per_s": 165000,
64
+ "single_tenant": false,
65
+ "read_io_latency_ms": {
66
+ "low": 0.071,
67
+ "mid": 0.079,
68
+ "high": 0.258,
69
+ "confidence": 0.9,
70
+ "minimum_value": 0.026,
71
+ "maximum_value": 2.153
72
+ }
73
+ }
74
+ },
75
+ "i7i.4xlarge": {
76
+ "name": "i7i.4xlarge",
77
+ "cpu": 16,
78
+ "cpu_cores": 8,
79
+ "cpu_ghz": 2.4,
80
+ "cpu_ipc_scale": 1.33,
81
+ "ram_gib": 122.07,
82
+ "net_mbps": 9375.0,
83
+ "drive": {
84
+ "name": "ephem",
85
+ "size_gib": 3492,
86
+ "read_io_per_s": 600000,
87
+ "write_io_per_s": 330000,
88
+ "single_tenant": true,
89
+ "read_io_latency_ms": {
90
+ "low": 0.071,
91
+ "mid": 0.079,
92
+ "high": 0.258,
93
+ "confidence": 0.9,
94
+ "minimum_value": 0.026,
95
+ "maximum_value": 2.153
96
+ }
97
+ }
98
+ },
99
+ "i7i.8xlarge": {
100
+ "name": "i7i.8xlarge",
101
+ "cpu": 32,
102
+ "cpu_cores": 16,
103
+ "cpu_ghz": 2.4,
104
+ "cpu_ipc_scale": 1.33,
105
+ "ram_gib": 244.14,
106
+ "net_mbps": 15000.0,
107
+ "drive": {
108
+ "name": "ephem",
109
+ "size_gib": 6985,
110
+ "read_io_per_s": 1200000,
111
+ "write_io_per_s": 660000,
112
+ "single_tenant": true,
113
+ "read_io_latency_ms": {
114
+ "low": 0.071,
115
+ "mid": 0.079,
116
+ "high": 0.258,
117
+ "confidence": 0.9,
118
+ "minimum_value": 0.026,
119
+ "maximum_value": 2.153
120
+ }
121
+ }
122
+ },
123
+ "i7i.12xlarge": {
124
+ "name": "i7i.12xlarge",
125
+ "cpu": 48,
126
+ "cpu_cores": 24,
127
+ "cpu_ghz": 2.4,
128
+ "cpu_ipc_scale": 1.33,
129
+ "ram_gib": 366.21,
130
+ "net_mbps": 22500.0,
131
+ "drive": {
132
+ "name": "ephem",
133
+ "size_gib": 10477,
134
+ "read_io_per_s": 1800000,
135
+ "write_io_per_s": 990000,
136
+ "single_tenant": true,
137
+ "read_io_latency_ms": {
138
+ "low": 0.071,
139
+ "mid": 0.079,
140
+ "high": 0.258,
141
+ "confidence": 0.9,
142
+ "minimum_value": 0.026,
143
+ "maximum_value": 2.153
144
+ }
145
+ }
146
+ },
147
+ "i7i.16xlarge": {
148
+ "name": "i7i.16xlarge",
149
+ "cpu": 64,
150
+ "cpu_cores": 32,
151
+ "cpu_ghz": 2.4,
152
+ "cpu_ipc_scale": 1.33,
153
+ "ram_gib": 488.28,
154
+ "net_mbps": 30000.0,
155
+ "drive": {
156
+ "name": "ephem",
157
+ "size_gib": 13970,
158
+ "read_io_per_s": 2400000,
159
+ "write_io_per_s": 1320000,
160
+ "single_tenant": true,
161
+ "read_io_latency_ms": {
162
+ "low": 0.071,
163
+ "mid": 0.079,
164
+ "high": 0.258,
165
+ "confidence": 0.9,
166
+ "minimum_value": 0.026,
167
+ "maximum_value": 2.153
168
+ }
169
+ }
170
+ },
171
+ "i7i.24xlarge": {
172
+ "name": "i7i.24xlarge",
173
+ "cpu": 96,
174
+ "cpu_cores": 48,
175
+ "cpu_ghz": 2.4,
176
+ "cpu_ipc_scale": 1.33,
177
+ "ram_gib": 732.42,
178
+ "net_mbps": 45000.0,
179
+ "drive": {
180
+ "name": "ephem",
181
+ "size_gib": 20955,
182
+ "read_io_per_s": 3600000,
183
+ "write_io_per_s": 1980000,
184
+ "single_tenant": true,
185
+ "read_io_latency_ms": {
186
+ "low": 0.071,
187
+ "mid": 0.079,
188
+ "high": 0.258,
189
+ "confidence": 0.9,
190
+ "minimum_value": 0.026,
191
+ "maximum_value": 2.153
192
+ }
193
+ }
194
+ },
195
+ "i7i.48xlarge": {
196
+ "name": "i7i.48xlarge",
197
+ "cpu": 192,
198
+ "cpu_cores": 96,
199
+ "cpu_ghz": 2.4,
200
+ "cpu_ipc_scale": 1.33,
201
+ "ram_gib": 1464.84,
202
+ "net_mbps": 90000.0,
203
+ "drive": {
204
+ "name": "ephem",
205
+ "size_gib": 41910,
206
+ "read_io_per_s": 7200000,
207
+ "write_io_per_s": 3960000,
208
+ "single_tenant": true,
209
+ "read_io_latency_ms": {
210
+ "low": 0.071,
211
+ "mid": 0.079,
212
+ "high": 0.258,
213
+ "confidence": 0.9,
214
+ "minimum_value": 0.026,
215
+ "maximum_value": 2.153
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
@@ -82,6 +82,11 @@ def _estimate_elasticsearch_requirement( # noqa: E501 pylint: disable=too-many-
82
82
  The input desires should be the **regional** desire, and this function will
83
83
  return the zonal capacity requirement
84
84
  """
85
+ # NOTE: ElasticSearch is only using buffers for disk but CPU and disk
86
+ # have hard coded values. In a follow-up change these values (1.5 and 2)
87
+ # should be converted to buffers as well to be idiomatic with the other
88
+ # stateful models (e.g. cassandra / EVCache, kafka)
89
+
85
90
  # Keep half of the cores free for background work (merging mostly)
86
91
  needed_cores = normalize_cores(
87
92
  core_count=math.ceil(sqrt_staffed_cores(desires) * 1.5),
@@ -191,9 +196,9 @@ class NflxElasticsearchDataCapacityModel(CapacityModel):
191
196
  def default_desires(
192
197
  user_desires, extra_model_arguments: Dict[str, Any]
193
198
  ) -> CapacityDesires:
194
- return CapacityDesires(
195
- buffers=NflxElasticsearchDataCapacityModel.default_buffers()
196
- )
199
+ desires = CapacityModel.default_desires(user_desires, extra_model_arguments)
200
+ desires.buffers = NflxElasticsearchDataCapacityModel.default_buffers()
201
+ return desires
197
202
 
198
203
  @staticmethod
199
204
  def capacity_plan(
@@ -23,6 +23,14 @@ from service_capacity_modeling.interface import normalized_aws_size
23
23
 
24
24
  # Default latency curves from FIO testing per generation
25
25
  latency_curve_ms: Dict[str, FixedInterval] = {
26
+ "7th-gen-ephemeral": FixedInterval(
27
+ low=0.071,
28
+ mid=0.079,
29
+ high=0.258,
30
+ confidence=0.9,
31
+ minimum_value=0.026,
32
+ maximum_value=2.153,
33
+ ),
26
34
  "6th-gen-ssd": FixedInterval(
27
35
  low=0.1,
28
36
  mid=0.125,
@@ -60,10 +68,12 @@ aws_xlarge_iops = {
60
68
  "c6id": (67_083, 33_542),
61
69
  "c7gd": (67_083, 33_542),
62
70
  # Storage has more
71
+ # https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_instance-store
63
72
  "i3": (206_250, 70_000),
64
73
  "i3en": (85_000, 65_000),
65
74
  "i4g": (62_500, 50_000),
66
75
  "i4i": (100_000, 55_000),
76
+ "i7i": (150_000, 82_500),
67
77
  "i7ie": (108_333, 86_666),
68
78
  "i8g": (150_000, 82_500),
69
79
  }
@@ -101,6 +101,13 @@ INSTANCE_TYPES = {
101
101
  # 'io_latency_curve': '5th-gen-ssd',
102
102
  # 'cpu_ipc_scale': None
103
103
  # },
104
+ "i7i": {
105
+ "xl_iops": "150,000/82,500",
106
+ "io_latency_curve": "7th-gen-ephemeral",
107
+ "cpu_ipc_scale": EMERALD_RAPIDS_IPC,
108
+ "cpu_turbo_single_ghz": 4.0,
109
+ "cpu_turbo_all_ghz": 3.2,
110
+ },
104
111
  "m4": {
105
112
  "xl_iops": None,
106
113
  "io_latency_curve": None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: service-capacity-modeling
3
- Version: 0.3.71
3
+ Version: 0.3.73
4
4
  Summary: Contains utilities for modeling capacity for pluggable workloads
5
5
  Author: Joseph Lynch
6
6
  Author-email: josephl@netflix.com
@@ -17,6 +17,7 @@ service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6id.json,sha256=eYk
17
17
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7a.json,sha256=lsdIAFd-CIgAaz4Qpv8ZMy5smYDJQdYrAjI_saLvOQY,2414
18
18
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7i.json,sha256=ZweQIQNbVLet5KnWFwFf7COXp4Q5gE1JTDYL_Dcpdec,1996
19
19
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_c8i.json,sha256=n63Kj0B3esSZix7fmPGa8gn-JitgPkakqru328SNbs8,2435
20
+ service_capacity_modeling/hardware/profiles/shapes/aws/auto_i7i.json,sha256=M2j1UT6XTvErjGKqHAFBFlenztNNhOz-9BETs1e8nCw,5289
20
21
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_m4.json,sha256=KR4SaHUoyEkiGceUX0oxVymX3T4gx9Ze0BB9-eTucAw,1312
21
22
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5.json,sha256=a67AczNuy76LfKL4B-eTkFFGFG3GT8nsvjFHYyKNBMI,1743
22
23
  service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5n.json,sha256=UVtCfopLJKv9ACdYAWzEFIWsLm7_Dzy4GFFw_Dqtb-0,1762
@@ -53,7 +54,7 @@ service_capacity_modeling/models/org/netflix/cassandra.py,sha256=QdSurxiv9XiCK7z
53
54
  service_capacity_modeling/models/org/netflix/counter.py,sha256=hOVRRCgCPU-A5TdLKQXc_mWTQpkKOWRNjOeECdDP7kA,9205
54
55
  service_capacity_modeling/models/org/netflix/crdb.py,sha256=ELIbxwfNsJcEkNGW7qtz0SEzt3Vj6wj8QL5QQeebIlo,20635
55
56
  service_capacity_modeling/models/org/netflix/ddb.py,sha256=GDoXVIpDDY6xDB0dsiaz7RAPPj-qffTrM9N6w5-5ndg,26311
56
- service_capacity_modeling/models/org/netflix/elasticsearch.py,sha256=mYmr6DA3EyqXCsEhwJArK_VsUDLq5Pi3E8jUUEfhnRM,24729
57
+ service_capacity_modeling/models/org/netflix/elasticsearch.py,sha256=AfyqfC4Y_QDyvYLBbeq8_ReM9q54RUNrZkOsSBjBgIc,25085
57
58
  service_capacity_modeling/models/org/netflix/entity.py,sha256=M0vzwhf8UAbVxnXspAkN4GEbq3rix6yoky6W2oDG6a0,8648
58
59
  service_capacity_modeling/models/org/netflix/evcache.py,sha256=70lgaRgNwJH84o6JVoUDplkCi4v-WzEX3nxVagoJjDc,25775
59
60
  service_capacity_modeling/models/org/netflix/graphkv.py,sha256=iS5QDDv9_hNY6nIgdL-umB439qP7-jN-n6_Tl6d-ZSo,8557
@@ -68,13 +69,13 @@ service_capacity_modeling/models/org/netflix/time_series_config.py,sha256=Qrtngn
68
69
  service_capacity_modeling/models/org/netflix/wal.py,sha256=9GA7V5pZF1mKu9mM7kI9XN_i6U7Ap1oh6REzXO2ZxOM,4409
69
70
  service_capacity_modeling/models/org/netflix/zookeeper.py,sha256=BHLjnVDyx15wMGrc0QFmv9v6M95snU30WR7mhIRoa4Q,7601
70
71
  service_capacity_modeling/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- service_capacity_modeling/tools/auto_shape.py,sha256=41pfR40BN-xJS8js4BWSoqT67JhO2_XqzmNeKDoCFBo,14674
72
+ service_capacity_modeling/tools/auto_shape.py,sha256=Pe9a7vbFxqIy8eL8ssENTu9FNnFLjlZgmD-ZH2fexZs,14976
72
73
  service_capacity_modeling/tools/fetch_pricing.py,sha256=JkgJPTE0SVj8sdGQvo0HN-Hdv3nfA2tu7C_Arad5aX8,3762
73
74
  service_capacity_modeling/tools/generate_missing.py,sha256=XqUs54CPfli4XtK0rEiFKqDvpwCiMAD8wrl7fAxpYHs,3062
74
- service_capacity_modeling/tools/instance_families.py,sha256=_xTLxQXOTt91WsBy5BTyZ0Eb1PxCSr0z3RutZDXcLB4,8758
75
- service_capacity_modeling-0.3.71.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
76
- service_capacity_modeling-0.3.71.dist-info/METADATA,sha256=BfQT86730cp3Kcaiq99_IBRNFpkm0aAmxVoUh74KoLo,10214
77
- service_capacity_modeling-0.3.71.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
78
- service_capacity_modeling-0.3.71.dist-info/entry_points.txt,sha256=ZsjzpG5SomWpT1zCE19n1uSXKH2gTI_yc33sdl0vmJg,146
79
- service_capacity_modeling-0.3.71.dist-info/top_level.txt,sha256=H8XjTCLgR3enHq5t3bIbxt9SeUkUT8HT_SDv2dgIT_A,26
80
- service_capacity_modeling-0.3.71.dist-info/RECORD,,
75
+ service_capacity_modeling/tools/instance_families.py,sha256=n16oo_2dqKzZhmbubezOuAp0sVnS1H3OSeYOa8uQDJs,8980
76
+ service_capacity_modeling-0.3.73.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
77
+ service_capacity_modeling-0.3.73.dist-info/METADATA,sha256=A_NfDo4li4leU9Y_zkKSW9tpS5WOW25NB1s444l5bD0,10214
78
+ service_capacity_modeling-0.3.73.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
79
+ service_capacity_modeling-0.3.73.dist-info/entry_points.txt,sha256=ZsjzpG5SomWpT1zCE19n1uSXKH2gTI_yc33sdl0vmJg,146
80
+ service_capacity_modeling-0.3.73.dist-info/top_level.txt,sha256=H8XjTCLgR3enHq5t3bIbxt9SeUkUT8HT_SDv2dgIT_A,26
81
+ service_capacity_modeling-0.3.73.dist-info/RECORD,,