From 648873ec690b094a0489448999f69a3846aab86d Mon Sep 17 00:00:00 2001 From: Takuya ASADA Date: Tue, 10 Dec 2024 21:38:02 +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. Here's measurement environment details: - Measured on i7ie.* instances with latest version of Ubuntu 24.04 LTS AMI (We cannot use Scylla AMI since we do want to measure single drive performance) - Measured single local SSD w/o RAID0, since we simulate RAID0 performance on scylla_cloud_io_setup script from single drive performance - Use iotune for the measurement, executed 3 times for each instance size and used average of the results - Automated measurement by script: https://github.com/syuu1228/ec2_run_script Here's raw output of iotune: - i7ie.large (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 241 MB/s (deviation 11%) Measuring sequential read bandwidth: 548 MB/s (deviation 43%) Measuring random write IOPS: 47148 IOPS (deviation 27%) Measuring random read IOPS: 58450 IOPS (deviation 24%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.large (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 241 MB/s (deviation 11%) Measuring sequential read bandwidth: 548 MB/s (deviation 43%) Measuring random write IOPS: 47144 IOPS (deviation 27%) Measuring random read IOPS: 58447 IOPS (deviation 24%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.large (3/3) Creating XFS volume for scylla using 1 disk(s): /dev/nvme1n1 Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 241 MB/s (deviation 11%) Measuring sequential read bandwidth: 548 MB/s (deviation 43%) Measuring random write IOPS: 47145 IOPS (deviation 27%) Measuring random read IOPS: 58452 IOPS (deviation 24%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.xlarge (1/3) Creating XFS volume for scylla using 1 disk(s): /dev/nvme1n1 Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1095 MB/s (deviation 43%) Measuring random write IOPS: 94184 IOPS (deviation 14%) Measuring random read IOPS: 117261 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.xlarge (2/3) Creating XFS volume for scylla using 1 disk(s): /dev/nvme1n1 Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1095 MB/s (deviation 43%) Measuring random write IOPS: 94184 IOPS (deviation 14%) Measuring random read IOPS: 117261 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.xlarge (3/3) Creating XFS volume for scylla using 1 disk(s): /dev/nvme1n1 Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1095 MB/s (deviation 43%) Measuring random write IOPS: 94184 IOPS (deviation 14%) Measuring random read IOPS: 117261 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.2xlarge (1/3) Creating XFS volume for scylla using 1 disk(s): /dev/nvme1n1 Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1095 MB/s (deviation 43%) Measuring random write IOPS: 94166 IOPS (deviation 14%) Measuring random read IOPS: 117266 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.2xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1094 MB/s (deviation 43%) Measuring random write IOPS: 94161 IOPS (deviation 14%) Measuring random read IOPS: 117270 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.2xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 482 MB/s (deviation 10%) Measuring sequential read bandwidth: 1095 MB/s (deviation 43%) Measuring random write IOPS: 94177 IOPS (deviation 14%) Measuring random read IOPS: 117266 IOPS (deviation 25%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.3xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3263 MB/s (deviation 25%) Measuring random write IOPS: 119127 IOPS Measuring random read IOPS: 352843 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.3xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3263 MB/s (deviation 25%) Measuring random write IOPS: 118973 IOPS Measuring random read IOPS: 352844 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.3xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3265 MB/s (deviation 26%) Measuring random write IOPS: 119881 IOPS Measuring random read IOPS: 352817 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.6xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 6%) Measuring sequential read bandwidth: 3273 MB/s (deviation 28%) Measuring random write IOPS: 118808 IOPS Measuring random read IOPS: 352813 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.6xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 6%) Measuring sequential read bandwidth: 3266 MB/s (deviation 26%) Measuring random write IOPS: 119741 IOPS Measuring random read IOPS: 352837 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.6xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 6%) Measuring sequential read bandwidth: 3269 MB/s (deviation 27%) Measuring random write IOPS: 119246 IOPS Measuring random read IOPS: 352822 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.12xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 9%) Measuring sequential read bandwidth: 3263 MB/s (deviation 25%) Measuring random write IOPS: 119566 IOPS Measuring random read IOPS: 352835 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.12xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 9%) Measuring sequential read bandwidth: 3266 MB/s (deviation 26%) Measuring random write IOPS: 119214 IOPS Measuring random read IOPS: 352829 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.12xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 9%) Measuring sequential read bandwidth: 3265 MB/s (deviation 26%) Measuring random write IOPS: 118033 IOPS Measuring random read IOPS: 352832 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.18xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1456 MB/s (deviation 11%) Measuring sequential read bandwidth: 3267 MB/s (deviation 26%) Measuring random write IOPS: 119544 IOPS Measuring random read IOPS: 352825 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.18xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1456 MB/s (deviation 11%) Measuring sequential read bandwidth: 3266 MB/s (deviation 26%) Measuring random write IOPS: 119555 IOPS Measuring random read IOPS: 352816 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.18xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1456 MB/s (deviation 11%) Measuring sequential read bandwidth: 3269 MB/s (deviation 27%) Measuring random write IOPS: 119518 IOPS Measuring random read IOPS: 352815 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.24xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3266 MB/s (deviation 26%) Measuring random write IOPS: 119147 IOPS Measuring random read IOPS: 352824 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.24xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3264 MB/s (deviation 25%) Measuring random write IOPS: 119154 IOPS Measuring random read IOPS: 352832 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.24xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3266 MB/s (deviation 26%) Measuring random write IOPS: 119535 IOPS Measuring random read IOPS: 352826 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.48xlarge (1/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 13%) Measuring sequential read bandwidth: 3264 MB/s (deviation 25%) Measuring random write IOPS: 119516 IOPS Measuring random read IOPS: 352834 IOPS (deviation 18%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.48xlarge (2/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3265 MB/s (deviation 26%) Measuring random write IOPS: 119574 IOPS Measuring random read IOPS: 352831 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf - i7ie.48xlarge (3/3) Starting Evaluation. This may take a while... Measuring sequential write bandwidth: 1455 MB/s (deviation 12%) Measuring sequential read bandwidth: 3269 MB/s (deviation 27%) Measuring random write IOPS: 119226 IOPS Measuring random read IOPS: 352815 IOPS (deviation 19%) Writing result to /etc/scylla.d/io_properties.yaml Writing result to /etc/scylla.d/io.conf Closes #559 --- common/aws_io_params.yaml | 20 ++++++++++++++++++++ lib/scylla_cloud.py | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/common/aws_io_params.yaml b/common/aws_io_params.yaml index 74098c8c..2b237f84 100644 --- a/common/aws_io_params.yaml +++ b/common/aws_io_params.yaml @@ -558,3 +558,23 @@ i4i.metal: read_bandwidth: 3088599296 write_iops: 239549 write_bandwidth: 2302438912 +i7ie.large: + read_iops: 58449 + read_bandwidth: 574854656 + write_iops: 47145 + write_bandwidth: 253132917 +i7ie.xlarge: + read_iops: 117257 + read_bandwidth: 1148572714 + write_iops: 94180 + write_bandwidth: 505684885 +i7ie.2xlarge: + read_iops: 117257 + read_bandwidth: 1148572714 + write_iops: 94180 + write_bandwidth: 505684885 +i7ie.ALL: + read_iops: 352834 + read_bandwidth: 3422623232 + write_iops: 119327 + write_bandwidth: 1526442410 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':