Discussion:
[Linuxptp-users] One PCs with multiple NICs acting as multiple PTP master / PTP chains
Koehrer Mathias (ETAS/ESW5)
2014-02-21 13:16:09 UTC
Permalink
Hi all,

to synchronize a couple (6-8) PCs I want to use one PCs PTP master and the others as PTP slaves.
To interconnect the PCs I can use a PTP capable switch. However these switches are fairly expensive.
The first question I have: How does a "standard" Ethernet switch perform? Which accuracy will be possible if no other traffic is running over the switch but PTP packets?

To avoid a PTP capable switch I can think of a solution to use one PC as PTP master, to plug in two 4-port NICs in this master PC and use point-to-point connections to the other PCs.
Assume the Ethernet devices to be used by the PTP master are eth1, eth2, ...eth7
it should be possible to run something like
ptp4l -p /dev/ptp1 -i eth1 &
ptp4l -p /dev/ptp2 -i eth2 &
...
ptp4l -p /dev/ptp7 -i eth7 &

Is this assumption correct?
Is it possible to set up a system like that.


A different approach could be to run something like a "chain" of point-to-point Ethernet connections:
[PC MASTER] --- (eth) --- [PC 1] --- (eth) --- [PC 2] --- (eth) --- [PC 3] --- (eth) --- [PC 4] --- ...

The first PC (PC MASTER) acts as overall time master.
It is the master on the Ethernet connection between PC Master and PC 1.
PC 1 is slave on this Ethernet and acts as a master on the Ethernet between PC 1 and PC 2.
etc.
Doing this, the accuracy decreases with each member of the chain; however the overall accuracy could be good enough.
My question is here:
How does the configuration of PC 1 ... PC 7 look like?
As PC 1 ... PC 7 have two PTP clocks running, these clocks have to be synchronized.
Is this done via phc2sys? If yes, do I have to synchronize directly from PTPx to PTPy or does it work via the PCs System clock?

Thanks for any hints or recommendations

Regards

Mathias
Richard Cochran
2014-02-21 13:33:53 UTC
Permalink
Post by Koehrer Mathias (ETAS/ESW5)
Hi all,
to synchronize a couple (6-8) PCs I want to use one PCs PTP master and the others as PTP slaves.
To interconnect the PCs I can use a PTP capable switch. However these switches are fairly expensive.
The first question I have: How does a "standard" Ethernet switch perform? Which accuracy will be possible if no other traffic is running over the switch but PTP packets?
The answer is, it depends.

It depends on the switch itself and the amount of traffic through the
switch. Usually switches add something like 10 microseconds delay and
a few microseconds jitter.

I would definitely try this first and just see what kind of RMS
numbers come out.
Post by Koehrer Mathias (ETAS/ESW5)
As PC 1 ... PC 7 have two PTP clocks running, these clocks have to be synchronized.
Is this done via phc2sys? If yes, do I have to synchronize directly from PTPx to PTPy or does it work via the PCs System clock?
You can use phc2sys to synchronize the PHC clock pairs. However, this
will be a PITA to set up, and remember, unless you feed signals from
one card to the next, you will be using a kind of software time
stamping. Chaining those servos together accumulates the errors.

I would guess that the normal switch would perform much better. Try
the switch idea first.

HTH,
Richard
Julien Houles
2014-02-21 13:53:05 UTC
Permalink
You can try to synchronize several PCs with a standard switch.
I measured the delay with one master and one slave and then slightly modified ptp4l with the value obtained (hardcoded). I disabled the delay req messages on the slaves (to avoid messages accumulation on the master side). There is no other traffic on the links.
I could measure a delta of a few hundred ns between master and slaves with the oscilloscope and i210 with PPS generation enabled.
I use the following schema :

                                                        |------  netgear GS724T  ------ slaves
      master ---- netgear GS108E |------  netgear  GS724T ------ slaves
                                                        |------  netgear  GS724T ------ slaves


The result is even better when I use less slaves and a single GS108E (a few tens of ns). But on three GS108E, two give very good results and one is very bad... The best is to test.


Julien.


________________________________
De : Richard Cochran <***@gmail.com>
À : Koehrer Mathias (ETAS/ESW5) <***@etas.com>
Cc : "linuxptp-***@lists.sourceforge.net" <linuxptp-***@lists.sourceforge.net>
Envoyé le : Vendredi 21 février 2014 14h33
Objet : Re: [Linuxptp-users] One PCs with multiple NICs acting as multiple PTP master / PTP chains
Post by Koehrer Mathias (ETAS/ESW5)
Hi all,
to synchronize a couple (6-8) PCs I want to use one PCs PTP master and the others as PTP slaves.
To interconnect the PCs I can use a PTP capable switch. However these switches are fairly expensive.
The first question I have: How does a "standard" Ethernet switch perform? Which accuracy will be possible if no other traffic is running over the switch but PTP packets?
The answer is, it depends.

It depends on the switch itself and the amount of traffic through the
switch. Usually switches add something like 10 microseconds delay and
a few microseconds jitter.

I would definitely try this first and just see what kind of RMS
numbers come out.
Post by Koehrer Mathias (ETAS/ESW5)
As PC 1 ... PC 7 have two PTP clocks running, these clocks have to be synchronized.
Is this done via phc2sys? If yes, do I have to synchronize directly from PTPx to PTPy or does it work via the PCs System clock?
You can use phc2sys to synchronize the PHC clock pairs. However, this
will be a PITA to set up, and remember, unless you feed signals from
one card to the next, you will be using a kind of software time
stamping. Chaining those servos together accumulates the errors.

I would guess that the normal switch would perform much better. Try
the switch idea first.

HTH,
Richard

Loading...