Skip to content

Commit ec4d5fd

Browse files
AWSaallurikristopk
authored andcommitted
V1_4_6b changes. (#451)
adding kernel version warning for SDAccel runtime setup Adding instance placement group documentation to virtual ethernet application guide.
1 parent e5b68dd commit ec4d5fd

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

SDAccel/kernel_version.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
3.10.0-862.11.6.el7.x86_64
2+
3.10.0-693.21.1.el7.x86_64

sdaccel_runtime_setup.sh

+16-2
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,20 @@ function check_xocl_driver {
103103
fi
104104
}
105105

106+
function check_kernel_ver {
107+
108+
ins_ker_ver=$(uname -r)
109+
info_msg "Installed kernel version : $ins_ker_ver"
110+
if grep -Fxq "$ins_ker_ver" $AWS_FPGA_REPO_DIR/SDAccel/kernel_version.txt
111+
then
112+
info_msg "kernel version $ins_ker_ver has been validated for this devkit."
113+
else
114+
warn_msg "$ins_ker_ver does not match one of recommended kernel versions"
115+
cat $AWS_FPGA_REPO_DIR/SDAccel/kernel_version.txt
116+
warn_msg "Xilinx Runtime not validated against your installed kernel version."
117+
fi
118+
119+
}
106120
# Process command line args
107121
args=( "$@" )
108122
for (( i = 0; i < ${#args[@]}; i++ )); do
@@ -147,14 +161,14 @@ fi
147161
info_msg "VIVADO_TOOL_VERSION is $VIVADO_TOOL_VERSION"
148162

149163

150-
164+
check_kernel_ver
151165
check_xdma_driver
152166
check_edma_driver
153167

154168
if [[ "$VIVADO_TOOL_VERSION" =~ .*2018\.2.* ]]; then
155169
info_msg "Xilinx Vivado version is 2018.2"
156170

157-
if override; then
171+
if [ $override == 1 ]; then
158172
info_msg "XRT check overide selected."
159173
source /opt/xilinx/xrt/setup.sh
160174
return 0

sdk/apps/virtual-ethernet/doc/Virtual_Ethernet_Application_Guide.md

+12-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Please refer to [DPDK testpmd](#testpmd) for a quick reference guide on the supp
6363

6464
This example maximizes PPS for 64B packets with a single vCPU using two instances to test end-to-end traffic flows.
6565

66-
In the below diagram, the `red` line shows the Ethernet frame path from the **Packet Generator Instance** into the CL streaming application in the **Virtual Ethernet Instance**. The `blue` line shows the Ethernet frame path from the CL streaming application in the **Virtual Ethernet Instance** to the **Packet Generator Instance**. For best performance, the **Virtual Ethernet Instance** and the **Packet Generator Instance** should be created in the same VPC and placement group.
66+
In the below diagram, the `red` line shows the Ethernet frame path from the **Packet Generator Instance** into the CL streaming application in the **Virtual Ethernet Instance**. The `blue` line shows the Ethernet frame path from the CL streaming application in the **Virtual Ethernet Instance** to the **Packet Generator Instance**. For best performance, the **Virtual Ethernet Instance** and the **Packet Generator Instance** should be created in the same VPC and placement group<sup>[\*](#PlacementGroups)</sup>. It should also be an instance type which [supports the Elastic Network Adapter](#EnaInstances) (driver) type of Enhanced Networking. This example was tested using an `m5.2xlarge` and an `f1.2xlarge` as the **Packet Generator Instance**.
6767

6868
![alt tag](../images/Virtual_Ethernet_Pktgen.jpg)
6969

@@ -72,7 +72,7 @@ In the below diagram, the `red` line shows the Ethernet frame path from the **Pa
7272
* This workflow sets up the DPDK testpmd application for port-to-port forwarding through the DPDK ENA PMD, the DPDK SPP PMD and SDE. It then runs testpmd in auto-start mode and displays packet statistics every 3 seconds (including PPS). To exit testpmd, use `ctrl-c`.
7373

7474
* **Traffic Generator Instance**
75-
* The Traffic Generator instance uses pktgen-dpdk to send max PPS towards the Virtual Ethernet instance.
75+
* The Traffic Generator instance uses pktgen-dpdk to send max PPS towards the Virtual Ethernet instance. This example was tested using an `m5.2xlarge` and an `f1.2xlarge`.
7676

7777
* **Network Interface Setup**
7878
* This example workflow places the PacketGen traffic on `eth1`, and reserves `eth0` for your SSH sessions and other control plane traffic.
@@ -355,3 +355,13 @@ network_devices = [network_class, cavium_pkx, avp_vnic, aws_fpga_sde, <your tag>
355355
```
356356

357357
You should then run the `virtual_ethernet_setup.py` script which will re-run the `dpdk-devbind.py` script to bind DPDK and SPP to your Vendor and Device Id.
358+
359+
<a name="EnaInstances"></a>
360+
### Q: What instance types support Enhanced Networking?
361+
362+
At the time of writing, compatible instance types are A1, C5, C5d, C5n, F1, G3, H1, I3, `m4.16xlarge`, M5, M5a, M5d, P2, P3, R4, R5, R5a, R5d, T3, `u-6tb1.metal`, `u-9tb1.metal`, `u-12tb1.metal`, X1, X1e, and z1d. For more information, see the documentation on [Enhanced Networking on Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html).
363+
364+
<a name="PlacementGroups"></a>
365+
### Q: Why can't I launch instance type X in a placement group with an F1?
366+
367+
When you launch instances in a cluster placement group, AWS attempts to launch those instances on hardware which share high capacity networking infrastructure. It is not always possible to launch heterogeneous instance types within such a group. This depends on the underlying arrangement of this physical hardware. If it is not possible to launch an instance of the desired type in a placement group with an F1, try using another F1 instance as the packet generator instance. For more information, see the [documentation on placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster).

0 commit comments

Comments
 (0)