booksim / booksim2

BookSim 2.0
http://nocs.stanford.edu/booksim.html
Other
251 stars 158 forks source link

How to simulate multicast? #35

Open Yifanzhou-0713 opened 1 year ago

Yifanzhou-0713 commented 1 year ago

Hi, I'm trying to simulate a multicast network by booksim2, and I wonder if there is any existing module for multicasting, or if someone has already tried to implement it. I'm currently working with the trafficmanager and routing algorithm parts, but the codes are too complex for me to modify. Hope someone can help me. Thanks so much!

twilight1996 commented 1 year ago

Hey Yifanzhoun I haven't searched for it yet. But if you didn't find anything that supported this capability, you can change the generate packet ((TrafficManager::_GeneratePacket) function. It gets the source and generates the destination from any synthetic pattern traffic that you use. Also if you use this version(https://github.com/booksim/booksim2/releases/tag/svn_classes) it can generate a packet from every source and destination that you want, so you can pass more than one destination for a source to this function (I mean, you can change the parameters of this function) .

Yifanzhou-0713 commented 1 year ago

Hi twilight1996! Thanks so much for your reply. I try another open source NoC simulator these days :-) I have modified the generate packet ((TrafficManager::_GeneratePacket) function before. I'm sure the main question is to modify the simultaion (TrafficManager::_Step) function and I have also done before correspondingly. I just can't understand the flit queue, it seems every packet and flit owns a unique id, while branching, more flits will be copied and the queue will be out of order. Then I don't know how to solve this problem :-(. Anyway, thanks again for your enthusiastic answer :-)!!!!

zhouwq13 commented 4 months ago

Hi twilight1996! Thanks so much for your reply. I try another open source NoC simulator these days :-) I have modified the generate packet ((TrafficManager::_GeneratePacket) function before. I'm sure the main question is to modify the simultaion (TrafficManager::_Step) function and I have also done before correspondingly. I just can't understand the flit queue, it seems every packet and flit owns a unique id, while branching, more flits will be copied and the queue will be out of order. Then I don't know how to solve this problem :-(. Anyway, thanks again for your enthusiastic answer :-)!!!!

Hi Yifan! Can you please share the other open source NOC simulator ? Thank you so much!