1
00:00:00,000 --> 00:00:05,759
in my hand right now is an atomic clock

2
00:00:03,120 --> 00:00:09,080
like the real kind with rubidium inside and installing it promises to make your

3
00:00:08,099 --> 00:00:15,900
computer 100 times faster that is if your

4
00:00:13,860 --> 00:00:19,859
computer happens to be a massive data center but seriously though

5
00:00:17,760 --> 00:00:23,939
without a data center we've got it working here in our lab and based on

6
00:00:22,380 --> 00:00:27,660
what we've seen this could be the biggest Leap Forward in Computing this

7
00:00:25,920 --> 00:00:32,399
decade it doesn't sound like the biggest deal on the surface you know nanosecond

8
00:00:30,359 --> 00:00:36,899
accurate time synchronized between every computer on a network so what right but

9
00:00:34,860 --> 00:00:41,040
so much Computing over head goes into compensating for Signal delays that this

10
00:00:39,480 --> 00:00:45,480
could do everything from improving the efficiency of live video broadcasts to

11
00:00:43,200 --> 00:00:50,100
dramatically reducing in-game latency to enhancing online security and the

12
00:00:47,640 --> 00:00:56,520
craziest thing is that almost every device from this computer to my phone

13
00:00:53,879 --> 00:01:01,020
already has the necessary Hardware to implement it all they need is an

14
00:00:58,980 --> 00:01:05,880
accurate pulse from a card like this one and they're Off to the Races and we're

15
00:01:03,480 --> 00:01:09,000
going to show you guys how it works and we're going to tell you about our

16
00:01:06,840 --> 00:01:12,659
sponsor glasswire are you lagging out while Gaming use glasswire and see what

17
00:01:11,280 --> 00:01:16,680
apps are wasting your bandwidth and causing your games to lag get 25 off

18
00:01:14,760 --> 00:01:18,979
using offer code Linus at the link down below

19
00:01:25,520 --> 00:01:31,080
highly precise timing is a pretty mature technology at this point and it's

20
00:01:29,460 --> 00:01:35,460
already being used in a number of critical applications like power

21
00:01:33,060 --> 00:01:40,140
stations where a mismatch between the AC output and the phase of the electrical

22
00:01:37,380 --> 00:01:43,619
grid could cause a big fire or broadcasting where all the cameras need

23
00:01:42,060 --> 00:01:48,119
to be synced up on the Jumbotron to avoid tearing or for scientific research

24
00:01:45,840 --> 00:01:54,960
like at the Large Hadron Collider or our friends over at ligo what is new about

25
00:01:50,640 --> 00:01:56,880
it is the affordability now at sixteen

26
00:01:54,960 --> 00:02:01,860
hundred dollars most Gamers would probably choose an RTX 3090 or really

27
00:01:59,759 --> 00:02:06,899
almost anything else but in the data center that is chump change and it's a

28
00:02:04,740 --> 00:02:11,700
fraction of what these Solutions used to cost so here's our setup to show you

29
00:02:09,000 --> 00:02:17,640
guys why this is important and just how good this technology is inside this Nook

30
00:02:14,760 --> 00:02:24,480
9 extreme is a Rubidium atomic clock which synchronizes to G PS time

31
00:02:20,099 --> 00:02:25,500
periodically using this antenna oh this

32
00:02:24,480 --> 00:02:29,640
one not that it really needs to given that a

33
00:02:27,780 --> 00:02:37,080
clock like this should drift about one second every 100 million years and then

34
00:02:33,720 --> 00:02:39,120
over here this is another computer now

35
00:02:37,080 --> 00:02:43,560
in the course of communicating with our first computer this one would normally

36
00:02:41,040 --> 00:02:48,000
attach timestamps to every data packet to ensure that they are processed and

37
00:02:45,480 --> 00:02:52,379
responded to in the correct order but we've got a big problem you see these

38
00:02:50,519 --> 00:02:56,720
two computers and probably the one you're using right now are synchronized

39
00:02:54,180 --> 00:03:02,700
using the network time protocol or ntp and ntp was awesome back when it was

40
00:03:00,420 --> 00:03:08,040
created by David Mills back in the 1980s but to say that computers have gotten a

41
00:03:05,940 --> 00:03:12,000
little faster and the internet has expanded since then would be a gross

42
00:03:10,860 --> 00:03:16,920
understatement so look at this we've set each one of

43
00:03:14,819 --> 00:03:21,720
our computers to Output a timing pulse every second you can see right here

44
00:03:18,900 --> 00:03:26,340
there pretty close within a few milliseconds of true time oh the blue

45
00:03:24,000 --> 00:03:30,540
one came unplugged hello oh God it broke a piece off of it is it

46
00:03:28,860 --> 00:03:36,180
alive please tell me we get signal main screen turn on yep it's there oh thank God okay we need

47
00:03:33,720 --> 00:03:40,440
tape do you want better tape no you see the one in the back there has actually

48
00:03:37,920 --> 00:03:44,540
managed to go each one of these lines represents 100 milliseconds so 100 200

49
00:03:43,080 --> 00:03:49,560
about 270 milliseconds ahead of true time

50
00:03:47,940 --> 00:03:55,560
which is this yellow Mark right here while the green one has actually drifted

51
00:03:51,900 --> 00:03:57,480
about 120 milliseconds back so the

52
00:03:55,560 --> 00:04:03,060
difference between them is about 400 milliseconds nearly half a second but

53
00:04:00,659 --> 00:04:08,340
while that might have been fine in 1980 modern computers can perform literally

54
00:04:05,640 --> 00:04:12,780
millions of calculations in that time which means there are Speedy boy over

55
00:04:10,200 --> 00:04:18,680
here ends up waiting around for the slower second machine

56
00:04:14,760 --> 00:04:18,680
now watch this

57
00:04:26,580 --> 00:04:32,699
and it's time for an impromptu Vlog this is Ahmed who is much smarter than us and

58
00:04:31,139 --> 00:04:37,680
knows how this works and he has remoted into our computer to synchronize our

59
00:04:35,580 --> 00:04:42,120
nonsense here he like hand built this card apparently

60
00:04:39,900 --> 00:04:47,759
what all that is doing right now is enabling the Precision Time protocol or

61
00:04:44,759 --> 00:04:50,520
PTP which should

62
00:04:47,759 --> 00:04:55,080
clamp things down to be nearly a million times more accurate than they were

63
00:04:52,199 --> 00:04:59,820
before how are your kids doing on that I think I hear some kids in the background

64
00:04:56,460 --> 00:05:01,820
getting lots of sleep I bet right

65
00:04:59,820 --> 00:05:01,820
yeah

66
00:05:05,060 --> 00:05:12,560
not true I apologize for Alex bunging up

67
00:05:08,820 --> 00:05:12,560
all of your carefully configured stuff

68
00:05:12,720 --> 00:05:18,060
did you say Alex is inbred what

69
00:05:15,780 --> 00:05:23,759
we think we know what happened the Nick that is behind our time card here seems

70
00:05:21,180 --> 00:05:29,000
to be experiencing some kind of thermal shutdown event whose idea was it to do

71
00:05:25,919 --> 00:05:29,000
this with Nooks

72
00:05:29,520 --> 00:05:35,820
yay I think we got it okay all right

73
00:05:32,940 --> 00:05:40,139
awesome thank you now that we're synced up we can zoom all the way in we're at a

74
00:05:38,340 --> 00:05:43,680
hundred milliseconds per line in our grid here we can go all the way down to

75
00:05:42,240 --> 00:05:50,820
one microsecond you can see the difference is about 1.2 micro seconds

76
00:05:47,759 --> 00:05:52,979
that's about a thousand nanoseconds and

77
00:05:50,820 --> 00:05:58,139
when we're talking about time increments that small I mean you can actually see

78
00:05:55,500 --> 00:06:02,820
that this offset is very constant between the two that's because that's

79
00:06:00,180 --> 00:06:07,620
the amount of time it actually takes for the signal to pass through the fpga

80
00:06:05,160 --> 00:06:13,380
through the PCI Express bus so we can actually put an offset in to have this

81
00:06:09,419 --> 00:06:14,699
thing dialed in exactly to GPS time but

82
00:06:13,380 --> 00:06:19,860
why does it matter I'm so glad you asked with two computers

83
00:06:17,780 --> 00:06:26,039
honestly speaking it doesn't very much but if your

84
00:06:22,680 --> 00:06:28,740
Facebook or Google or let's say the

85
00:06:26,039 --> 00:06:33,180
entire internet making sure that every user gets the correct information is

86
00:06:31,319 --> 00:06:37,560
very important I mean you don't want someone's friend list to change based on

87
00:06:35,520 --> 00:06:42,120
which server they connect to for instance right so this means that every

88
00:06:40,020 --> 00:06:46,199
time a request is made for some information checks need to be done to

89
00:06:44,340 --> 00:06:53,940
ensure that the user is getting the most current information but deciding what

90
00:06:50,580 --> 00:06:56,340
the most current information is can add

91
00:06:53,940 --> 00:07:01,080
a lot of overhead in the past if there was some kind of disagreement it was

92
00:06:58,020 --> 00:07:03,300
typically settled with a vote so the

93
00:07:01,080 --> 00:07:07,800
request goes out and all of the machines need to decide what information is

94
00:07:05,460 --> 00:07:11,400
correct by voting when half of the machines say the information is correct

95
00:07:09,360 --> 00:07:14,639
it gets sent to the user this is easy enough if you just have a handful of

96
00:07:13,319 --> 00:07:18,600
machines but when you're dealing with a data center where thousands or even

97
00:07:16,680 --> 00:07:23,280
millions of machines are involved I think you can see why having all all of

98
00:07:20,460 --> 00:07:29,460
them vote on every single user request isn't feasible so nowadays instead of a

99
00:07:26,819 --> 00:07:35,220
vote a proposal is blasted out basically asking everyone hey is this the correct

100
00:07:32,160 --> 00:07:38,280
dog photo and if no one yells back no it

101
00:07:35,220 --> 00:07:40,380
needs to have the text Mondays then the

102
00:07:38,280 --> 00:07:45,240
photo gets sent to the user but the thing is that this method assumes that

103
00:07:42,479 --> 00:07:50,580
all of the clocks are in sync in order to work and if they aren't we can run

104
00:07:47,400 --> 00:07:53,580
into problems for example let's say that

105
00:07:50,580 --> 00:07:56,580
system a is two milliseconds behind true

106
00:07:53,580 --> 00:07:59,039
time and system B is three milliseconds

107
00:07:56,580 --> 00:08:03,660
ahead of true time these are totally realistic numbers by the way as you guys

108
00:08:00,720 --> 00:08:08,160
saw if system B sends out a message and system a receives it almost immediately

109
00:08:05,940 --> 00:08:13,139
in less than that difference less than five milliseconds system a will think

110
00:08:10,800 --> 00:08:17,940
that it got a message from the future now thankfully the smart people at these

111
00:08:15,660 --> 00:08:21,360
massive data centers they have some kind of fancy code to allow different

112
00:08:19,740 --> 00:08:24,500
different machines to deal with receiving time stamped data in the

113
00:08:23,160 --> 00:08:30,120
future right no they actually don't it turns out that

114
00:08:28,440 --> 00:08:36,899
the most foolproof solution to this problem is to just add a massive 20

115
00:08:33,659 --> 00:08:40,080
millisecond delay to every single

116
00:08:36,899 --> 00:08:42,240
request to ensure that every machine is

117
00:08:40,080 --> 00:08:48,180
always receiving data that is time stamped from the past that is why adding

118
00:08:46,140 --> 00:08:54,120
an atomic clock to the mix and getting the timing of every computer down to

119
00:08:51,120 --> 00:08:56,339
this nanosecond scale of precision and

120
00:08:54,120 --> 00:09:01,980
accuracy both has such a profound performance impact in Facebook's case

121
00:08:58,800 --> 00:09:03,720
they were able to get 100 times the

122
00:09:01,980 --> 00:09:07,200
throughput by eliminating that 20 millisecond delay what makes this

123
00:09:05,459 --> 00:09:12,000
incredibly cool though is that it can be used for way more than helping Facebook

124
00:09:08,940 --> 00:09:14,880
efficiently sell your data or a hedge

125
00:09:12,000 --> 00:09:19,680
fund make millions with computerized transactions the entire project is open

126
00:09:17,580 --> 00:09:25,080
source and can be implemented by anyone any way they would like like if we

127
00:09:22,080 --> 00:09:28,380
wanted nanoseconds level order

128
00:09:25,080 --> 00:09:30,720
information on lttstore.com so we know

129
00:09:28,380 --> 00:09:33,959
exactly who got a mouse pad you know before they're sold out again one of the

130
00:09:32,640 --> 00:09:38,279
other ways that this could affect you in the coming years is Competitive Gaming

131
00:09:35,760 --> 00:09:42,959
by having highly accurate clocks in every computer around the world packet

132
00:09:40,680 --> 00:09:47,399
time stamping would become a lot simpler and especially more fair for people who

133
00:09:45,660 --> 00:09:51,180
are geographically farther away from the game server I could be playing

134
00:09:48,720 --> 00:09:56,279
Battlefield for instance against someone in Korea and since the server would know

135
00:09:53,279 --> 00:09:59,279
down to a few dozen nanoseconds who

136
00:09:56,279 --> 00:10:01,740
clicked first it would always accurately

137
00:09:59,279 --> 00:10:05,760
determine who got a headshot and who's going back to the loadout screen so

138
00:10:03,540 --> 00:10:09,839
Ahmed who hand built our time card and sent it to us really wants to create a

139
00:10:08,459 --> 00:10:14,399
simpler version of this that could be put into any NVMe slot to give Gamers

140
00:10:12,300 --> 00:10:19,380
access to this technology and since there's a good chance that the Nic in

141
00:10:16,320 --> 00:10:22,680
their computer already supports PTP it's

142
00:10:19,380 --> 00:10:24,959
not even that crazy of a goal in the

143
00:10:22,680 --> 00:10:30,180
longer term hey Bigfoot networks dream of a of a gaming Nick that actually does

144
00:10:27,360 --> 00:10:33,839
anything could finally come true yeah and implementing this super accurate

145
00:10:32,459 --> 00:10:37,500
timing also has some really cool applications for the Fiber Optic Cables

146
00:10:35,580 --> 00:10:42,120
running beneath the ocean roughly every 80 kilometers or so there's a signal

147
00:10:39,720 --> 00:10:46,680
booster going across the ocean and if one of those goes down well it shouldn't

148
00:10:44,880 --> 00:10:51,720
be a surprise to you that accessing a cable run that is several kilometers

149
00:10:48,660 --> 00:10:53,820
underwater is pretty inconvenient but

150
00:10:51,720 --> 00:10:58,620
the thing is before these repeaters give up the ghost they will usually start

151
00:10:55,620 --> 00:11:00,959
running slower and with accurate timing

152
00:10:58,620 --> 00:11:04,740
on either side you could actually figure out that the signal is taking longer

153
00:11:02,640 --> 00:11:08,820
than expected and figure out which repeater is beginning to fail from here

154
00:11:07,200 --> 00:11:14,760
you could reduce the amount of data going through it to extend the repeater's life and schedule repairs

155
00:11:12,420 --> 00:11:18,120
even more mind-boggling the undersea cables can be used to detect

156
00:11:16,200 --> 00:11:21,240
gravitational waves you might remember our video at the laser interface

157
00:11:19,560 --> 00:11:25,740
ferrometer gravitational wave Observatory or ligo where they use

158
00:11:23,339 --> 00:11:30,360
lasers to Super accurately measure changes in the physical size of the

159
00:11:27,600 --> 00:11:33,720
Earth due to black holes colliding or something well ligo is actually

160
00:11:32,220 --> 00:11:38,040
currently working with the time Appliance project to get the timing

161
00:11:35,519 --> 00:11:44,220
between their three locations to within a single clock cycle of their processors

162
00:11:41,100 --> 00:11:46,200
but by accurately measuring the time it

163
00:11:44,220 --> 00:11:49,980
takes for light to cross the ocean you have suddenly turned the whole world

164
00:11:47,820 --> 00:11:54,660
into a gravitational wave detector instead of just a four kilometer stretch

165
00:11:52,019 --> 00:11:59,519
of desert in Washington State accurate timing also has huge implications for

166
00:11:56,940 --> 00:12:04,260
security like if you know that it always takes 10 milliseconds for a message to

167
00:12:01,980 --> 00:12:08,160
be sent between two computers if there's some deviation like if someone tried to

168
00:12:06,120 --> 00:12:13,140
inject something or sniff the packets you can just ignore the data that didn't

169
00:12:10,920 --> 00:12:18,120
arrive than you expected it to and finally PTP could have a huge impact on

170
00:12:16,019 --> 00:12:21,899
streaming and live content currently there's no real way to verify the

171
00:12:19,920 --> 00:12:26,880
Integrity of a stream you're basically just pushing out data and counting on

172
00:12:25,200 --> 00:12:31,260
user complaints to tell you that something is wrong with it with tighter

173
00:12:29,279 --> 00:12:35,220
clocks it should be possible to have much higher image quality with fewer

174
00:12:33,420 --> 00:12:39,360
chances of corruption occurring along the way although with these examples we

175
00:12:37,800 --> 00:12:42,899
are only scratching the surface of what can be done here the best part of all

176
00:12:41,160 --> 00:12:46,380
this is that there are probably loads of ways that this Tech will be used that no

177
00:12:44,399 --> 00:12:50,339
one has thought of yet and since again the whole project is open source anyone

178
00:12:48,540 --> 00:12:53,459
can implement it and change it however they want there really isn't much in the

179
00:12:52,139 --> 00:12:58,079
way of this gaining widespread support like I said before the tech is already

180
00:12:55,620 --> 00:13:03,540
built into a lot of computers and is already being used by Regular People for

181
00:13:00,000 --> 00:13:05,519
things like 5G and GPS so make sure to

182
00:13:03,540 --> 00:13:09,839
hit like if you enjoyed this and spread the word also we're considering

183
00:13:07,380 --> 00:13:14,160
implementing this in our office to see if we get some kind of network

184
00:13:11,519 --> 00:13:18,779
performance benefit so make sure you're subscribed so you don't miss that are we

185
00:13:16,019 --> 00:13:23,639
really going to do that uh uh maybe I'm not sure either what I am sure about is

186
00:13:21,360 --> 00:13:26,639
our sponsor thanks to Squarespace for sponsoring this video if you need a

187
00:13:25,079 --> 00:13:32,100
website and don't know how to make it Squarespace makes it easy there's a wide

188
00:13:30,240 --> 00:13:35,459
selection of award-winning templates and all of them are optimized for mobile so

189
00:13:33,660 --> 00:13:39,240
your website will look great on any device you can create members only

190
00:13:37,560 --> 00:13:43,139
content for extra Revenue using squarespace's members area you can grow

191
00:13:41,459 --> 00:13:46,800
and engage with your audience with the powerful and easy to use email campaign

192
00:13:45,000 --> 00:13:50,760
system and if you ever need additional help Squarespace offers webinars a full

193
00:13:49,079 --> 00:13:55,800
series of help guides or you can contact their 24 7 customer support via live

194
00:13:53,100 --> 00:13:59,579
chat and email so don't wait get started today by going to squarespace.com

195
00:13:57,480 --> 00:14:03,899
forward slash LTT where you can get 10 off your first purchase if you enjoyed

196
00:14:02,399 --> 00:14:07,500
this and you're looking for more sciency videos from us check out our tour of

197
00:14:05,519 --> 00:14:12,839
ligo the engineering that goes into the detection of gravitational waves is

198
00:14:09,240 --> 00:14:12,839
truly mind-bending
