Skip to content

Commit 65547ff

Browse files
liorsveikolomi
authored andcommitted
added c5.metal cpu validation
Signed-off-by: Lior Sventitzky <liorsve@amazon.com>
1 parent 8bf5811 commit 65547ff

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

.github/workflows/benchmark.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,48 @@ jobs:
8888
timeout-minutes: 30
8989

9090
steps:
91+
- name: Validate EC2 type and CPU model
92+
run: |
93+
# c5.metal: Intel Xeon Platinum 8275CL (Cascade Lake), 96 vCPUs, 2 NUMA nodes
94+
EXPECTED_INSTANCE_TYPE="c5.metal"
95+
EXPECTED_CPU="8275CL"
96+
EXPECTED_STEPPING="7"
97+
EXPECTED_VCPUS="96"
98+
99+
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds:60")
100+
INSTANCE_TYPE=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-type)
101+
CPU_MODEL=$(grep 'model name' /proc/cpuinfo | head -1 | sed 's/.*: //')
102+
CPU_STEPPING=$(lscpu | grep '^Stepping:' | awk '{print $2}')
103+
CPU_COUNT=$(nproc)
104+
105+
echo "Instance type: $INSTANCE_TYPE"
106+
echo "CPU: $CPU_MODEL"
107+
echo "Stepping: $CPU_STEPPING"
108+
echo "vCPUs: $CPU_COUNT"
109+
lscpu | grep -E 'Model name|Stepping|CPU max MHz|CPU\(s\):|NUMA'
110+
111+
ERRORS=""
112+
if [ "$INSTANCE_TYPE" != "$EXPECTED_INSTANCE_TYPE" ]; then
113+
ERRORS="${ERRORS}Instance type: expected '$EXPECTED_INSTANCE_TYPE', got '$INSTANCE_TYPE'\n"
114+
fi
115+
if ! echo "$CPU_MODEL" | grep -q "$EXPECTED_CPU"; then
116+
ERRORS="${ERRORS}CPU model: expected '$EXPECTED_CPU', got '$CPU_MODEL'\n"
117+
fi
118+
if [ "$CPU_STEPPING" != "$EXPECTED_STEPPING" ]; then
119+
ERRORS="${ERRORS}Stepping: expected '$EXPECTED_STEPPING', got '$CPU_STEPPING'\n"
120+
fi
121+
if [ "$CPU_COUNT" != "$EXPECTED_VCPUS" ]; then
122+
ERRORS="${ERRORS}vCPU count: expected '$EXPECTED_VCPUS', got '$CPU_COUNT'\n"
123+
fi
124+
125+
if [ -n "$ERRORS" ]; then
126+
echo "ERROR: Hardware validation failed:"
127+
echo -e "$ERRORS"
128+
echo "This machine does not match expected c5.metal specs. Failing early to avoid inconsistent benchmark results."
129+
exit 1
130+
fi
131+
echo "✓ Hardware validated: $CPU_MODEL, stepping $CPU_STEPPING, $CPU_COUNT vCPUs"
132+
91133
- uses: actions/checkout@v4
92134

93135
- name: Set up Java 21 and Maven

0 commit comments

Comments
 (0)