From 7f6bf1c440fbf0a20b9d3ee6e91cedafdbaa2777 Mon Sep 17 00:00:00 2001 From: Takuya ASADA Date: Thu, 5 Dec 2024 23:12:51 +0900 Subject: [PATCH] aws: add i7ie instance type Adding preset io parameters of i7ie to scylla_cloud_io_setup, and also added i7ie to supported instance type on aws_instance class. All preset values are measured by iotune on target instances. Measured 3 times for each instance types, and used average of the results. Closes #559 --- common/scylla_cloud_io_setup | 15 +++++++++++++++ lib/scylla_cloud.py | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/common/scylla_cloud_io_setup b/common/scylla_cloud_io_setup index 5cd51a66..ca9ad6df 100755 --- a/common/scylla_cloud_io_setup +++ b/common/scylla_cloud_io_setup @@ -423,6 +423,21 @@ class aws_io_setup(cloud_io_setup): self.disk_properties["read_bandwidth"] = 3088599296 * nr_disks self.disk_properties["write_iops"] = 239549 * nr_disks self.disk_properties["write_bandwidth"] = 2302438912 * nr_disks + elif self.idata.instancetype == "i7ie.large": + self.disk_properties["read_iops"] = 58449 + self.disk_properties["read_bandwidth"] = 574854656 + self.disk_properties["write_iops"] = 47145 + self.disk_properties["write_bandwidth"] = 253132917 + elif self.idata.instancetype in ("i7ie.xlarge", "i7ie.2xlarge"): + self.disk_properties["read_iops"] = 117257 * nr_disks + self.disk_properties["read_bandwidth"] = 1148572714 * nr_disks + self.disk_properties["write_iops"] = 94180 * nr_disks + self.disk_properties["write_bandwidth"] = 505684885 * nr_disks + elif self.idata.instancetype in ("i7ie.3xlarge", "i7ie.6xlarge", "i7ie.12xlarge", "i7ie.18xlarge", "i7ie.24xlarge", "i7ie.48xlarge"): + self.disk_properties["read_iops"] = 352834 * nr_disks + self.disk_properties["read_bandwidth"] = 3422623232 * nr_disks + self.disk_properties["write_iops"] = 119327 * nr_disks + self.disk_properties["write_bandwidth"] = 1526442410 * nr_disks if "read_iops" in self.disk_properties: self.save() diff --git a/lib/scylla_cloud.py b/lib/scylla_cloud.py index 4861ff7e..cdbc768e 100644 --- a/lib/scylla_cloud.py +++ b/lib/scylla_cloud.py @@ -812,7 +812,7 @@ def instance_class(self): return self._type.split(".")[0] def is_supported_instance_class(self): - if self.instance_class() in ['i2', 'i3', 'i3en', 'c5d', 'm5d', 'm5ad', 'r5d', 'z1d', 'c6gd', 'm6gd', 'r6gd', 'x2gd', 'im4gn', 'is4gen', 'i4i', 'i4g']: + if self.instance_class() in ['i2', 'i3', 'i3en', 'c5d', 'm5d', 'm5ad', 'r5d', 'z1d', 'c6gd', 'm6gd', 'r6gd', 'x2gd', 'im4gn', 'is4gen', 'i4i', 'i4g', 'i7ie']: return True return False @@ -826,7 +826,7 @@ def get_en_interface_type(self): instance_size = self.instance_size() if instance_class in ['c3', 'c4', 'd2', 'i2', 'r3']: return 'ixgbevf' - if instance_class in ['a1', 'c5', 'c5a', 'c5d', 'c5n', 'c6g', 'c6gd', 'f1', 'g3', 'g4', 'h1', 'i3', 'i3en', 'inf1', 'm5', 'm5a', 'm5ad', 'm5d', 'm5dn', 'm5n', 'm6g', 'm6gd', 'p2', 'p3', 'r4', 'r5', 'r5a', 'r5ad', 'r5b', 'r5d', 'r5dn', 'r5n', 't3', 't3a', 'u-6tb1', 'u-9tb1', 'u-12tb1', 'u-18tn1', 'u-24tb1', 'x1', 'x1e', 'z1d', 'c6g', 'c6gd', 'm6g', 'm6gd', 't4g', 'r6g', 'r6gd', 'x2gd', 'im4gn', 'is4gen', 'i4i', 'i4g']: + if instance_class in ['a1', 'c5', 'c5a', 'c5d', 'c5n', 'c6g', 'c6gd', 'f1', 'g3', 'g4', 'h1', 'i3', 'i3en', 'inf1', 'm5', 'm5a', 'm5ad', 'm5d', 'm5dn', 'm5n', 'm6g', 'm6gd', 'p2', 'p3', 'r4', 'r5', 'r5a', 'r5ad', 'r5b', 'r5d', 'r5dn', 'r5n', 't3', 't3a', 'u-6tb1', 'u-9tb1', 'u-12tb1', 'u-18tn1', 'u-24tb1', 'x1', 'x1e', 'z1d', 'c6g', 'c6gd', 'm6g', 'm6gd', 't4g', 'r6g', 'r6gd', 'x2gd', 'im4gn', 'is4gen', 'i4i', 'i4g', 'i7ie']: return 'ena' if instance_class == 'm4': if instance_size == '16xlarge':