time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

``direct'' RS-232 vs. RS-232 via USB vs. PPS decoding cards

JG
J. Grizzard
Tue, Feb 14, 2017 11:14 PM

I really recommend the PC Engines apu2c hardware. Just a touch over $100,
schematics available, hardware serial port, GPIO, 1588-capable PHY, CPU
crystal accessible if you want to try a clockblock-type hack, great
support, and just decent all around.

There's also test pads for the PHY that could be used to do PPS directly
to that for PTP purposes, but I haven't quite yet figured out exactly
how to set that up. But the pads are there!

(hint: Order direct from manufacturer, not via a US distributor. You'll
save money and the shipping is still really quite fast.)

-j

On Tue, Feb 14, 2017 at 05:26:16PM -0500, Scott Stobbe wrote:

Something like this would make a great NTP server.
https://www.digikey.com/products/en?keywords=P0286-ND

Too bad they didn't include a PTP 1588 capable PHY...

On Tue, Feb 14, 2017 at 12:33 PM, Chris Albertson <albertson.chris@gmail.com

wrote:

Here is a something that could work.  It has a real serial port and you
could add more ethernet controllers, uses very little power and cost only
$60.
www.newegg.com/....
<https://www.newegg.com/Product/Product.aspx?Item=
N82E16813157497&cm_re=j1900--13-157-497--Product>

There are other boards like this that use the same J1900 CPU.  I'm
thinking about using this as th machine tool (milling machine) controller.

On Tue, Feb 14, 2017 at 4:26 AM, Bob Camp kb8tq@n1k.org wrote:

Hi

A direct port might be a +/- 100 ns sort of thing most of the time and a
+/-10 us
thing every so often under some OS???s. Most desktop operating systems are
not
designed to prioritize random pin interrupts. A dirt cheap MCU coded with
a few
(hundred) lines of assembly code may be a better option than a typical
desktop.
Complicating this further is the degree to which some OS???s can be

directly

or
indirectly optimized. Install this package and it all goes nuts.

Install

that package
and not much happens ???.

Bob

On Feb 13, 2017, at 11:07 AM, Ruslan Nabioullin <rnabioullin@gmail.com

wrote:

Hi, generally speaking, what are the performance differences between

the

following: 1. direct RS-232 (i.e., what I believe is a standard PCI card
offering RS-232---essentially UARTs interfaced more-or-less directly to

the

PCI bus); 2. RS-232 via USB; 3. PPS decoding PCI cards (which might also
have an IRIG input or even an onboard GNSS receiver).

Thanks in advance,
Ruslan


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/

mailman/listinfo/time-nuts

and follow the instructions there.


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/
mailman/listinfo/time-nuts
and follow the instructions there.

--

Chris Albertson
Redondo Beach, California


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/
mailman/listinfo/time-nuts
and follow the instructions there.


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

I really recommend the PC Engines apu2c hardware. Just a touch over $100, schematics available, hardware serial port, GPIO, 1588-capable PHY, CPU crystal accessible if you want to try a clockblock-type hack, great support, and just decent all around. There's also test pads for the PHY that could be used to do PPS directly to that for PTP purposes, but I haven't quite yet figured out exactly how to set that up. But the pads are there! (hint: Order direct from manufacturer, not via a US distributor. You'll save money and the shipping is still really quite fast.) -j On Tue, Feb 14, 2017 at 05:26:16PM -0500, Scott Stobbe wrote: > Something like this would make a great NTP server. > https://www.digikey.com/products/en?keywords=P0286-ND > > Too bad they didn't include a PTP 1588 capable PHY... > > On Tue, Feb 14, 2017 at 12:33 PM, Chris Albertson <albertson.chris@gmail.com > > wrote: > > > Here is a something that could work. It has a real serial port and you > > could add more ethernet controllers, uses very little power and cost only > > $60. > > www.newegg.com/.... > > <https://www.newegg.com/Product/Product.aspx?Item= > > N82E16813157497&cm_re=j1900-_-13-157-497-_-Product> > > > > There are other boards like this that use the same J1900 CPU. I'm > > thinking about using this as th machine tool (milling machine) controller. > > > > On Tue, Feb 14, 2017 at 4:26 AM, Bob Camp <kb8tq@n1k.org> wrote: > > > > > Hi > > > > > > A direct port might be a +/- 100 ns sort of thing most of the time and a > > > +/-10 us > > > thing every so often under some OS???s. Most desktop operating systems are > > > not > > > designed to prioritize random pin interrupts. A dirt cheap MCU coded with > > > a few > > > (hundred) lines of assembly code may be a better option than a typical > > > desktop. > > > Complicating this further is the degree to which some OS???s can be > > directly > > > or > > > indirectly optimized. Install *this* package and it all goes nuts. > > Install > > > that package > > > and not much happens ???. > > > > > > Bob > > > > > > > On Feb 13, 2017, at 11:07 AM, Ruslan Nabioullin <rnabioullin@gmail.com > > > > > > wrote: > > > > > > > > Hi, generally speaking, what are the performance differences between > > the > > > following: 1. direct RS-232 (i.e., what I believe is a standard PCI card > > > offering RS-232---essentially UARTs interfaced more-or-less directly to > > the > > > PCI bus); 2. RS-232 via USB; 3. PPS decoding PCI cards (which might also > > > have an IRIG input or even an onboard GNSS receiver). > > > > > > > > Thanks in advance, > > > > Ruslan > > > > _______________________________________________ > > > > time-nuts mailing list -- time-nuts@febo.com > > > > To unsubscribe, go to https://www.febo.com/cgi-bin/ > > > mailman/listinfo/time-nuts > > > > and follow the instructions there. > > > > > > _______________________________________________ > > > time-nuts mailing list -- time-nuts@febo.com > > > To unsubscribe, go to https://www.febo.com/cgi-bin/ > > > mailman/listinfo/time-nuts > > > and follow the instructions there. > > > > > > > > > > > -- > > > > Chris Albertson > > Redondo Beach, California > > _______________________________________________ > > time-nuts mailing list -- time-nuts@febo.com > > To unsubscribe, go to https://www.febo.com/cgi-bin/ > > mailman/listinfo/time-nuts > > and follow the instructions there. > > > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
BC
Bob Camp
Wed, Feb 15, 2017 12:08 AM

On Feb 14, 2017, at 5:26 PM, Scott Stobbe scott.j.stobbe@gmail.com wrote:

Something like this would make a great NTP server.
https://www.digikey.com/products/en?keywords=P0286-ND

Too bad they didn't include a PTP 1588 capable PHY...

On Tue, Feb 14, 2017 at 12:33 PM, Chris Albertson <albertson.chris@gmail.com

wrote:

Here is a something that could work.  It has a real serial port and you
could add more ethernet controllers, uses very little power and cost only
$60.
www.newegg.com/....
<https://www.newegg.com/Product/Product.aspx?Item=
N82E16813157497&cm_re=j1900--13-157-497--Product>

There are other boards like this that use the same J1900 CPU.  I'm
thinking about using this as th machine tool (milling machine) controller.

On Tue, Feb 14, 2017 at 4:26 AM, Bob Camp kb8tq@n1k.org wrote:

Hi

A direct port might be a +/- 100 ns sort of thing most of the time and a
+/-10 us
thing every so often under some OS’s. Most desktop operating systems are
not
designed to prioritize random pin interrupts. A dirt cheap MCU coded with
a few
(hundred) lines of assembly code may be a better option than a typical
desktop.
Complicating this further is the degree to which some OS’s can be

directly

or
indirectly optimized. Install this package and it all goes nuts.

Install

that package
and not much happens ….

Bob

On Feb 13, 2017, at 11:07 AM, Ruslan Nabioullin <rnabioullin@gmail.com

wrote:

Hi, generally speaking, what are the performance differences between

the

following: 1. direct RS-232 (i.e., what I believe is a standard PCI card
offering RS-232---essentially UARTs interfaced more-or-less directly to

the

PCI bus); 2. RS-232 via USB; 3. PPS decoding PCI cards (which might also
have an IRIG input or even an onboard GNSS receiver).

Thanks in advance,
Ruslan


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/

mailman/listinfo/time-nuts

and follow the instructions there.


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/
mailman/listinfo/time-nuts
and follow the instructions there.

--

Chris Albertson
Redondo Beach, California


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/
mailman/listinfo/time-nuts
and follow the instructions there.


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi If you want a 1588 PHY and are on a budget: https://www.digikey.com/products/en/development-boards-kits-programmers/evaluation-boards-embedded-mcu-dsp/786?k=freescale+freedom&k=&pkeyword=freescale+freedom&pv47=24619&FV=ffe00312%2C7e80098&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25 Drop NTP into it and let it rip. Bob > On Feb 14, 2017, at 5:26 PM, Scott Stobbe <scott.j.stobbe@gmail.com> wrote: > > Something like this would make a great NTP server. > https://www.digikey.com/products/en?keywords=P0286-ND > > Too bad they didn't include a PTP 1588 capable PHY... > > On Tue, Feb 14, 2017 at 12:33 PM, Chris Albertson <albertson.chris@gmail.com >> wrote: > >> Here is a something that could work. It has a real serial port and you >> could add more ethernet controllers, uses very little power and cost only >> $60. >> www.newegg.com/.... >> <https://www.newegg.com/Product/Product.aspx?Item= >> N82E16813157497&cm_re=j1900-_-13-157-497-_-Product> >> >> There are other boards like this that use the same J1900 CPU. I'm >> thinking about using this as th machine tool (milling machine) controller. >> >> On Tue, Feb 14, 2017 at 4:26 AM, Bob Camp <kb8tq@n1k.org> wrote: >> >>> Hi >>> >>> A direct port might be a +/- 100 ns sort of thing most of the time and a >>> +/-10 us >>> thing every so often under some OS’s. Most desktop operating systems are >>> not >>> designed to prioritize random pin interrupts. A dirt cheap MCU coded with >>> a few >>> (hundred) lines of assembly code may be a better option than a typical >>> desktop. >>> Complicating this further is the degree to which some OS’s can be >> directly >>> or >>> indirectly optimized. Install *this* package and it all goes nuts. >> Install >>> that package >>> and not much happens …. >>> >>> Bob >>> >>>> On Feb 13, 2017, at 11:07 AM, Ruslan Nabioullin <rnabioullin@gmail.com >>> >>> wrote: >>>> >>>> Hi, generally speaking, what are the performance differences between >> the >>> following: 1. direct RS-232 (i.e., what I believe is a standard PCI card >>> offering RS-232---essentially UARTs interfaced more-or-less directly to >> the >>> PCI bus); 2. RS-232 via USB; 3. PPS decoding PCI cards (which might also >>> have an IRIG input or even an onboard GNSS receiver). >>>> >>>> Thanks in advance, >>>> Ruslan >>>> _______________________________________________ >>>> time-nuts mailing list -- time-nuts@febo.com >>>> To unsubscribe, go to https://www.febo.com/cgi-bin/ >>> mailman/listinfo/time-nuts >>>> and follow the instructions there. >>> >>> _______________________________________________ >>> time-nuts mailing list -- time-nuts@febo.com >>> To unsubscribe, go to https://www.febo.com/cgi-bin/ >>> mailman/listinfo/time-nuts >>> and follow the instructions there. >>> >> >> >> >> -- >> >> Chris Albertson >> Redondo Beach, California >> _______________________________________________ >> time-nuts mailing list -- time-nuts@febo.com >> To unsubscribe, go to https://www.febo.com/cgi-bin/ >> mailman/listinfo/time-nuts >> and follow the instructions there. >> > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
DP
Denny Page
Wed, Feb 15, 2017 1:10 AM

On Feb 14, 2017, at 15:14, J. Grizzard elfchief-timenuts@lupine.org wrote:

I really recommend the PC Engines apu2c hardware. Just a touch over $100,
schematics available, hardware serial port, GPIO, 1588-capable PHY, CPU
crystal accessible if you want to try a clockblock-type hack, great
support, and just decent all around.

Have you fit a GPS receiver to it?

Denny

> On Feb 14, 2017, at 15:14, J. Grizzard <elfchief-timenuts@lupine.org> wrote: > > I really recommend the PC Engines apu2c hardware. Just a touch over $100, > schematics available, hardware serial port, GPIO, 1588-capable PHY, CPU > crystal accessible if you want to try a clockblock-type hack, great > support, and just decent all around. > Have you fit a GPS receiver to it? Denny
CA
Chris Albertson
Wed, Feb 15, 2017 2:23 AM

On Tue, Feb 14, 2017 at 7:31 AM, MLewis mlewis000@rogers.com wrote:

  • a dedicated machine/box for unencumbered acceptance of PPS, and
  • for systems with a business need, a dedicated NTP server/box disciplined
    by the PPS source (with dedicated communication), while maintaining
    internet NTP sources as backup for when the PPS source fails?
    Is there a better way?
    Other considerations?

Don't ever think about "backup servers".  NTP will always select the "best"
reference clocks.  The best ones are defined as the subset of references
that track each other.

Best practice today is to have two independent NTP servers and two GPS
receivers.  It is best if these are independent as you can make them,
different buildings if you can.  I would even use different brands of
hardware to protect against a bug.  Then throughout your company all your
PCs are configured to look at both NTP servers

Each server is configured to use the GPS reference clock, the other "twin"
NTP server as well as about five Internet "pool" servers.

If your location does not have an Internet connection. ( YES this can
happen.  I've worked on computers that process classified information and
these computers never have Internet access.)  You can configure them so
they run in "orphan mode" that is they all use each other as reference
clocks.  Then when GPS is lost thenoormal NTP clock selection algorithm
will select the subset of PCs that all agree on what the time is.  The
outliers tent to get ignored.    When GPS comes back up the system makes a
gradual and graceful recovery.

Chris Albertson
Redondo Beach, California

On Tue, Feb 14, 2017 at 7:31 AM, MLewis <mlewis000@rogers.com> wrote: > > > - a dedicated machine/box for unencumbered acceptance of PPS, and > - for systems with a business need, a dedicated NTP server/box disciplined > by the PPS source (with dedicated communication), while maintaining > internet NTP sources as backup for when the PPS source fails? > Is there a better way? > Other considerations? Don't ever think about "backup servers". NTP will always select the "best" reference clocks. The best ones are defined as the subset of references that track each other. Best practice today is to have two independent NTP servers and two GPS receivers. It is best if these are independent as you can make them, different buildings if you can. I would even use different brands of hardware to protect against a bug. Then throughout your company all your PCs are configured to look at both NTP servers Each server is configured to use the GPS reference clock, the other "twin" NTP server as well as about five Internet "pool" servers. If your location does not have an Internet connection. ( YES this can happen. I've worked on computers that process classified information and these computers never have Internet access.) You can configure them so they run in "orphan mode" that is they all use each other as reference clocks. Then when GPS is lost thenoormal NTP clock selection algorithm will select the subset of PCs that all agree on what the time is. The outliers tent to get ignored. When GPS comes back up the system makes a gradual and graceful recovery. Chris Albertson Redondo Beach, California
M
MLewis
Wed, Feb 15, 2017 5:38 AM

On 14/02/2017 9:23 PM, Chris Albertson wrote:

On Tue, Feb 14, 2017 at 7:31 AM, MLewis mlewis000@rogers.com wrote:

  • a dedicated machine/box for unencumbered acceptance of PPS, and
  • for systems with a business need, a dedicated NTP server/box disciplined
    by the PPS source (with dedicated communication), while maintaining
    internet NTP sources as backup for when the PPS source fails?
    Is there a better way?
    Other considerations?

Don't ever think about "backup servers".  NTP will always select the "best"
reference clocks.  The best ones are defined as the subset of references
that track each other.

Best practice today is to have two independent NTP servers and two GPS
receivers.  It is best if these are independent as you can make them,
different buildings if you can.  I would even use different brands of
hardware to protect against a bug.  Then throughout your company all your
PCs are configured to look at both NTP servers

Each server is configured to use the GPS reference clock, the other "twin"
NTP server as well as about five Internet "pool" servers.

If your location does not have an Internet connection. ( YES this can
happen.  I've worked on computers that process classified information and
these computers never have Internet access.)  You can configure them so
they run in "orphan mode" that is they all use each other as reference
clocks.  Then when GPS is lost thenoormal NTP clock selection algorithm
will select the subset of PCs that all agree on what the time is.  The
outliers tent to get ignored.    When GPS comes back up the system makes a
gradual and graceful recovery.

Chris Albertson
Redondo Beach, California

That dual set model is new to me. Interesting to see its fall-back on
failures. And the offline model.

It's the poor-man's version of that model that I was aiming for (and
one, not two sets of receiver-with-server):

  • A small box as "GPS receiver" with NTP, receiving the PPS from a GPS
    timing module.
  • That box as a source to an NTP Server that also looks at six internet
    pool sources (pools are the 'backup' if GPS/receiver-box fails).
  • My systems (two boxes) look to the NTP Server for their time reference.

With all everyone has responded with, as a novice to this I have a lot
of reading to do...
then some choices to make.

Thanks to all

Michael

On 14/02/2017 9:23 PM, Chris Albertson wrote: > On Tue, Feb 14, 2017 at 7:31 AM, MLewis <mlewis000@rogers.com> wrote: > >> >> - a dedicated machine/box for unencumbered acceptance of PPS, and >> - for systems with a business need, a dedicated NTP server/box disciplined >> by the PPS source (with dedicated communication), while maintaining >> internet NTP sources as backup for when the PPS source fails? >> Is there a better way? >> Other considerations? > > Don't ever think about "backup servers". NTP will always select the "best" > reference clocks. The best ones are defined as the subset of references > that track each other. > > Best practice today is to have two independent NTP servers and two GPS > receivers. It is best if these are independent as you can make them, > different buildings if you can. I would even use different brands of > hardware to protect against a bug. Then throughout your company all your > PCs are configured to look at both NTP servers > > Each server is configured to use the GPS reference clock, the other "twin" > NTP server as well as about five Internet "pool" servers. > > If your location does not have an Internet connection. ( YES this can > happen. I've worked on computers that process classified information and > these computers never have Internet access.) You can configure them so > they run in "orphan mode" that is they all use each other as reference > clocks. Then when GPS is lost thenoormal NTP clock selection algorithm > will select the subset of PCs that all agree on what the time is. The > outliers tent to get ignored. When GPS comes back up the system makes a > gradual and graceful recovery. > > > Chris Albertson > Redondo Beach, California That dual set model is new to me. Interesting to see its fall-back on failures. And the offline model. It's the poor-man's version of that model that I was aiming for (and one, not two sets of receiver-with-server): - A small box as "GPS receiver" with NTP, receiving the PPS from a GPS timing module. - That box as a source to an NTP Server that also looks at six internet pool sources (pools are the 'backup' if GPS/receiver-box fails). - My systems (two boxes) look to the NTP Server for their time reference. With all everyone has responded with, as a novice to this I have a lot of reading to do... then some choices to make. Thanks to all Michael
MC
Mike Cook
Wed, Feb 15, 2017 8:42 AM

Best practice today is to have two independent NTP servers and two GPS
receivers.  It is best if these are independent as you can make them,
different buildings if you can.  I would even use different brands of
hardware to protect against a bug.

This is an often missed essential, though it also applies to software.

Then throughout your company all your
PCs are configured to look at both NTP servers

Each server is configured to use the GPS reference clock, the other "twin"
NTP server as well as about five Internet "pool" servers.

If your location does not have an Internet connection. ( YES this can
happen.  I've worked on computers that process classified information and
these computers never have Internet access.)  You can configure them so
they run in "orphan mode" that is they all use each other as reference
clocks.  Then when GPS is lost thenoormal NTP clock selection algorithm
will select the subset of PCs that all agree on what the time is.  The
outliers tent to get ignored.    When GPS comes back up the system makes a
gradual and graceful recovery.

Chris Albertson
Redondo Beach, California

That dual set model is new to me. Interesting to see its fall-back on failures. And the offline model.

Thanks to all

Michael

Since when has two clocks been of any use to anyone. It is false economy to think that you can get a way with just two upstream references at any stratum level just because they themselves have many sources.

For each NTP node except the top stratum (1) you need at least 4 servers to enable the removal of any one for maintenance or allowing for failure and still allow NTPs selection algorithms to work correctly.

"The power of accurate observation is commonly called cynicism by those who have not got it. »
George Bernard Shaw

>> >> Best practice today is to have two independent NTP servers and two GPS >> receivers. It is best if these are independent as you can make them, >> different buildings if you can. I would even use different brands of >> hardware to protect against a bug. This is an often missed essential, though it also applies to software. >> Then throughout your company all your >> PCs are configured to look at both NTP servers >> >> Each server is configured to use the GPS reference clock, the other "twin" >> NTP server as well as about five Internet "pool" servers. >> >> If your location does not have an Internet connection. ( YES this can >> happen. I've worked on computers that process classified information and >> these computers never have Internet access.) You can configure them so >> they run in "orphan mode" that is they all use each other as reference >> clocks. Then when GPS is lost thenoormal NTP clock selection algorithm >> will select the subset of PCs that all agree on what the time is. The >> outliers tent to get ignored. When GPS comes back up the system makes a >> gradual and graceful recovery. >> >> >> Chris Albertson >> Redondo Beach, California > That dual set model is new to me. Interesting to see its fall-back on failures. And the offline model. > > Thanks to all > > Michael > Since when has two clocks been of any use to anyone. It is false economy to think that you can get a way with just two upstream references at any stratum level just because they themselves have many sources. For each NTP node except the top stratum (1) you need at least 4 servers to enable the removal of any one for maintenance or allowing for failure and still allow NTPs selection algorithms to work correctly. "The power of accurate observation is commonly called cynicism by those who have not got it. » George Bernard Shaw
BC
Bob Camp
Wed, Feb 15, 2017 12:33 PM

Hi

On Feb 14, 2017, at 9:23 PM, Chris Albertson albertson.chris@gmail.com wrote:

On Tue, Feb 14, 2017 at 7:31 AM, MLewis mlewis000@rogers.com wrote:

  • a dedicated machine/box for unencumbered acceptance of PPS, and
  • for systems with a business need, a dedicated NTP server/box disciplined
    by the PPS source (with dedicated communication), while maintaining
    internet NTP sources as backup for when the PPS source fails?
    Is there a better way?
    Other considerations?

Don't ever think about "backup servers".  NTP will always select the "best"
reference clocks.  The best ones are defined as the subset of references
that track each other.

Best practice today is to have two independent NTP servers and two GPS
receivers.

I would argue that you need at least three servers (and more like five). When given only two
servers NTP simply dithers back and forth between them. It does not have
a way to figure out which of two clocks is wrong. It will detect a missing clock, but
not one that is simply off time by a bit.

Bob

It is best if these are independent as you can make them,
different buildings if you can.  I would even use different brands of
hardware to protect against a bug.  Then throughout your company all your
PCs are configured to look at both NTP servers

Each server is configured to use the GPS reference clock, the other "twin"
NTP server as well as about five Internet "pool" servers.

If your location does not have an Internet connection. ( YES this can
happen.  I've worked on computers that process classified information and
these computers never have Internet access.)  You can configure them so
they run in "orphan mode" that is they all use each other as reference
clocks.  Then when GPS is lost thenoormal NTP clock selection algorithm
will select the subset of PCs that all agree on what the time is.  The
outliers tent to get ignored.    When GPS comes back up the system makes a
gradual and graceful recovery.

Chris Albertson
Redondo Beach, California


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi > On Feb 14, 2017, at 9:23 PM, Chris Albertson <albertson.chris@gmail.com> wrote: > > On Tue, Feb 14, 2017 at 7:31 AM, MLewis <mlewis000@rogers.com> wrote: > >> >> >> - a dedicated machine/box for unencumbered acceptance of PPS, and >> - for systems with a business need, a dedicated NTP server/box disciplined >> by the PPS source (with dedicated communication), while maintaining >> internet NTP sources as backup for when the PPS source fails? >> Is there a better way? >> Other considerations? > > > Don't ever think about "backup servers". NTP will always select the "best" > reference clocks. The best ones are defined as the subset of references > that track each other. > > Best practice today is to have two independent NTP servers and two GPS > receivers. I would argue that you need at least three servers (and more like five). When given only two servers NTP simply dithers back and forth between them. It does not have a way to figure out which of two clocks is wrong. It will detect a missing clock, but not one that is simply off time by a bit. Bob > It is best if these are independent as you can make them, > different buildings if you can. I would even use different brands of > hardware to protect against a bug. Then throughout your company all your > PCs are configured to look at both NTP servers > > Each server is configured to use the GPS reference clock, the other "twin" > NTP server as well as about five Internet "pool" servers. > > If your location does not have an Internet connection. ( YES this can > happen. I've worked on computers that process classified information and > these computers never have Internet access.) You can configure them so > they run in "orphan mode" that is they all use each other as reference > clocks. Then when GPS is lost thenoormal NTP clock selection algorithm > will select the subset of PCs that all agree on what the time is. The > outliers tent to get ignored. When GPS comes back up the system makes a > gradual and graceful recovery. > > > > > > Chris Albertson > Redondo Beach, California > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
CA
Chris Albertson
Wed, Feb 15, 2017 6:17 PM

On Tue, Feb 14, 2017 at 9:38 PM, MLewis mlewis000@rogers.com wrote:

That dual set model is new to me. Interesting to see its fall-back on
failures. And the offline model.

It's the poor-man's version of that model that I was aiming for (and one,
not two sets of receiver-with-server):

  • A small box as "GPS receiver" with NTP, receiving the PPS from a GPS
    timing module.
  • That box as a source to an NTP Server that also looks at six internet pool
    sources (pools are the 'backup' if GPS/receiver-box fails).
  • My systems (two boxes) look to the NTP Server for their time reference.

Why set up a dedicated NTP server if you only have two computers that
will use it?    Your server will be accurate to a few microseconds but
your two computers will only by good to a few milliseconds because
ethernet is not nearly as good as PPS.

You could save some money and just run NTP on the two computers.  A
dedicated server does not get you much because you can't get GPS level
accuracy out of it to your other devices.    But this is a hobby and
setting it up is educational  And maybe you find other uses for the
server like maybe it can keep backups or store media files (videos) or
host a small web site  NTP is almost zero load on the CPU and the
best thing is the NTP accuracy is not effected by CPU load  SO you can
run other service without degrading the NTP server.  (All the time
critical stuff happens inside a tiny interrupt handler, not in user
space)

--

Chris Albertson
Redondo Beach, California

On Tue, Feb 14, 2017 at 9:38 PM, MLewis <mlewis000@rogers.com> wrote: > That dual set model is new to me. Interesting to see its fall-back on > failures. And the offline model. > > It's the poor-man's version of that model that I was aiming for (and one, > not two sets of receiver-with-server): > - A small box as "GPS receiver" with NTP, receiving the PPS from a GPS > timing module. > - That box as a source to an NTP Server that also looks at six internet pool > sources (pools are the 'backup' if GPS/receiver-box fails). > - My systems (two boxes) look to the NTP Server for their time reference. Why set up a dedicated NTP server if you only have two computers that will use it? Your server will be accurate to a few microseconds but your two computers will only by good to a few milliseconds because ethernet is not nearly as good as PPS. You could save some money and just run NTP on the two computers. A dedicated server does not get you much because you can't get GPS level accuracy out of it to your other devices. But this is a hobby and setting it up is educational And maybe you find other uses for the server like maybe it can keep backups or store media files (videos) or host a small web site NTP is almost zero load on the CPU and the best thing is the NTP accuracy is not effected by CPU load SO you can run other service without degrading the NTP server. (All the time critical stuff happens inside a tiny interrupt handler, not in user space) -- Chris Albertson Redondo Beach, California
M
MLewis
Thu, Feb 16, 2017 3:09 AM

On 15/02/2017 1:17 PM, Chris Albertson wrote:

Why set up a dedicated NTP server if you only have two computers that
will use it? ... You could save some money and just run NTP on the two
computers. ... NTP is almost zero load on the CPU and the best thing
is the NTP accuracy is not effected by CPU load...

My application cycles between a low background load to a full CPU load
on hex cores four times a second on the quarter-second. Each
quarter-second load, for each of 22 datasets, first takes a data
snapshot, then does some processing, which for any or all of the
datasets may trigger more processing, and when all dataset processing
treads are complete, this is followed by some house-keeping tasks.
Therefore the duration of those full loads varies, and one of the four
quarter-second loads has more to do and is significantly longer than the
other three. To get the quarter-second loads done as fast as possible,
the bios is set to run the CPU in turbo continuously, otherwise power
saving 'features' start dialing back core speed and shutting down cores,
resulting in the longer quarter-second task not getting done within 250
ms in time for the next quarter-second's start.

The rate of accumulating lag on system time varies from 2 ms a minute to
16 ms a minute, depending on the load. The result is that the
quarter-second data snapshots don't start on the actual quarter-second,
off more and more as lag accumulates, until they're off their target
time by more than a second, then seconds, etc..

With NTP polling six pool sources while my application is cycling
between load levels four times a second, the observed quarter-second
start drifts within roughly 300 ms, sometimes 600 ms.

That wasn't exactly a surprise. The base application I'm working from
used Apache's NTPUDPClient to maintain an offset from system time from a
single NTP source.  After expanding the design to use multiple NTP
sources, I found that the reported offsets from pools were stable when
my CPU load was stable, but when it was cycling in/out of the heavy
loads, the reported offsets became more variable between sources and the
number and offset of reported offsets that were outliers became
ridiculous. As much fun as it was to design custom cascading outlier
filters, this led me to abandon the underlying base application's offset
to system time and use NTP to maintain system time.

To be able to move forward with my original application:
By going to a separate box running NTP and a GPS reference, I will have
a reference time that is entirely independent from whatever is going on
with my working box. With microsecond accuracy and precision, it will be
more than sufficient for my needs. With a dedicated ethernet connection
between the working box and the NTP box, NTP on the working box should
be able to have system time within 1 ms of that reference. If it's
observed that isn't happening, then I'll remove NTP from the working box
and I already have code than can monitor the system time against the NTP
box and reset it every time it lags more than 1 ms. Brute and crude, but
it will work for keeping my application within 1ms.

Or, so I think...
I've been surprised and changed direction enough times since I headed
down this time rabbit-hole.

Michael

On 15/02/2017 1:17 PM, Chris Albertson wrote: > Why set up a dedicated NTP server if you only have two computers that > will use it? ... You could save some money and just run NTP on the two > computers. ... NTP is almost zero load on the CPU and the best thing > is the NTP accuracy is not effected by CPU load... My application cycles between a low background load to a full CPU load on hex cores four times a second on the quarter-second. Each quarter-second load, for each of 22 datasets, first takes a data snapshot, then does some processing, which for any or all of the datasets may trigger more processing, and when all dataset processing treads are complete, this is followed by some house-keeping tasks. Therefore the duration of those full loads varies, and one of the four quarter-second loads has more to do and is significantly longer than the other three. To get the quarter-second loads done as fast as possible, the bios is set to run the CPU in turbo continuously, otherwise power saving 'features' start dialing back core speed and shutting down cores, resulting in the longer quarter-second task not getting done within 250 ms in time for the next quarter-second's start. The rate of accumulating lag on system time varies from 2 ms a minute to 16 ms a minute, depending on the load. The result is that the quarter-second data snapshots don't start on the actual quarter-second, off more and more as lag accumulates, until they're off their target time by more than a second, then seconds, etc.. With NTP polling six pool sources while my application is cycling between load levels four times a second, the observed quarter-second start drifts within roughly 300 ms, sometimes 600 ms. That wasn't exactly a surprise. The base application I'm working from used Apache's NTPUDPClient to maintain an offset from system time from a single NTP source. After expanding the design to use multiple NTP sources, I found that the reported offsets from pools were stable when my CPU load was stable, but when it was cycling in/out of the heavy loads, the reported offsets became more variable between sources and the number and offset of reported offsets that were outliers became ridiculous. As much fun as it was to design custom cascading outlier filters, this led me to abandon the underlying base application's offset to system time and use NTP to maintain system time. To be able to move forward with my original application: By going to a separate box running NTP and a GPS reference, I will have a reference time that is entirely independent from whatever is going on with my working box. With microsecond accuracy and precision, it will be more than sufficient for my needs. With a dedicated ethernet connection between the working box and the NTP box, NTP on the working box should be able to have system time within 1 ms of that reference. If it's observed that isn't happening, then I'll remove NTP from the working box and I already have code than can monitor the system time against the NTP box and reset it every time it lags more than 1 ms. Brute and crude, but it will work for keeping my application within 1ms. Or, so I think... I've been surprised and changed direction enough times since I headed down this time rabbit-hole. Michael
RN
Ruslan Nabioullin
Thu, Feb 16, 2017 6:30 AM

On 02/15/2017 01:17 PM, Chris Albertson wrote:

Why set up a dedicated NTP server if you only have two computers
that will use it?    Your server will be accurate to a few
microseconds but your two computers will only by good to a few
milliseconds because ethernet is not nearly as good as PPS.

Well Ethernet can be extremely accurate if PTP is used (a whitepaper
specifies <= 100 ns accuracy if the LAN is optimized for it).

Well, the assumption here is that one would render this service
available to the public, registering the server(s) with the NTP website
and/or the NTP Pool Project; n.b. this is still possible for connections
lacking a static IP address, by means of an IPv6 tunnel, available at no
cost from at least one vendor.  Otherwise yes, by some perspectives it
can be considered quite pointless and wasteful to operate dedicated
servers, standards, receivers, etc. with no means of time transfer to
customers.

NTP is almost zero load on the CPU and the best thing is the NTP
accuracy is not effected by CPU load  SO you can run other service
without degrading the NTP server.

Well n.b. TVB's hardware PPS timestamping post.  Also WWV and CHU
decoding by NTP's modules can be problematic, as well as the obvious
case of the server being overloaded.  Finally note that based on others'
experimentation, the motherboard's XO temperature is nontrivially-highly
correlated with CPU load, so for better motherboard XO-based holdover
performance, once must create an ersatz oven utilizing the CPU(s), by
running them at full utilization (obviously with proper scheduling
priority), so typically volunteer distributed computing project(s) such
as BOINC (SETI@home, etc.), Folding@Home, etc.  Of course then power
consumption becomes problematic.

-Ruslan

On 02/15/2017 01:17 PM, Chris Albertson wrote: > Why set up a dedicated NTP server if you only have two computers > that will use it? Your server will be accurate to a few > microseconds but your two computers will only by good to a few > milliseconds because ethernet is not nearly as good as PPS. Well Ethernet can be *extremely* accurate if PTP is used (a whitepaper specifies <= 100 ns accuracy if the LAN is optimized for it). Well, the assumption here is that one would render this service available to the public, registering the server(s) with the NTP website and/or the NTP Pool Project; n.b. this is still possible for connections lacking a static IP address, by means of an IPv6 tunnel, available at no cost from at least one vendor. Otherwise yes, by some perspectives it can be considered quite pointless and wasteful to operate dedicated servers, standards, receivers, etc. with no means of time transfer to customers. > NTP is almost zero load on the CPU and the best thing is the NTP > accuracy is not effected by CPU load SO you can run other service > without degrading the NTP server. Well n.b. TVB's hardware PPS timestamping post. Also WWV and CHU decoding by NTP's modules can be problematic, as well as the obvious case of the server being overloaded. Finally note that based on others' experimentation, the motherboard's XO temperature is nontrivially-highly correlated with CPU load, so for better motherboard XO-based holdover performance, once must create an ersatz oven utilizing the CPU(s), by running them at full utilization (obviously with proper scheduling priority), so typically volunteer distributed computing project(s) such as BOINC (SETI@home, etc.), Folding@Home, etc. Of course then power consumption becomes problematic. -Ruslan