Skip to content

aws: add i8g instance type #676

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions common/aws_io_params.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -588,3 +588,48 @@ i7ie.ALL:
read_bandwidth: 3422623232
write_iops: 119327
write_bandwidth: 1526442410
i8g.large:
read_iops: 82268
read_bandwidth: 605359957
write_iops: 45598
write_bandwidth: 419360096
i8g.xlarge:
read_iops: 164442
read_bandwidth: 1216944170
write_iops: 90446
write_bandwidth: 838613674
i8g.2xlarge:
read_iops: 328275
read_bandwidth: 2438557696
write_iops: 134545
write_bandwidth: 1687947733
i8g.4xlarge:
read_iops: 553607
read_bandwidth: 4797597013
write_iops: 140814
write_bandwidth: 3419948373
i8g.8xlarge:
read_iops: 527429
read_bandwidth: 4797424981
write_iops: 139669
write_bandwidth: 3421133482
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's the same as i8g.4xlarge, while all previous ones scaled quite linearly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that it's the top for write starting 4xlarge and above.
Does it make sense?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it seems like i8g.4xlarge and above are same performance, when measuring per single disk (number of disks will increase when instance size become larger, so RAID0 performance probably will increase).
(see detail of the result at #676 (comment))

Maybe we should make these entries into one, something like (we have such virtual instance size named "ALL"):

i8g.ALL:
  read_iops: 553607
  read_bandwidth: 4797597013
  write_iops: 140814
  write_bandwidth: 3419948373

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avikivity does it make sense to you?
It seems like it would be better to use multiple i8g.4x than scale up to i8g.8x and above.

i8g.12xlarge:
read_iops: 511314
read_bandwidth: 4794307754
write_iops: 139187
write_bandwidth: 3421301930
i8g.16xlarge:
read_iops: 505671
read_bandwidth: 4797634048
write_iops: 139999
write_bandwidth: 3420557226
i8g.24xlarge:
read_iops: 518127
read_bandwidth: 4796989610
write_iops: 139994
write_bandwidth: 3423059285
i8g.metal-24xl:
read_iops: 511950
read_bandwidth: 4788620288
write_iops: 139157
write_bandwidth: 3419887189
4 changes: 2 additions & 2 deletions lib/scylla_cloud.py
Original file line number Diff line number Diff line change
Expand Up @@ -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', 'i7ie']:
if self.instance_class() in ['i2', 'i3', 'i3en', 'c5d', 'm5d', 'm5ad', 'r5d', 'z1d', 'c6gd', 'm6gd', 'r6gd', 'x2gd', 'im4gn', 'is4gen', 'i4i', 'i4g', 'i7ie', 'i8g']:
return True
return False

Expand All @@ -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', 'i7ie']:
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', 'i8g']:
return 'ena'
if instance_class == 'm4':
if instance_size == '16xlarge':
Expand Down