NOC buffer size

Any technical questions about the Epiphany chip and Parallella HW Platform.

Moderator: aolofsson

NOC buffer size

Postby m_labbaf » Fri Aug 21, 2015 9:57 am

As I know each eMesh node has 5 connection(south, north, east, west and eCore) and router uses round-robin method to handle it.
I want to know how buffer size implemented in router, in order to handle traffic congestion? Is it probable that transferred data doesn't receive in receiver node, because as I know write procedure is based on fire and forget. How this problem solved in chip? How much buffer size used in each router?

thanks
m_labbaf
 
Posts: 20
Joined: Sun Mar 29, 2015 7:25 am

Re: NOC buffer size

Postby sebraa » Mon Aug 24, 2015 3:41 pm

Writing itself is fire-and-forget, but if the channel is busy, then the writing will stall. So there is no loss.
I think the router buffers one token.
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm

Re: NOC buffer size

Postby m_labbaf » Tue Sep 01, 2015 4:58 pm

As you say write action is fire and forget, so in order to synchronize core I use a flag which set after sending datas. It means:
Sender core:
1-send data
2-set the flag
receiver core:
1-wait for flag to set
2-reset flag
3-read data

But in my code which use 4 core, the process locked.
how I can fix this problem?
Last edited by m_labbaf on Wed Sep 02, 2015 1:49 pm, edited 1 time in total.
m_labbaf
 
Posts: 20
Joined: Sun Mar 29, 2015 7:25 am

Re: NOC buffer size

Postby sebraa » Tue Sep 01, 2015 8:46 pm

How do you know that the process is blocking?
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm

Re: NOC buffer size

Postby m_labbaf » Wed Sep 02, 2015 5:30 am

Because the process is halted (I use barrier) and I have a done flag that read from host(ARM) that doesn't set in device.
m_labbaf
 
Posts: 20
Joined: Sun Mar 29, 2015 7:25 am

Re: NOC buffer size

Postby sebraa » Wed Sep 02, 2015 1:44 pm

Your description looks good. If it locks up, that sounds like a bug in your implementation, which I can't comment on.
Usually, "blocking" means that something waits until it finishes (so that e.g. the write may be delayed), which is not the same thing as something getting stuck (e.g. the write never finishes). This was confusing me a bit.
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm

Re: NOC buffer size

Postby m_labbaf » Wed Sep 02, 2015 5:09 pm

I change the communication buffer from pointer with address that I set (e.g. 0x6000) to array and everything is good now, but I don't know why problem exist(with pointer)!
also when I using memcpy function problem appeared!
and I don't know why!
m_labbaf
 
Posts: 20
Joined: Sun Mar 29, 2015 7:25 am


Return to Epiphany and Parallella Q & A

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron