Thank you for your reply, I will check the NetworkInterface.cc file.

Best Regards,
*Eng. Karim Soliman*
Teaching Assistant
Computer Engineering Department
Pharos University in Alexandria (P.U.A)


On Mon, Sep 11, 2023 at 7:18 PM Krishna, Tushar <tus...@ece.gatech.edu>
wrote:

> The decision for virtual network is made here:
> Garnet Synthetic Traffic
> <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/>
> gem5.org
> <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/>
> [image: apple-touch-icon.png]
> <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/>
> <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/>
> And depends on the coherence protocol. For eg the garnet stand-alone
> protocol has three vnets.
> Garnet standalone
> <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/>
> gem5.org
> <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/>
> [image: apple-touch-icon.png]
> <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/>
> <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/>
>
> By default req, fwd and resp Go to vnets 0, 1 and 2. For garnet synthetic
> the words req, fwd and resp are meaningless as it’s not simulating actual
> coherence .. just that req and fwd are 1 flit while resp is 5 flit.
>
> You could either make changes at this level (might be harder) OR you can
> maybe hack into NetworkInterface.cc in the garnet folder .. see the wakeup
> function and how it gets packets from protocol and injects them into the
> vnets and make changes there ..
>
> Cheers,
> Tushar
>
> On Sep 11, 2023, at 12:11 AM, Karim Soliman via gem5-users <
> gem5-users@gem5.org> wrote:
>
> 
> Hey everyone, hope you all are doing well.
> For my research purposes, which is about Network-on-Chip routing
> algorithms and the effects of using different virtual networks and virtual
> channels.
> I have successfully run the PARSEC benchmark suite with the 2D-Mesh
> topology and it's working well, I have used the following:
>
>    - Gem5 - version 23 [X86.opt]
>    - Linux kernel: x86-linux-kernel-4.19.83
>    - PARSEC disk image: downloaded from
>    
> https://resources.gem5.org/resources/x86-parsec/versions?database=gem5-resources&version=1.0.0
>    - Used operating system is Ubuntu 18.04.
>
> What I'm trying to do is set specific criteria for deciding which virtual
> network a packet will belong to when it's being injected.
> I implemented such a method when I used a synthetic traffic generator and
> it worked, my modifications were in the file ==>
> src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
>
> I tried to std::cout the used virtual network and virtual channels, in ==>
> src/mem/ruby/network/garnet/InputUnit.cc, and I found that the default
> configurations being used in the simulation are 3 virtual networks [0, 1,
> 2] and each virtual network has 4 virtual channels.
>
> I'm inquiring about where I can locate the function that handles the
> injection of packets into the network.
>
>
> Best Regards,
> *Eng. Karim Soliman*
> Teaching Assistant
> Computer Engineering Department
> Pharos University in Alexandria (P.U.A)
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to