aliyun / aliyun/SimAI

SimAI-Simulation Bit Error Issue

Open
#184 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
184
Avg merge
13h 4m
Merged PRs (30d)
1

Description

In the gen_Topo_Template.py file, I additionally set -er 1e-3 to simulate link errors and evaluate performance under BER. However, the network sometimes fails to send NACK packets correctly, which causes the simulation to terminate prematurely and prevents me from obtaining results.

For topology generation,
python3 ./astra-sim-alibabacloud/inputs/topo/gen_Topo_Template.py -topo Spectrum-X -g 128 -gt A100 -bw 100Gbps -nvbw 2400Gbps -er 1e-3

For astra-sim-ns3,
AS_SEND_LAT=3 AS_NVLS_ENABLE=1 ./bin/SimAI_simulator -t 16 -w ./example/microAllReduce.txt -n ./Spectrum-X_128g_8gps_100Gbps_A100 -c astra-sim-alibabacloud/inputs/config/SimAI.conf

I’m not sure if it’s a problem with ReceiverCheckSeq.

Image

Here it only checks whether the packet sequence number matches the expected sequence number, but it doesn’t check whether the packet’s tag id (which indicates which communication flow it belongs to) is consistent. This causes some cases where packet loss is not detected.

I found that in the protocol of Infiniband (https://www.afs.enea.it/asantoro/V1r1_2_1.Release_12062007.pdf), the PSN is defined by:

Image

The PSN is defined differently from the definition of seq in the ns3 simulator. If it is defined in this way, a tag id is not required.

I hope to get your guidance and explanation on this issue!

update

I had some misunderstandings before. The problem might be that the master doesn’t have a timeout mechanism?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with gen_Topo_Template.py using the Spectrum-X command and the astra-sim-ns3 SimAI_simulator command. Inspect ReceiverCheckSeq and the master timeout behavior, then trace why NACK handling fails under -er 1e-3. Done means identifying the cause and confirming that the simulation completes and produces results under the reported configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.