gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Inquiry Regarding 3D Stacked Mesh Topology in Garnet

AK
Ali Karazmoodeh
Mon, Mar 25, 2024 2:39 PM

Dear community,

I have already established a symmetric 3D mesh using Garnet internal links
as Through-Silicon Vias (TSVs). However, my current interest lies in
developing a 3D stacked mesh where a bus serves as the interlayer
communication mechanism. Utilizing a bus for vertical communication, as
opposed to point-to-point links, has the potential to enhance performance
by reducing the number of hops in the vertical direction to just one.
However, I am aware that higher traffic rates may lead to congestion within
the system.

My question is whether I need to create and integrate a separate bus module
into Garnet for achieving the 3D stacked mesh topology, or if I can achieve
the desired functionality using the existing Garnet SimObjects.

Thank you for your assistance.

Kind regards, Ali

Dear community, I have already established a symmetric 3D mesh using Garnet internal links as Through-Silicon Vias (TSVs). However, my current interest lies in developing a 3D stacked mesh where a bus serves as the interlayer communication mechanism. Utilizing a bus for vertical communication, as opposed to point-to-point links, has the potential to enhance performance by reducing the number of hops in the vertical direction to just one. However, I am aware that higher traffic rates may lead to congestion within the system. My question is whether I need to create and integrate a separate bus module into Garnet for achieving the 3D stacked mesh topology, or if I can achieve the desired functionality using the existing Garnet SimObjects. Thank you for your assistance. Kind regards, Ali
KT
Krishna, Tushar
Wed, Apr 3, 2024 10:23 PM

Good question.
A bus will have N input ports and N output ports but only one of the input ports allowed to transmit per cycle. I don’t think any module will directly give you this functionality.
So you may need to create a new bus module, but you should be able to reuse the arbiter module from the router.

Cheers,
Tushar
On Mar 25, 2024 at 2:12 PM -0400, Ali Karazmoodeh via gem5-users gem5-users@gem5.org, wrote:

Dear community,

I have already established a symmetric 3D mesh using Garnet internal links as Through-Silicon Vias (TSVs). However, my current interest lies in developing a 3D stacked mesh where a bus serves as the interlayer communication mechanism. Utilizing a bus for vertical communication, as opposed to point-to-point links, has the potential to enhance performance by reducing the number of hops in the vertical direction to just one. However, I am aware that higher traffic rates may lead to congestion within the system.

My question is whether I need to create and integrate a separate bus module into Garnet for achieving the 3D stacked mesh topology, or if I can achieve the desired functionality using the existing Garnet SimObjects.

Thank you for your assistance.

Kind regards, Ali

Good question. A bus will have N input ports and N output ports but only one of the input ports allowed to transmit per cycle. I don’t think any module will directly give you this functionality. So you may need to create a new bus module, but you should be able to reuse the arbiter module from the router. Cheers, Tushar On Mar 25, 2024 at 2:12 PM -0400, Ali Karazmoodeh via gem5-users <gem5-users@gem5.org>, wrote: Dear community, I have already established a symmetric 3D mesh using Garnet internal links as Through-Silicon Vias (TSVs). However, my current interest lies in developing a 3D stacked mesh where a bus serves as the interlayer communication mechanism. Utilizing a bus for vertical communication, as opposed to point-to-point links, has the potential to enhance performance by reducing the number of hops in the vertical direction to just one. However, I am aware that higher traffic rates may lead to congestion within the system. My question is whether I need to create and integrate a separate bus module into Garnet for achieving the 3D stacked mesh topology, or if I can achieve the desired functionality using the existing Garnet SimObjects. Thank you for your assistance. Kind regards, Ali