一道面试题:如何确定两台电脑的时钟是否同步?

作者&投稿:西月 (若有异议请与网页底部的电邮联系)
~ 这道面试题是开放的。熟悉的情境,很容易给出一个回答。但随着被面试者思维方式、知识领域及深度的不同,回答可能大相径庭。

在接着往下阅读时,你可以先想想自己的答案。

没理解题目的回答:

还算正常的回答:

电子工程师的回答:

网络工程师的回答:

……

你可能有更精彩的回答……

本实验室将采用可操作的、尽可能精确的实验作为回答。

题目并没有说两台电脑是和时间服务器同步的,所以目的只是测量两台电脑之间的系统时间是否一致。

用date命令(高精度选项)直接看一下两台主机的系统时间。本地的;远程的;本地的;远程的:

显然,host2的时间读数更大一些。但这究竟是host2的时钟快了,还是ssh调用所花的时间导致的呢?现在还不好说。

假设这个时间差异是T1:

T1 = Diff + RTT12

其中,Diff 是两台电脑真实的时间差异,RTT12是host1到host2数据往返所花的时间(严格来说是ssh调用所花的时间)。

反方向做同样的测试:

host1与host2的时间差异设为T2,则:

T2 = -Diff + RTT21

简单地认为两个方向的往返时间是相等的,于是有:

Diff = (T1 – T2)/2
RTT = (T1 + T2)/2

估算一下:

上面的单位都是ns. 也就是说时间差异是16.3~17.1ms, ssh路途往返耗费72.8ms

这个结果可信吗?于是写了一段脚本,把这个测试过程自动化,观察一段时间的结果。

下图是每秒测量一次,1个小时的测量数据。为了在对数坐标下显示,时间差异用绝对值。

说明:

在没有时间同步的情况下,观察2组/3台主机:A, B, S的时间差异。

A, B, S实际上是在ESXi上的3台虚拟机。虚拟机的时钟可能和硬件实钟会有某种同步策略,所以看到的并不是单方向的变化。

在A,B,S上都开启NTP服务,时间服务器使用Debian Linux默认的NTP server (x.debian.pool.ntp.org)。

因为幅度悬殊的原因,实际上使用中位数更有意义。可以看到A-S或B-S的时钟差异在30~50ms.

在A,B,S上都开启NTP服务,其中A,B与本地的S同步,但S还是与远程NTP server同步。

可以看到A-S或B-S的时钟差异在3ms左右,一致性比远程NTP同步高了一个数量级。

在A,B,S上都开启NTP服务,其中A,B与S同步,但S直接使用本地时钟,配置为:

server 127.127.1.0 prefer

结果有点出乎意料,时间不一致接近60ms。

由于通常的操作系统是非实时操作系统,同样的指令占用的执行时间并不是固定的。做一个简单的实验,看看这个因素对测量会有多大影响。

下图给出了在两台机器上,读取系统时间(gettimeofday)这一调用所花的时间(各运行500000次)

可以看出99.97%的执行都在1us及以下。这说明分时执行对统计结果的影响很小。

当然,整个ssh调用耗时的波动范围更大一些(RTT的统计值上可以反映出来)。

用ssh调用读取另一台机器上的系统时间,和本地时间比较,并利用双向ssh调用抵消调用所花的时间,从而可以较准确计算出两台主机上的系统时间差。

虽然在分时操作系统上不能保证执行时间的固定,但通过统计可以逼近结果。由于ssh调用所花的时间在0.6ms以下,所以测量的精度至少是1ms级的。

另外,如果用非加密的web调用,或者自己实现远程调用,应该会有更高的效率,可能会对测量精度略有提高。

利用这一测量,可以观察NTP的同步效果。如果和远程NTP服务器同步,时钟的一致性实测在50ms以内;如果和本地NTP服务器同步,时钟的一致性在3ms左右;但如果本地NTP服务器使用本地时钟,一致性会下降很多(60ms左右)。

由于硬件/虚拟机时钟的波动、网络的波动、NTP的精度,都导致这种一致性总是处于波动之中。总体上,在局域网内,使用NTP同步,能达到毫秒级的一致性就不错了。


教资考试面试试题如何确定?
教师资格证面试试讲内容是根据考生报考的学段和学科来确定的,面试抽取的题目是从教材中随机抽取一个片段,面试的教材主要以人教版为主。例如你报考的是小学语文的面试,那么面试时就从小学语文6个年级的课本中随机抽取一个片段(其实主要抽取的是3-5年级),题目的类型是某个课文的片段。

教师资格证面试考生试题如何确定?
(1)备课(或活动设计)试题的确定:考生在备课前登录面试测评系统,计算机从题库中随机抽取试题(幼儿园类别考生从抽取的2道试题中任选1道,其余类别只抽取1道试题),考生确认后,计算机打印试题清单。(2)规定回答问题的确定:考官从试题库中随机抽取2道规定问题,要求考生回答。时间5分钟左右。

湖北教师资格面试试讲的题目是怎么确定的?
您好,面试试讲的题目一般是通过抽签决定的。教师资格证“统考面试”程序如下:(一)候考:考生持面试准考证、身份证件,按时到达测试考点,进入候考室候考。(二)抽题:根据考点安排,登陆“面试测评软件系统”,计算机从题库中抽取一组试题,考生任选其中一道试题,系统打印备课纸及试题清单。(三)备课:...

教师面试官如何确定
细节一:面试抽题 抽题室中所抽的题目为试讲的题目,不是结构化答辩的题目。题目只是课文的片段或者是某个知识点,不是全篇课文,复习备考是以全篇课文复习。题目纸下方还有试题要求,有的考生一紧张就会漏看题目要求。PS:体育科目的试题与其他科目有所不同,如篮球投篮、握球、跑、跳远等节选1-2个...

与老板面谈需要准备的面试问题
1、公司如何评估我的工作表现?2、如何确定我的工作指标?在确定工作指标时,我有多少决定权?3、谁是我需要打交道的关键决策者?你对他们的评价如何?4、多长时间会对我的薪水进行重新审核?第一次审核是在什么时候?5、我的奖金中有多大比例是固定的?多大比例是依据我的工作业绩?工作 6、说实话,你心里...

公务员面试:怎么答题才能详略得当?
1、确定答题重点 如果不确定答题重点,就很难把握好哪里需要详细作答,哪里需要简略作答。各位考生在审题的时候,需要看清楚题目的问法。首先,如果是“怎么看”之类的问法,那么对于这道题的分析部分一定是我们的重点,如原因、影响等。如果是“怎么办”之类的问法,那么对于题干中问题的解决部分一定是...

人力资源岗位面试时,面试官常常会问到的专业题目有哪些??求解答!!谢...
1、对企业管理人员的培训需求,一是通过绩效考核的评估情况,确定管理人员绩效水平低的原因,以确定如何通过培训来解决问题;二是通过能管理人员专业知识和业务能力进行分析,结合工作所在岗位的工作分析制定培训需求; 2、对一线操作人员要根据操作规程和岗位规范,对现有工人的水平和责任心等进行比较,确定培训需求; 二、衡量...

2019年教师资格面试考什么?流程是什么?
面试考生试题如何确定?面试试题分备课(或活动设计)试题和规定回答问题两种。备课(或活动设计)试题的确定:考生在备课前登录面试测评系统,面试试题从试题库中随机抽取。规定回答问题的确定:考生在试讲(或演示)前,考官在面试考场从试题库中随机抽取后确定的。下面将中小学教师资格面试考试具体内容整理如下:...

公务员面试情景模拟题仅仅是简单的和考官聊聊天?
规律之一:准确定位身份 例题1、新进单位同事小王,工作中认真负责,但是领导和同事并不待见小王,小王因此很沮丧影响了工作效率,作为小王的同事,你该怎么劝他?请现场模拟。技巧点拨:这道题目当中,站在作答者的角度来看,身份是小王的同事,以身份作为出发点,各位考生在作答的过程中,就应该多站在...

国考面试一般考几道题?考多久?
4.考查方式:一般采用听题,考生桌上没有题本,通常会提供笔、草稿纸。如果是材料题,通常在场外10分钟读材料,场内听题答题。二、税务系统 1.面试形式:结构化小组。2.面试题量:每天1套题,每套3道题目。3.面试时间:备考总时间15分钟;答题总时间不超过6分钟,每题作答不超过2分钟(2019年税务局...

潮州市19799572042: 有这样一道面试题,大家帮帮忙啊!你怎么区分个人时间和公司时间?
富进胃刻:在工作时间内不做私事这是前提的,工作时间大部分情况下就是上班的时间,并且在上班时间不可以干私事.但是下班以后本应是私人时间的这些时间在工作没有做好的情况下,可以当做工作时间来继续工作,如果工作已经完成则可以当成私时间进行私事的处理.

潮州市19799572042: IBM公司面试的三道IQ题
富进胃刻:第一题: 设有A,B,C三个开关 按下A开关,B开关保持不动,C开关ON一会然后OFF 然后人进门,亮着的那盏灯是A控制,另外两盏熄灭的,然后用手摸两盏灯,比较热的那盏灯是C控制的,剩下的一盏就是B控制的. 第二题: 设两根香分别为...

潮州市19799572042: 一道面试时间编排问题
富进胃刻: 20时

潮州市19799572042: 厦航没来我们学校招聘可以自己去别的学校听宣讲并且参与面试吗 -
富进胃刻: 当然是可以的,对于这种情况来说,自己想要去该学校上学,只要走正规程序,报名参加考试,就能够根据成绩,来确定是否被录取的.

潮州市19799572042: 一道经典的面试题:如何从N个数中选出最大(小)的n个数? -
富进胃刻: 这个问题我前前后后考虑了有快一年了,也和不少人讨论过.据我得到的消息,Google和微软都面过这道题.这道题可能很多人都听说过,或者知道答案(所谓的堆),不过我想把我的答案写出来.我的分析也许存有漏洞,以交流为目的.但这...

潮州市19799572042: 小升初的一道面试试题:用3 3 6 6 算24点 该怎样算? -
富进胃刻:[答案] 1: 3 * (6 ÷ 3 + 6) 2: 3 * ((6 ÷ 3) + 6) 3: 3 * (6 + 6 ÷ 3) 4: 3 * (6 + (6 ÷ 3)) 5: (6 ÷ 3 + 6) * 3 6: ((6 ÷ 3) + 6) * 3 7: (6 + 6 ÷ 3) * 3 8: (6 + (6 ÷ 3)) * 3

潮州市19799572042: 怎么比较两台电脑cpu好坏 -
富进胃刻: 百度搜索这些CPU型号,对比一下各个CPU的参数就知道了同样是INTEL CPU的话一看核心数量,越多越好 二看处理器频率,越高越好 三看缓存大小,有三级缓存的最好,三级缓存越大越好 四看制作工艺,越小越好,比如现在的制作工艺是22纳米的AMD的CPU就无法和INTEL的CPU这样对比,AMD的CPU单核性能较INTEL差,这个需要一些专业评测软件才能看出来

潮州市19799572042: 从那些方面去判断一台电脑的性能好坏?
富进胃刻: 一台电脑的好坏,是要从多方面来衡量的,不能仅看其中某个或者几个性能指标.而一般评价一台电脑的好坏的性能指标有如下几种: 1、CPU的类型和时钟频率 这是电脑最主要的性能指标,它决定了一台电脑的最基本性能. 以前我们常说的...

潮州市19799572042: 求解一道面试题 -
富进胃刻: 思路: 设两数组所有数(2N个)总和为SUM,要是两数组差值最小(最小为0),最小为0是说明单数组之和为SUM/2,但是很多情况是不等于的,所以我们的目的从2N个数中选出N个数之和最接近于SUM/2. 如果N数量较小,用枚举法比较容易实现,枚举出的个数可以用排列组合来求,但是N如果很大,枚举法就效率太低,暂时还没有N很大的时候后的思路= =.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网