[HPC] C3.8xlarge のRHEL6.4 HVMで SR-IOVを有効にする
CC2 (Sandy Bridge) の後継 C3 (Ivy Bridge)が追加された。
詳しくはこちらを参考のこと。
Amazon Web Services ブログ: 【AWS発表】 新世代の数値計算向けEC2インスタンス
HPCの観点から見ると、CC2.8xlarge の後継に当たるのは C3.8xlarge となる。
スベック比較は以下の通り
c3.8xlarge | cc2.8xlarge | cc1.4xlarge | |
vCPU数 | 32 | 32 | 16 |
総ECU | 108 | 88 | 33.5 |
RAM(GiB) | 60 | 60.5 | 23 |
インスタンス ストレージ |
2 x 320(SSD) | 4 x 840 | 2 x 840 |
CPU | Xeon E5-2680v2 (Ivy Bridge) |
Xeon E5-2670 (Sandy Bridge) |
Xeon X5570 (Nehalem) |
NIC | High | 10GbE | 10GbE |
その中でも特に注目すべき点は、ネットワークI/Oの改善( Enhanced Networking)で、C3はSR-IOVをサポートしている。
※SR-IOVについてはこちら。(PCI-SIG SR-IOV Primer: An Introduction to SR-IOV Technology )
SR-IOVを使うには、3つの条件が必要
- ・VPC内でHVM AMIをC3.8xlargeで起動する
- ・OS側で ixvgevf ドライバを有効にする
- ・インスタンスの属性 sriovNetSupport を有効にする(もしくは sriovNetSupportが有効になったHVM AMIで起動する)
1については割愛。2については、Amazon Linux 2013.9 では有効になっているので、気にしなくて良い。
以下、RHEL 6.4 HVM AMIで、SR-IOVを有効にする手順。
1. VPCで起動
$ ec2-run-instances ami-18a23f28 -t c3.8xlarge -s subnet-xxxxx \ -k id_rsa -g sg-xxxxxx --region us-west-2 --private-ip-address 172.16.11.204
2. OSでixvgevfドライバを入れる
ixvgevfドライバのビルドに必要な前処理
# sudo yum -y update # sudo yum -y install gcc make kernel-devel kernel-headers $sudo reboot
3.ドライバダウンロード、ビルド、インストール
$ wget "http://downloads.sourceforge.net/project/e1000/ixgbevf stable/2.11.3/ixgbevf-2.11.3.tar.gz" $ tar zxvf ixgbevf-2.11.3.tar.gz $ cd ixgbevf-2.11.3/src $ sudo make install $ sudo su - # echo "options ixgbevf InterruptThrottleRate=1,1,1,1,1,1,1,1" > /etc/modprobe.d/ixgbevf.conf # reboot
4.インスタンス停止,属性sriov変更,起動
$ ec2-stop-instances i-xxxxxx --region us-west-2
$ ec2-modify-instance-attribute --region us-west-2 --sriov simple i-xxxxxx
$ ec2-start-instances i-xxxxxx --region us-west-2
5.確認
$ /sbin/ethtool -i eth0 | grep driver driver: ixgbevf
注意
ixgbevf をセットアップする前に、 sriovNetSupportを有効にして起動してしまうと、NICが有効にならずにOSが起動してしまい、リモートからアクセスできなくなる。必ず、 上記3の手順をした後に 4をすること。
参考
Enabling Enhanced Networking on Linux Instances in a VPC - Amazon Elastic Compute Cloud