Windows 服务器上的 PTP 同步(与 Linux 相比) - 可以保证什么精度

2024-04-19

我想知道大家是否知道准确度如何PTP http://en.wikipedia.org/wiki/Precision_Time_Protocol在 Windows Server 2008 上可以保证同步。

我知道这个线程:Windows 中进程的最短保证时间是多少? https://stackoverflow.com/questions/3558418/what-is-the-minimum-guaranteed-time-for-a-process-in-windows其中讨论了 Windows 的本地时间,是的,这根本不提供任何保证。

但是当谈到硬件解决方案(PTP)时呢?是否有任何限制无法保证

编辑1:我在标题中添加了“(与Linux相比)”,因为这最初是我关心的问题之一。


可以采取一些措施来获得 Windows Server 2008 上可靠的处理时间。 他们之中有一些是:

  1. 避免CPU负载过重。

  2. 安排代码的内存占用较小。

  3. Set the 进程优先级 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686219%28v=vs.85%29.aspx线程优先级 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686277%28v=vs.85%29.aspx高的。甚至可能高达REALTIME_PRIORITY_CLASS and THREAD_PRIORITY_TIME_CRITICAL分别。

  4. Set the 线程关联掩码 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686247%28v=vs.85%29.aspx以避免时间关键部分运行Core 0。 Core 0 专用于一些系统服务。使用不同的代码可以避免依赖性。

  5. Use of Sleep(0)在适当的时候。 Sleep(0) 是一个异步服务,强制调度程序做出反应。这样您就可以触发调度程序,该调度程序将选择您的进程/线程立即获取 CPU,因为它具有最高优先级。

  6. 确保代码也为其他服务提供时间。最高优先级将导致所有其他线程基本上停止。 (不会处理任何鼠标事件或任何事件)

  7. 可以通过多媒体定时器 API 来增加系统中断频率。使用timeGetDevCaps http://msdn.microsoft.com/en-us/library/windows/desktop/dd757627%28v=vs.85%29.aspx查询系统允许的最大中断频率的函数并使用时间开始期间 http://msdn.microsoft.com/en-us/library/windows/desktop/dd757624%28v=vs.85%29.aspx with wPeriodMin由返回timeBeginPeriod in the TIMECAPS结构。这将迫使您的系统以其最大中断频率运行。不要忘记通过调用来释放多媒体计时器资源时间结束期间 http://msdn.microsoft.com/en-us/library/windows/desktop/dd757626%28v=vs.85%29.aspx当你完成时。

当仔细遵循这些规则时,可以获得 10 微秒范围内的精确计时,且可靠性非常高。然而,上述所有因素的总和导致了一些复杂性。因此,永远无法提供保证。但即使在 RTOS 系统上也没有这样的保证。当编码没有正确完成时,无论操作系统被调用什么/如何调用,事情都不会按照预期的方式工作。可以找到更多注释和等效 .Net 服务的链接here https://stackoverflow.com/a/11537483/1504523.

综上所述,可以实现时间同步(精确时间协议 http://en.wikipedia.org/wiki/Precision_Time_Protocol)下降到几十微秒。

可以找到精确时间协议开发者常见问题解答here http://wiki.eclipse.org/PTP/sync-projects.

Linux 也被要求后编辑:有一些可用的软件包,例如this http://www.symmetricom.com/products/ntp-servers/ntp-network-appliances/PTP-Software-for-Linux/一。这里报告的典型精度也在 10 到 100 微秒范围内。

毫不奇怪,在可比较的标准硬件上运行时,Windows 和 Linux 的结果非常相似。两者都无法做出任何魔法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 服务器上的 PTP 同步(与 Linux 相比) - 可以保证什么精度 的相关文章

  • 限制 PHP 函数或命令的执行时间[重复]

    这个问题在这里已经有答案了 您好 是否可以仅对命令或函数设置时间限制 例如 function doSomething code here function1 some code here 我只想为 function1 设置时间限制 存在 s
  • Django 多个数据库 - 一个并不总是可用

    我正在开发一个 Django 应用程序 它将使用多个数据库后端 我想在运行 django 应用程序的机器上放置一个 sqlite 数据库 并同步到远程 mysql 数据库 棘手的部分是 运行应用程序的机器并不总是有互联网连接 因此 mysq
  • 大浮点和的精度

    我正在尝试对正递减浮点数的排序数组求和 我发现对它们求和的最佳方法是开始从最低到最高将数字相加 我编写此代码是为了提供一个示例 但是 从最高数字开始的总和更精确 为什么 当然 1 k 2之和应该是f 1 644934066848226 in
  • 输出以秒为单位。在php中转换为hh:mm:ss格式

    我的输出格式为 290 52262423327 秒 如何将其更改为 00 04 51 我想以秒为单位并以 HH MM SS 格式显示相同的输出 所以如果是秒 我只想显示 290 52 秒 小数点后只有两个整数 我怎样才能做到这一点 我正在
  • 使用 rsync 进行双向同步

    我有一个文件夹 a 和一个远程文件夹 A 我现在在 Makefile 上运行类似的内容 get music rsync avzru server media 10001 music media Incoming music put musi
  • 是否可以在不诉诸任意精度数据类型的情况下消除浮点错误?

    我想知道在特定条件下是否可以在不诉诸任意精度数据类型的情况下消除浮点错误 问题是常见的 语言是 Ruby 但它适用于任何语言 f 1829 82 gt 1829 82 f 12 0 gt 152 485 f 12 0 round 2 gt
  • 更精确的 distance_of_time_in_words

    distance of time in words很棒 但有时不够精细 我需要一个能够以文字报告准确时间距离的函数 例如 上午 7 50 到上午 10 10 的距离应该是 2 小时 20 分钟 而不是 大约 2 小时 或其他什么distan
  • 什么时候应该使用各个线程同步对象?

    在什么情况下应该使用以下每个同步对象 读写锁 信号 Mutex 由于每次调用 post 时 wait 都会返回一次 因此信号量是一种基本的生产者 消费者模型 除了信号之外最简单的线程间消息形式 使用它们是为了让一个线程可以告诉另一个线程发生
  • 如何在 AngularJS 和 HTML 中制作滴答作响的时钟(时间)

    我是一名 AngularJS html 初学者用户 一直在尝试寻找代码片段来为网络应用程序制作时钟 时间项目 网络搜索并没有像我期望的那样容易地提供直接的结果 所以我想我应该发布这个问题来获得一些答案 也让其他人更容易找到这个问题 我已经发
  • IOB 准确度和精密度之间的差异

    我正在使用命名实体识别和分块器对 NLTK 进行一些工作 我使用重新训练了分类器nltk chunk named entity py为此 我采取了以下措施 ChunkParse score IOB Accuracy 96 5 Precisi
  • 我应该如何比较这些双打以获得所需的结果?

    我这里有一个简单的示例应用程序 我在其中进行乘法和加法double变量 然后将它们与预期结果进行比较 在这两种情况下 结果都等于预期结果 但当我进行比较时 它失败了 static void Main string args double a
  • 自旋锁在单处理器单核架构中有用吗?

    我对自旋锁的功能感到困惑 自旋锁用于阻止进程重新调度 然而 在只有一个核心的机器上 使用自旋锁有用吗 防止上下文切换 您的观察结果很好 在单处理器系统上 旋转等待资源是没有意义的 因为您最好尽早切换线程 互斥体和信号量正是这样做的 在多处理
  • SQL Server:使用数字文字进行计算

    我用浮点计算做了一些测试 以尽量减少精度损失 我偶然发现了一个现象 我想在这里展示并希望得到解释 当我写作时 print 1 0 1 0 60 0 结果是 60 0024000960 当我编写相同的公式并进行显式转换时float print
  • 同步框架服务器到服务器同步

    I have kind of a such scenario source microsoft com http i msdn microsoft com bb887608 Figure3 en us png Here i need to
  • 如何检查有多少线程正在等待同步方法解锁

    有什么方法可以检查有多少线程正在等待同步方法解锁 我想知道线程何时调用同步方法 1 有多少线程已经在等待调用该方法 2 一旦调用该方法 需要等待该方法解锁多长时间 解决方案 我使用堆垛机答案解决了这个问题 public class Lock
  • 获取 $_SERVER['AUTH_USER'] 的空白值

    我有一个在 Windows 2008 Server R2 上运行的 PHP 应用程序 它使用 PHP 的 LDAP 库根据 Active Directory 对用户进行身份验证 As per 这个答案 https stackoverflow
  • 查明某个时间段是否与当前时间匹配

    我有一个这样的约会 just a example date time in the future start date H i time 60 60 24 7 time in the future end date H i time 60
  • Android 日期/时间显示 0 而不是 12

    我想知道下面的代码有什么问题 Assign hour set in the picker c set Calendar HOUR selectedHour c set Calendar MINUTE selectedMinute For a
  • 截断浮点数而不向上舍入

    我有一个浮点数 我想将其截断为 3 位 但我不想向上舍入 例如 转换1 0155555555555555 to 1 015 not 1 016 我将如何在 Ruby 中做到这一点 您还可以转换为 BigDecimal 并对其调用 trunc
  • 在matlab中设置图例符号的精度

    我有这个 leg2 strcat Max Degree num2str adet 1 1 ch l leg3 strcat Min Degree num2str adet 1 2 ch l leg4 strcat Max Request n

随机推荐

  • 在 C++03 中返回 `std::auto_ptr` 集合之类的内容的最佳方法是什么?

    std auto ptr不允许存储在STL容器中 例如std vector 但是 有时我需要返回多态对象的集合 因此我无法返回对象向量 由于切片问题 我可以用std tr1 shared ptr并将它们粘贴在vector 但随后我必须付出高
  • 重定向后,curl 对所有请求使用 POST

    根据文档和一些类似的问题 SOcurl 应该遵循使用 GET 方法的重定向 除非将 post30x 指定为参数 但这是我测试的结果 curl kvv b tmp tmp BEo6w3GKDq c tmp tmp BEo6w3GKDq X P
  • 增强元组+变换

    是否可以进行以下操作 假设我的 boost 元组有
  • 检测类属性值更改,然后更改另一个类属性

    假设我有一个名为 Number 的类 class Number def init self n self n n self changed None a Number 8 print a n prints 8 a n 9 print a n
  • 用面向对象的方法设置标签元素的属性

    标签有一个 for 属性 使它们指向某个输入字段 我需要使用 JQuery 更改此属性的值 以便我可以使用 label attr for targetName 但我还需要设置 className 所以我更喜欢使用 label attr fo
  • 当给定距起点的距离时,找到贝塞尔曲线上的点?

    我创建了一条 4 点贝塞尔曲线和一个距离 从起点开始 如何找到距起点一定距离的点的 x y 坐标 我查看了其他示例 据我所知 他们通过将曲线划分为几千个点 然后找到最近的点来近似值 这对我不起作用 对于我正在做的事情 我希望精确到小数点后两
  • 使用 Python 移动特定文件类型

    我知道这对你们中的许多人来说会非常容易 我刚刚开始学习 Python 需要一些基本文件处理方面的帮助 我拍摄了很多屏幕截图 最终出现在我的桌面上 因为这是默认设置 我知道我可以更改屏幕截图设置以自动将其保存在其他位置 不过 我认为这个程序将
  • 如何在多个 Gradle 项目之间共享样板 Kotlin 配置?

    The 典型的 Kotlin 配置 https kotlinlang org docs reference using gradle htmlGradle 项目中的代码非常样板 我正在寻找一种将其抽象为外部构建脚本的方法 以便可以重用它 我
  • Scala for 循环内的赋值

    这段代码有什么区别吗 for term lt term array val list hashmap get term and for term lt term array val list hashmap get term 在循环内部我正
  • 带有背景图像的 UITableView 单元格

    我有一个 UITableView 其中有 3 张图像 1 表示选定的单元格 1 表示单元格背景 1 表示TableView 背景 我选择的单元格工作正常 但正常单元格和 TableView 背景 当您向下 向上滚动太多时 单元格后面的背景
  • 适用于 Android 的动画 WebP 编码器

    有没有关于如何编码的示例动画WebP对于安卓 或者也许有人成功了并且可以指导我完成它 我有一批 webP 图像 我想用它们创建一个动画图像 有 libwebp 库 但是 它不支持动画 webP 如果我从所读内容中理解正确 我需要使用 web
  • jQuery 加载到变量

    我需要将 jQuery 加载结果插入到变量中 页面 ajax html 上带有 id 测试的元素的内容 result load ajax html test 尝试使用jQuery get http api jquery com jQuery
  • 如何将 NSMutableOrderedSet 转换为通用数组?

    我有这个for循环 p is a NSManagedObject fathers is a to many关系 所以我需要投射NSMutableOrderedSet to Family 但它不起作用 为什么 for f in p fathe
  • 查找向量中最接近的值

    我想要完成的是迭代双精度值向量并返回最接近的可能双精度值的向量位置 我对此有两个问题 当尝试使用以下命令查找向量中最接近的双精度值时lower bound 如果我输入 1 我只会收到非零的值 我不知道如何使用lower bound返回向量位
  • 在 `git rebase --update-refs` 之后自动推送

    Git 2 38 引入了 update refs标记为 rebase 命令 如果您有一个分支链 它将更新链中的所有分支 当我将大型 PR 分解为更容易审查的 PR 时 我发现这非常有用 然而 之后git rebase update refs
  • 将组名称获取到星号中相应的 pri 端口

    我正在使用 sagoma 8 端口卡 我的chan dahdi conf配置端口是 autogenerated by usr sbin wancfg dahdi do not hand edit autogenrated on 2015 0
  • Excel 单元格在双击之前不会计算

    我有一个包含三个求和函数的 Excel 工作表 该工作表是一个模板 因此除了 A 列中的一些文本描述外 工作表的其余部分是空白的 我使用 ETL 流程 Talend Open Studio 打开工作表 输入一些数据 附加几个其他工作表 并将
  • 如何从连接到同一网络的另一台计算机打开 create-react-app?

    我在用创建反应应用程序并托管在其默认端口本地主机 3000并希望从同一网络上的另一台设备访问它 我得到了我的主机IP的IP 使用ifconfig 192 168 0 5并尝试打开192 168 0 5 3000但这没有用 有什么办法可以实现
  • Laravel - 如何获取特定用户的委托角色

    我正在用 Laravel 做一个小工作并使用齐扎科信托公司 以管理员身份登录时我想查看全部Roles特定用户的 我搜索了一段时间但没有找到任何线索 我怎样才能使用Entrust或者我应该使用 SQL 查询吗 在您的 User 类中添加 pu
  • Windows 服务器上的 PTP 同步(与 Linux 相比) - 可以保证什么精度

    我想知道大家是否知道准确度如何PTP http en wikipedia org wiki Precision Time Protocol在 Windows Server 2008 上可以保证同步 我知道这个线程 Windows 中进程的最