Hi Rohn,
Thanks for your reply and the hints.. I didnt step into the function to
see where exactly it crashes so its good to know that the fix is simple
as that..
On the other hand the second problem was due to my fault.. ( some old
code not properly cleaned up ) so RSP seems to actually work fine now,
although from purely qualitative tests it seems for me that the unicast
approach performs smoother..
i.e for 1000 shared objects just hitting a button and updating one bool
flag seems to block for a fraction of a second or so with RSP when with
the standard approach it seems I am not experiencing this issue for example.
Mapping also seems faster without RSP although from what I ve read in
previous posts this can be expected..
Anyways, thanks for the insights and all the best,
Petros
On 2014-11-24 08:03, ROHN Carsten wrote:
I don't know what your line 700 looks like, unfortunately. But the segfault we
resolved locally by a simple null pointer check.
Carsten
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Petros Kataras
Sent: Freitag, 21. November 2014 17:13
To: Equalizer Developer List
Subject: Re: [eq-dev] RSP / mutlicast details
Ok, looking again at the logs on the slaves side I realized that they were
trying to resolve the hostname of the master so I added it to the known hosts
and RSP seems to work now..
I m having other issues though that do not manifest when running the app
normally without RSP.
I have a shared object that actually seems to map and work fine but I get an
LBUNREACHABLE from objectStore.cpp line 700 . Reading through the source I
can't figure exactly where the issue might lie and as I mentioned the object
seems to register and map properly on the master and client side respectively..
Besides that I am also getting a segfault when exiting the app inside
EventConnection::getNotifier() when running the RSP config. This segfault
happens also with eqPly / seqPly and so on but I don't really have time to
debug it right now...
Anyways I think for now I am gonna stick with unicast and maybe later on I ll
give it a try again..
Thanks for the help anyways..
Cheers,
Petros
On Nov 21, 2014, at 10:11 AM, Petros Kataras <[email protected]> wrote:
Hi Rohn,
thanks for your reply!
I am pretty sure that multicast works properly on the network setup since I
tested with a simple node.js client/server script and I am able to receive
multicast in this case..
The only problem that I faced in that case was that I had to listen to 0.0.0.0
in order to actually receive the multicast. i.e If I would try to listen for
multicast explicitly on the 172 interface then I was not receiving anything..
I am not sure though if this is expected behavior with node.js or not..
Also something that I didn't mention on my previous post is that the appNode
has two network interfaces; one to communicate with the external world and one
for the local subnet ( of course with the multicast route configured for the
appropriate interface ). As I said though this seems to work in general from
the small test that I did with node.js.
I will try with coNetPerf today also and I will come back to you with more
details also on where exactly the appNode hangs.
Thanks again,
Petros
On Nov 21, 2014, at 8:25 AM, ROHN Carsten <[email protected]> wrote:
Hey Petros,
The config you posted will not send any RSP packets. Clients listen
to RSP, but the appNode doesn't send anything. If you uncomment the
commented stuff on the appNode, RSP starts working, and that's
probably why it hangs ;)
There could be a lot of reasons for hanging. I recommend to experiment with
coNetPerf first, if multicast really works in your network with your setup.
Server1: coNetPerf -s RSP#102400#239.172.18.57#172.18.57.12#12333##
Server2: coNetPerf -s RSP#102400#239.172.18.57#172.18.57.13#12333##
Serverx: ...
Client: coNetPerf -c RSP#102400#239.172.18.57#172.18.57.11#12333##
Does this test show packets being sent to the servers as you expect it? If yes,
your problem is not multicast, but how Collage handles multicast. And that's
where the debugging starts, I'm afraid. Where exactly does it hang?
Cheers,
Carsten
PS: A general note: We found multicast to be working pretty poorly for mapping,
so we had to use the *CM::push() functions to distribute data and mapped the
created objects to VERSION_NONE afterwards. This scales pretty well.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Petros.Kataras
Sent: Donnerstag, 20. November 2014 18:40
To: [email protected]
Subject: [eq-dev] RSP / mutlicast details
Hello,
I am trying to setup a cluster with 1 master and 9 slaves that will use RSP for
mapping and delta distribution but I am not sure how the config file should
look exactly on the master side aka appNode..
Here is the config file that I have created so far:
#Equalizer 1.2 ascii
global
{
EQ_WINDOW_IATTR_HINT_FULLSCREEN ON
EQ_WINDOW_IATTR_HINT_SWAPSYNC OFF
}
server
{
connection { hostname "172.18.57.11" }
config
{
appNode
{
name "appNode"
host "sw-master"
connection{ type TCPIP }
connection
{
#type RSP
#port 12333
#interface "172.18.57.11"
#hostname "239.172.18.57"
hostname "172.18.57.11"
}
pipe
{
device 0
window
{
name "master"
attributes { hint_fullscreen OFF }
viewport [ .0 .0 1920 1080 ]
channel { name "master-channel" }
}
}
}
node
{
name "node1"
host "sw-renderer01"
connection{ type TCPIP }
connection
{
type RSP
port 12333
interface "172.18.57.12"
hostname "239.172.18.57"
}
pipe
{
device 0
window
{
name "node1"
viewport [ 0 0 1 1 ]
channel { name "node1-channel" }
}
}
}
node
{
name "node2"
host "sw-renderer02"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.13"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node2"
viewport [ 0 0 1 1 ]
channel { name "node2-channel" }
}
}
}
node
{
name "node3"
host "sw-renderer03"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.14"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node3"
viewport [ 0 0 1 1 ]
channel { name "node3-channel" }
}
}
}
node
{
name "node4"
host "sw-renderer04"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.15"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node4"
viewport [ 0 0 1 1 ]
channel { name "node4-channel" }
}
}
}
node
{
name "node5"
host "sw-renderer05"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.16"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node5"
viewport [ 0 0 1 1 ]
channel { name "node5-channel" }
}
}
}
node
{
name "node6"
host "sw-renderer06"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.17"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node6"
viewport [ 0 0 1 1 ]
channel { name "node6-channel" }
}
}
}
node
{
name "node7"
host "sw-renderer07"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.18"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node7"
viewport [ 0 0 1 1 ]
channel { name "node7-channel" }
}
}
}
node
{
name "node8"
host "sw-renderer08"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.19"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node8"
viewport [ 0 0 1 1 ]
channel { name "node8-channel" }
}
}
}
node
{
name "node9"
host "sw-renderer09"
connection{ type TCPIP }
connection
{
hostname "239.172.18.57"
interface "172.18.57.20"
type RSP
port 12333
}
pipe
{
device 0
window
{
name "node9"
viewport [ 0 0 1 1 ]
channel { name "node9-channel" }
}
}
}
layout { view { }}
canvas
{
layout 0
wall
{
bottom_left [ -1.6 -.5 -1 ]
bottom_right [ 1.6 -.5 -1 ]
top_left [ -1.6 .5 -1 ]
}
swapbarrier {}
segment { viewport [ 0 0 1 1 ] channel "master-channel" }
segment { viewport [ 0.00000000000000000000 0
0.11111111111111111111 1 ] channel "node1-channel" }
segment { viewport [ 0.11111111111111111111 0
0.11111111111111111111 1 ] channel "node2-channel" }
segment { viewport [ 0.22222222222222222222 0
0.11111111111111111111 1 ] channel "node3-channel" }
segment { viewport [ 0.33333333333333333333 0
0.11111111111111111111 1 ] channel "node4-channel" }
segment { viewport [ 0.44444444444444444444 0
0.11111111111111111111 1 ] channel "node5-channel" }
segment { viewport [ 0.55555555555555555555 0
0.11111111111111111111 1 ] channel "node6-channel" }
segment { viewport [ 0.66666666666666666666 0
0.11111111111111111111 1 ] channel "node7-channel" }
segment { viewport [ 0.77777777777777777777 0
0.11111111111111111111 1 ] channel "node8-channel" }
segment { viewport [ 0.88888888888888888888 0
0.11111111111111111111 1 ] channel "node9-channel" }
}
}
}
Now the appNode section is the one that I am not sure about ... Going through
older posts I see that people were subscribing also the appNode on the
multicast group but if I try to do that by uncommenting the relevant lines in
the config file then everything hangs.
On the other hand if I just run the config file as it is, then I can see that
the slaves properly subscribe on the appropriate multicast group and the sample
app runs properly but I am not sure if then the traffic is routed through the
multicast address or not..
The clients are auto-launched by the server btw and I haven't tried manually
pre-starting everything.
So, does the appNode need to subscribe to the multicast group or is it
sufficient to leave it like this ?
In case that the appNode actually has to subscribe to the multicast group do
you see something wrong with the above config file that it would cause it to
hang??
Thanks for any insights,
Petros
--
View this message in context:
http://software.1713.n2.nabble.com/RSP-mutlicast-details-tp7586748.ht
ml Sent from the Equalizer - Parallel Rendering mailing list archive
at Nabble.com.
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com
This email and any attachments are intended solely for the use of the
individual or entity to whom it is addressed and may be confidential and/or
privileged.
If you are not one of the named recipients or have received this
email in error,
(i) you should not read, disclose, or copy it,
(ii) please notify sender of your receipt by reply email and delete
this email and all attachments,
(iii) Realtime Technology does not accept or assume any liability or
responsibility for any use of or reliance on this email.
For other languages, go to http://www.3ds.com/terms/email-disclaimer
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com
This email and any attachments are intended solely for the use of the
individual or entity to whom it is addressed and may be confidential and/or
privileged.
If you are not one of the named recipients or have received this email in error,
(i) you should not read, disclose, or copy it,
(ii) please notify sender of your receipt by reply email and delete this email
and all attachments,
(iii) Realtime Technology does not accept or assume any liability or
responsibility for any use of or reliance on this email.
For other languages, go to http://www.3ds.com/terms/email-disclaimer
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com
_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com