It’s About Time
12:05pm in Studio A
It’s About Time: How advancements in network technology allow media server systems to abandon their analog past
This talk is a brief introduction about how computers keep time, and how evolving standards and technologies in that space allow us to transition video infrastructure away from traditional analog cables onto the network.
I will discuss some benefits of this change, what it will mean for technicians and creatives alike, and how this will open up a whole world of creative possibilities in the live event, broadcast, and metaverse spaces.
Laura Frank 00:12
But I’m very excited to introduce our next speaker, who I hope needs no introduction, Mr. Michael Kohler, he’s gonna explain time to us.
Michael Kohler 00:18
Yeah. A nice simple topic. Thank you. I’m Michael Kohler and my Ken job is computer. And anyway, in this presentation, I’m going to explain what PTP is, you hear this acronym a lot when we start talking about next generation video and whatever systems. But in order to get to that point, I kind of have to explain how humanity understands time. And we’re going to try to like rush through that as quick as we can. Because, you know, time is a valuable thing. So I won’t be offended if you leave or get bored or whatever, but I’m gonna feel bad about it. But the whole reason I started down this rabbit hole was, you know, with my ADHD or whatever, like, I kind of like find a topic and then become like, really, really, really obsessed with it, sign up to go do a talk about it. And then like three weeks before, I’m like, Oh, I’ve got to actually do the thing. Thankfully, that happened last year. And this is the follow up and actually better prepared version, where I actually have a proper time clock to demonstrate some of these things. And we’ve got a live demo, which is always chaotic. But we’ll we’ll just see how the demo gods do with us. So without further ado, timing is everything. So any kind of live anything is all about time. And every part of the performance involves understanding how different show elements, departments, people all fit together, and what happens before other things. What happens simultaneously, how long to wait between these things, you know, music is timing scripts are based on timing, cue lists, choreography, animation, movie movies, it’s what makes performance performance. So it’s key to show control as well, which is something that we all know and love and or at least deal with, you know, manual cues is they used to whistle and people would move parts to the set. And that’s why you can’t whistle on a theater anymore. They ruin everything. NTSC and genlock was how you keep the video equipment in time. There’s timecode for you know, keeping various discrete elements of your show running the same part of the sequence. You know, Ethernet is very, very dependent on the timing of the electrical circuits happening at many ends of a cable or fiber, MIDI DMX. These are all protocols that you can use to evaluate time in a production context. So horology is the study and measure of time. And one of my first production credits outside of school was I made this DMX motorized clock for a friend’s production of around the world 90 days. And I made them credit me in the program as the production horologists. And I got paid and stepper motor drivers. So some things never change. And there’s this whole like history about how we understand time, hourglasses and whatnot and the sun and we’re just skip most of that. But we’re gonna talk about what’s a second. And it’s, you know, 9 billion 192,631,770 cycles of the radiation produced by the transition between two levels of the cesium 133 atom. What’s great about like the metric system is they come up with like believable scientific representations for phenomenon that we came up with before we understood the science and they’re also going to put that in Rent and It didn’t work. But it’s the same idea, just much, much, much more granular amounts of time. So how do we actually like keep track of those if we don’t have like cesium? Well, there were simple mechanical clocks that we came up with first, like this lovely KitKat clock. And it uses mechanical motion of a pendulum, pendulum and springs and gears and cool mechanical things to end the eyes. To make the hands go around in a specific amount of time and after a while mechanical clocks need some energy put into them you to go Wag the tail so that the cat clock keeps going, or you put in batteries nowadays, even if they’re mechanical, they still have these batteries that keep them going. But the first electrically powered clocks use this fancy property of crystals, no known as P piezo. Electricity. And basically, if you take this crystal and you bang on it, it generates electricity. And the opposite also happens if you take this crystal and expose it to a voltage, it will vibrate. And you know some of the old oscillators look like tuning forks, because that’s literally what they are. The circuit kind of gets them going and then they keep vibrating for a little while, like a tuning fork. But oscillators are only so stable. So we need a way to understand like how good an oscillator is because you’d have a tuning fork and you bang it and it works for like 15 seconds, but then it gets out of tune. It’s not a very useful oscillator we need to understand how stable that oscillator is and how long it can run. So the way they measure that stability is in these units called parts per million. And a typical watch crystal has a stability of 20 parts per million at 39 degrees C, which you know, the temperature, of course, affects everything. But you know, what is a parts per million in a context of time. And if we look at like one day of timekeeping, so like 24 hours, you’ve got 60 seconds in a minute and 60 minutes in an hour and 24 hours a day. So that’s 86,400 seconds, and 20 parts per million, that means that the error in vibration of that oscillator is going to be 20 times one over a million, that’s the parts per million part. So it’s point 00002. And to calculate that, you multiply your seconds by that number, and you’ll see that that oscillator will lose or gain or vary by 1.7 to eight seconds per day. And after a month, you’ve drifted a minute out, which isn’t great. Like if you’re constantly interested in resetting your clock, like the one on my bathroom. Sure, you can deal with that. But, you know, if you’re running a virtual production stage, you don’t want to have to dedicate Well, you don’t want have to reset your clock every day. So anyway, you can get better than that. There’s parts per billion. So because crystal oscillators are very dependent by temperature, they have a fancy OCXO, which are oven controlled crystal oscillator at some point, the electronics people decided to make the abbreviation for Crystal X. I do not know why. But it’s really spicy, I like it. But anyway, they put the crystal in a little oven, and they heat it up to the ideal oscillating range for that temperature. So or for that crystal, so that it is more accurate and less likely to drift over time. So the spicy crystal oscillators can have a stability of one part per billion, which again, like if we go to the math is you lose a second after 32.4 years, which is like, it’s really good. Like, I feel like we could probably afford to set our clocks every 32.4 years. But unfortunately, the scientists preoccupied with whether they could didn’t stop to think if they should even build more accurate clocks, and thus, the spiciest clocks, parts per trillion. And those are atomic clocks. And they basically microwave cesium, and they measure the vibrations. It has to do with like exposing specific types of microwave arrays, specific atoms of cesium, and they’re measuring like the decay of that over time. And they can keep time up to point 001 parts per trillion, which will lose a one second over every 32 million years, which is I think that’s decent. So all those calculations were in seconds. And when you think of a second and 32 million years, or a second and 32 years or a second in a day, it’s like it’s it’s all kind of like, you know, you’re comparing apples to flamingos, it doesn’t make any sense. So we need some better units. And we’ve got milliseconds, microseconds, and then soon the nanosecond. So a millisecond is a 1,000th of a second. And you know, we’ve got 16 of those in a frame of God fearing 60 FPS video. And then a microsecond is a millionth of a second, so it’s 1000 times smaller. But But what people keep asking me what the fuck is a nanosecond, and this is my favorite meme format. It’s basically a foot of electrical wire. And that’s how they measure computer latency and incredibly tight timings in electronics and video applications. It is a 1,000th of a microseconds and the official definition is a billionth of a second 1,000,000,000th of a second like that movie. Anyway, Nanos as the cool kids call them. So yes, tears.
David Letterman 08:49
Now I know nothing about computers, and you know everything about computers, your they’ve told you everything.
Grace Hopper 08:55
Oh, I can’t.
David Letterman 08:57
but is there anybody who would know more? Why spec, so many good youngsters coming along? Know more, but you’re known as the Queen of software. Is that right? aavidthat conjures an image of somebody who has a lot of Tupperware parties.
Grace Hopper 09:14
I could give you a nanosecond.
David Letterman 09:16
Okay. I see. I don’t even know what that is great.
Grace Hopper 09:19
Well, you see, we started with milliseconds, 1000s of a second. And then we went to microseconds millionths of a second. And now we talk about nanoseconds. That’s a billionth of a second but only told me big into the second and I didn’t know what on earth they were talking about. didn’t make sense to me. So one day I called her what engineering said cut off a nanosecond, send it over to me. And you can pick your color.
David Letterman 09:44
Oh, they come in color. See, I didn’t realize that nanoseconds. Now in the old days you only had your choice of white or gray I think. Now, now, Gracie, I understand that this is a visual.
Grace Hopper 09:55
That is the maximum distance that light or electricity can travel in a billionth of a second.
David Letterman 10:01
No, no faster. No no no farther.
Grace Hopper 10:05
When an admiral asked you why it takes a damn long to send a message by satellite, you point out to him that between here and the satellite there are a very large number of nanoseconds.
David Letterman 10:21
Guess we’re gonna have to pause here, Grace, we’ll be right back. We’ll we’ll continue talking about.
Michael Kohler 10:25
So anyway, rear admiral Grace Hopper, who basically invented modern computer programming and other things. Went on this guy’s talk show Late Night with some guy named David Letterman, whoever that is, and, you know, passed out nanoseconds, you can use them as friendship bracelets. But it’s always nice to think that like, you can’t beat the speed of light. And a fun fact, I was like learning when I was doing this presentation was, you know, which is faster copper or fiber. Turns out for most reasonable distances, copper is electric, the electrical, the speed of electricity through copper is actually faster than the speed of light through om three fiber. And there’s a lot of other reasons why you might want to use fiber, but like raw speed isn’t actually one of them. So, you know, it’s always fun to be proven wrong and things like that. So I wanted to get a nanosecond accurate clock from my apartment. But um, yeah, that’s a little bit outside of my price range. Also, it’s ITAR restricted, so like, I have no idea how they’re gonna get that to the North Pole. So I can get it for Christmas. There’s a there’s a light on it that says major alarm. Yikes. So that’s not very practical. But we put it on the Christmas list anyway. Regardless, so CZ, you just put up a comic clock in every car, house business phone watch. Well, it turns out, they actually just went mad and put atomic clocks in space. And that’s what GPS is 1978, if anybody knows what movie that’s from. Anyway, they launched the first GPS satellites in the 70s. And with you have at least four different satellites, you can figure out where you are on earth. But actually, the way it works is by sending timestamps, and the GPS receiver collects those timestamps, and, you know, has a relative understanding of where the satellites are, and is able to figure out the position based on that. So what GPS satellites basically are, are flying atomic clocks that are always outputting the time and it’s very, very, very accurate. Nowadays, a good high end GPS discipline clock can retain an error rate of around one part per trillion, which is that 32 million years number again, and GPS didn’t used to be that good. They actually for like military strategy reasons degraded the quality of the time of GPS until the 90s, when Bill Clinton free GPS for everyone to use it. It’s full accuracy. It used to be, you know, within 20 meters or something, so you couldn’t like use it for nefarious purposes. But people found workarounds for that. And at some point, it’s like, well, this GPS actually has real commercial viability. So what they were basically doing is they were rounding off, you know, eight bits of precision off at the time, and preventing you from using it to really precisely locate things. But nowadays, they’ve given you the full precision, and there’s also a lot more and fancier satellites. So at this point in the presentation, you’re like, Well, what does this have to do with live pixels. And with any of our systems, we really need to make sure that all of our stuff is doing our stuff at the same time. So they talked about interoperability with simply 2110. And you know, the HDMI cable that Schrodinger is HDMI cable that sometimes works sometimes doesn’t work. This is all really based on like really, really, really tight timing. And currently, we do this with generator lock, which is this lovely Technology delivered, developed in 1953 for television. And to this day, we still use it to synchronize our massively high tech led volumes asterisk. You know, we’ll we’ll talk about the better way in a second. But back in the day, there was no such thing as memory in video switchers. So like frame goes in from multiple sources. If those frames weren’t happening at the same time, when you switch from one source to another source, you know, you get the top part of one and the bottom part of the other and be this really ugly glitch, and, you know, you couldn’t frame synchronize in memory because memory was cataclysmically expensive. So nowadays, you know, you could cheat all that but then you get delay. But they used a signal that would tell every device in the studio, when to start and it looks a lot like this on an oscilloscope. And it is a this is called black burst because there is a blank black frame of video and then this wobbly color burst signal that used to be used for synchronizing color television signals and isn’t really used anymore today, but hey, it’s still there because it’s part of the standard. Standards are great. So I generated 525 times per frame, and one for each line of the analog television standard from 1953. And, you know, with HD, when they came out with HD in 1998, they came up with fancy tri level sync, which instead of just going from down to up, goes from down to up and down and then stays in the middle for a little while. And you know, it’s a more precise, it’s a more precise version black first, because it has differing levels to check with. And it has, it operates at a variety of frequencies. But even then, it’s still like distributed with BNC cables. It’s just like, old analog standards. So like, in order to Gen lock a computer, I need to buy these really ludicrously expensive cards that are almost never in stock. And the other cool thing about these is they only work with the expensive professional graphics cards. So if I’m a gamer, and I’ve got like a 4090. I’m Sol because I can’t plug a quadro sync $2,000 Blackhurst converter card into my 4090. So, you know, where did we go wrong? So it turns out, we need that because computers are actually awful at keeping time. And, you know, there’s a couple of reasons. There’s the temperature issue with clock stability, which is temperatures all over the place. computer operating systems are doing a zillion things at once, like Excel and video games and whatever else people use computers for. So it’s not just like dedicated to keeping time. It’s not like it has a CPU core that’s constantly thinking about time synchronization. Things go into cache, things go out of cache, the computer forgets where it was. But most users don’t need their computer to be good at time. You know, if you lost a second over a day, no one will know in their Excel spreadsheets will probably be fine. So most computer clocks uncorrected, drift drift a bit. And the way computers keep time is they count the number of ticks, which is arbitrary unit of measurements since the epoch. I think this is probably something from the matrix as well. But in Linux, the epoch is January 1 1970. And that’s a Thursday and the reason I know that’s a Thursday is when I first deployed my clock at home, it set all my Windows PCs to Thursday, January 1 1970. Because it was misconfigured the Mac’s didn’t seem to care. I don’t know why I think they looked at the time they’re like this can’t be right. But my Windows PCs are like us Thursday. So the also the default timing resolution on computer clock chips is like very variable. So you can put an atomic clock in the computer. This is the OCP tap timecard This is an open hardware project. So you could also buy the parts to build this if you wanted to. And this is from a company called time beat that. Well, we’ll talk about them later that I bought the guts for my PTP Grandmaster clock from them. But uh, yeah, sure, I want one of those too, but I actually don’t need it as much anymore because I found a better way. It would be really super inconvenient to have to put an atomic clock in every media server. Although I’m sure some of the folks that disguise would like love to say that their computers are atomic powered or something. But you know, the first way computers adjust time is by NTP, which is a software only solution. And it defines the series of stratum to classify clocks. So like stratum zero is like the atomic clock. And a stratum one clock is any computer that’s directly connected to the reference clock, usually over serial, unfortunately. And then stratum two is any computer that gets time from stratum one. And that machine can serve time to other machines that are stratum three, and so on and so forth. So for most people’s needs, their computer gets the time from the internet. And you pick a couple NTP servers. And that’s how that works. And it’s pretty decent. It’s used to discipline the clocks. And the way it does this is to make small corrections to the frequency over time. And it prevents wild swings in time that would cause like databases and real time video games to implode. And this cat is really demonstrating the idea of clock discipline, because if the human saw that all of a sudden breakfast time happened like 30 minutes before like dinner time, they’d be really suspicious, but if the cat moves the clock hands really slowly, we might not notice and feed them twice. So we will see the idea of clock disciplining in the live demo. So NTP is good for within a millisecond, which like sounds really awesome. But when we start looking at video signals and the tight timings needed to keep them in sync, we actually need to go lower. We probably need microsecond or even nanosecond precision. So in 2002, you know, never letting themselves get down the I Tripoli came up with 1588 which is precision timing protocol, and it addresses the NTP shortcomings in our applications where time really matters, which is probably all of them. But like financial transactions, telecommunications, like the way cell towers sync with each other. In order to keep you on a call when you’re moving between sites is based on PTP database synchronization. You wouldn’t want somebody to have two copies of a database where somebody bought something somewhere but didn’t buy something somewhere else. And then the backup gets screwed up. scientific measurement oil and gas and oh broadcast there down there at the bottom somewhere, there we are. So PTP defines this Architecture where devices synchronize their clocks by taking into account the delays inside a given machine, as well as the delays incurred in transmitting the network. So when properly set up, it’s able to distribute time as accurately as being connected directly to GPS, which is that one part per trillion like really highly accurate number, so while it can be run only in software, the real benefit of PTP is it allows you to use specialized hardware to increase the performance. So everything from the network cards and network switches should support PTP in hardware mode for maximum accuracy. And here’s the selection of my PTP enabled devices. There’s a industrial switch I bought on Microcenter that actually supports PTP, it is the only like TSA luggage friendly networks, which I could find that actually supports VTP. And I wish that were my only requirement. It’s also reasonably inexpensive at like 300 something bucks, which is inexpensive for a PTP network switch, I guess next year, please sponsor me. So how does PTP PTP, so it sends you synchronization packets between the devices on the network, and these timestamps are generated in special hardware that is designed to be accurate. So I’ve got a clock and I’ve got a computer, and my computer will just start 100 seconds off, because it makes my example more easy to look at on slides. Not that this example is easy to look at on slides, I apologize because the slide is like a diagram with a million numbers, it looks like a murder chart. So the clock says, hey, it’s time 0000. And it takes five nanoseconds to get across the network. And the computer at the other end makes another timestamp it said, Hey, I got your T one, which is 0000 at 1105. So like there’s actually this deviation between when it thinks the time is and when the main clock thinks the time is. And then there’s some, you know, thinks about it for two seconds and says okay, I’m going to send you a new message at 107 and sends that timestamp along with the previous two timestamps back to the machine incurring another network delay. And then the clock takes another time stamp and says, Okay, I received your message containing T two and T three at 00 12. I’m going to send you that time back. So the computer at the other end now has these four timestamps. And I’ve color coded them because it doesn’t really matter which one goes where but like there’s these math formulas that it uses to figure out how long the delay is, which it uses to calculate out what the length of the network is. And the offset, which is how wrong is my clock. And after producing that equation, it figures out oh, I’m off by 100. So it’ll start the cat will start batting the hands on the clock and the oscillator so that the time is more close to what the main clock says. So now there’s a bunch of like really confusing PTP terms. There is the Grandmaster clock. And that is the clock that is the definitive source of time in a chain of devices or network. And it’s chosen by an algorithm, much like my social media feed these days. And it determines what the best clock is in the network. There is the leader clock, which is the clock that is the source of time for another device. Any port on a PTP aware device can be in this mode. And there’s the follower clock, which is any clock that’s synchronized to another clock. Any port on a PTP device can also be in follower mode. And an ordinary clock is simply a device that’s PTP aware, but it doesn’t really act as a source of time. It’s a receiver. So the thing about this terminology is when it was first made, they were calling the master and slave clocks and we fix that. But there’s like different industries have chosen different terminology for the same things because no one can ever agree on standards. And it seems like particularly leader clock doesn’t translate well in German. So I’m going to propose they call it the PTP, mommy dummy clock, and that’ll just be more in line with my tic tock feed, I guess. And then the submissive clocks can be disciplined as needed. As long as it’s consensual it’s going to be great, everyone, it’s very healthy. If anybody knows anyone that I triple E, like they can have that I’ll waive my fee. Oh, I miss boundary clock that is a device like a switch with multiple ports. And that can be any either a leader or follower role, and they’re basically PTP distribution amplifiers. Like if we were to take this really weird video engineering specific term, and like smash it into this. It’s a PTP da. And they reduce the load on the clock, because every clock is like sending these packets and doing these calculations. So like, here’s the structure of it. Generally, you want to have two of these clocks, you have a GM clock and a backup GM clock. And they’d go into a switch, which is your boundary clock. And then they distribute that time to other devices. So in this network, one of these has decided to be the leader and all the other ones which to follow it, but within the switch, every switch or distributing device follows on one port, but then sends on other ports. This means that all those devices at the bottom of the graph are not constantly hammering the upper clock devices with what time is it? What time is it? What time is it because in a data center, where this is often deployed, you have 1000s, and 1000s, and 1000s of machines. And you would quickly need a zillion of these GPS clocks with a zillion antennas on your roof, which is maybe not the best plan. Of course, you can also create genlock, good old classic genlock from the signal, because this is an because this times signal is accurate to within, you know, however many nanoseconds from this mythical date and January 1 1970. They basically figure out well, if I’m generating 1660 frames per second video, and I’m sending out these genlock system signals, at what frequency do I have to output that genlock signal so that any device plugged into it, if it were a 1970 or an 2037? Would those times align? So like? What’s cool about this is if you have two TV trucks that are generating PTP time, it’s the same time because the accuracy between the atomic clocks from their GPS is very, very accurate. And they’re going to be in phase with each other because the phase is deterministic based on the same time, that’s something that traditional genlock generators might not do, you would still need to plug the trucks into each other for sync in a way. Because PTP is considered epoch aware, which means that PTP inherently distributes measurable time from a known point in time, and that’s the alignment point. So basically, you could take the take an oscilloscope and measure the deviation in time between two trucks that are not connected to one another. They’re only talking to satellites. And it’s much more practical to do it that way. Of course, there’s this whole algorithm where the clocks figure out which one is the best clock, that’s the best mommy clock algorithm, just going to keep those acronyms going. And some parameters are user configurable, and others are not. And the way they determine these are these values. So the first one is the PTP domain. That’s basically the subnet for your time, you can have 128 of those. So if I’ve got a clock that’s in domain 10, and a clock that’s in doing zero, never shall they speak, unless something’s broken, you can then set a priority number. And that priority number lets you say, hey, you know, if I set a low number here, it’s always going to pick that one. But what happens if two clocks have the same priority number, it goes down to the next criteria in the chain. And that’s how it’s selectable. So the next criteria in the chain is Clock class. So again, a lower number wins a clock class of six is GPS lock. That’s like a really good Clock class of seven is like, oh, no, I’ve lost my GPS. But I’m still a really expensive, accurate clock. Then there’s like 220, which is like somebody’s plugged genlock into me, but I don’t know what time it is. And then there’s clock clock class 248, which is kind of like the default. It’s like, well, I’m on but I have no idea what time it really is. And then there’s another priority value. And you use that to determine tiebreakers between identical clocks. That way you can look at your rack and be like, ah, priority two on this one is lower than this one. So this clock is always going to be the leader clock, unless it loses GPS. Then, if it can’t figure anything else out like and all networking goes to the MAC address and whichever has a lower MAC address, which is always a really stupid metric. Because there’s letters in there, I still can’t figure out how you figure out which letters are lower. So anyway, it’s a it’s a troubleshooting nightmare, because if you set everything the same, you’d look at your two clocks in the rack and be like, Oh, no, I’m not really sure who’s one. So here’s an example. Got two clocks, one of them has GPS, one of them dozens. They’re both priority 10. The one on the left is Clock class six because it has GPS. The one on the right is Clock class seven. And in this in this case, the left one wins because the lower clock class means it wins the PTP Grand Master battle. And then I’ve got another example I have a few of these and we’re just gonna blow through them but like, this is like the number one thing for troubleshooting PTP is like where is Grandmaster clock at? Like if some Some device comes on your network and screams on Clock class three, which I’m not sure that’s even legal, it would instantly take over your network unless you take certain steps to prepare for that. So anyway, because the P one number is lower the right clock one in this case, so I have a quiz. And I think we’ll just go through these together, because I’m doing this real fast. And I have like, eight minutes to get into the demo. Sure. Anyone which one’s gonna win? The right one? Yep. Because the key ones lower. Sure. All right. So now p wants the same who wins? Faculty, it’s simple. You know, like, reading a clock. Also, we talked about the boundary clocks, that instead of propagating error through the network, actually correct for the time and are reclocking TAs for PTP, you can have many ancient camcorders. I don’t know why I chose that image. And, you know, I wanted to figure out how accurate PTP was, I think we’re just going to blow into the demo at this point. And there are analysis tools for PTP, but they’re slightly outside of my budget range. But this like video, they have this instrument. It’s unbelievable if it has no right to go as hard as it does. So anyway, obviously, I should put this at the top of my Christmas list. So here’s the demo. This is a wiring diagram, which I could share later of like how I’ve configured all this stuff. And we’re going to switch over to the best part of the demo, which is terminal windows, and I apologize for terminal windows, I was trying to install this dashboard. And I spent the last week trying to install Kubernetes on an M one Mac, and it just didn’t. We could also watch crab rave if we want. So what I’ve got here is I have this PTP Grandmaster box that I built it home and put in a little box. It has a GPS timing card, and an antenna that’s pointed at the sky. And hopefully it can see the satellites. It looks good, because on this clock here, I don’t know if I can make the text bigger I can. It’s telling me that the time is 20. The date is 2020 384. And that means it has found GPS satellites and has actually corrected itself. And there’s this little number here that’s oscillating between a number of nanoseconds. And that is how far out it thinks it is from GPS atomic time. So this clock is waffling somewhere in the range of 20 to 30 nanoseconds of actual real God fearing GPS time. And what this device does is it constantly is syncing its internal clock to that reference, disciplining it very slowly. And when you first start it up, it like starts wildly out of sync, and then it slowly gets back in phase. And after you leave it for about five minutes, it has a really, really, really good timing lock. And then it serves that time to other devices as a PTP grandmaster. So if I find my other terminal window here and run this command, it’s going to start up and it’s going to look for a PTP Grandmaster clock on the network that is this box here. Totally separate box connected only by network. And it’s listening. And it’s listening. And this is the part where the demo like really goes off the rails because it’s like, oh, it definitely should have done something by now. I give it I have a backup unit listening, listening, find something maybe we restart this one yeah, this is their old software. Oh, new foreign Master. Yeah. Interesting, it seems to have picked up on the time, but it’s not showing me the timestamps like it usually does. Well, we can use our handy dandy oscilloscope to prove that it’s working or not. So we’ll do a real debugging session. So I’ve got this oscilloscope that plugs into my computer, and it measures electrical signals. And what I have done is I’ve connected it to the pulse out pin on these two devices. So the way the these devices work is they will generate a pulse every seconds that you could use for measuring things or for checking your time offset. And I’ve got this blue line, which is the pulse that’s coming off of the Grandmaster clock. And then I have a red line that should be coming off one of these other clocks. Sha 252 It’s definitely that one. Hey, buddy, you aren’t you working? Running in a temporal vortex? I don’t know. It’s Anki. Yeah, these lines should just like, line up perfectly great. But oh, it’s possible PTP is not running on the switch. That would be the other demo part. So this is the web interface of the fabulous fs.com Industrial switch. Go into PTP mode. Don’t two o’clock. Just turn PTP on on all the ports. There it goes. So the key to PTP is it needs to be configured. The secret even so what we’re seeing here is the RMS the root mean squared difference in its time, that’s basically how much each cycle it’s recollecting the clock. And over here, after the word delay is the mean path delay. And what the mean path delay is, is basically how many nanoseconds it thinks it’s off from the primary clock. So this PTP follower device is connected with a one foot cable. And it’s got a mean path delay of 290. Ish, that’s nanoseconds. But I’ve got this other unit here. And it’s on a 50 foot cable that I ordered from Amazon specifically for this purpose, because it’s the thin gauge wire and fit in my luggage, I still got the TSA note. And it’s at 368, which if you squint at it, is about 50 feet, or 50 nanoseconds more than the one foot cable, of course, you definitely incur delays in other parts of the system, like the fives and the network stack are also part of that process. And I noticed on one switch, I was calculating the mean path delay between a device that was on fiber and a device that was on copper. And I got wildly different mean path delays between like different brands of network optics. So like, you know, everything counts when you’re measuring nanoseconds. But what’s cool is like, you could probably like turn this into a chart where you measure the mean path delay of various devices on your network and figure out how long your cables are, because that’s obviously a pressing need that everybody has, and they’re really, really, really fancy video systems. But if we go back to the line here, I will zoom in time, which is my favorite feature of the oscilloscope. And we will see that once everything stabilizes. There’s this line deviation here is 50 nanoseconds. So it’s 50 of those little pieces of wire we passed around. And it’s it’s kind of waffling in and out, maybe a little bit more than I’m used to. But it’s still the GPS is still synchronizing because we’re indoors, it’s a little slower for the base timing to get good. But what we’re seeing is a really, really high resolution. Usually when I let it sit for a while, it shows me about 20 nanoseconds between the Grandmaster clock and the follower clock. And those pulses are generated at the same moment of time on both of those devices. And if I go and turn PTP off, you’ll be able to see the time slowly start drifting out. So I’m just going to uncheck all my PTP ports, because at this point, I think I have no idea what’s plugged into what port, unfortunately, because I really rushed. So again, like we’re looking at this, it’s very close, it’s within a few nanoseconds. It definitely, I’m going to zoom out like one tick so you can see it. You know, that’s a point one microsecond. So that’s 100 nanoseconds in there. And I’m going to hit Apply, and poof, it’s gone. And I could continue zooming out and see that it’s, it’s kind of stabilized over there. But the oscillator and the Raspberry Pi, which is what I’m using for these is so not great that, um, it’ll just continue to drift endlessly over time. But what’s really cool about the Raspberry Pi compute module four, which is what I’m using for these is they do support PTP. And that was a conscious decision on Raspberry Pi’s part to actually pay time beat the company that makes the atomic clock and the GPS circuit and my thing to implement PTP timing on the Broadcom chip that they use in this in the Linux kernel. So I’m running a stock version of Linux on these two computers. PTP for Linux is open source software. And the time beat software that I’m using to run my grand master clock is free. And they intend it to continue to be free indefinitely. And they’re working on open sourcing it, I had to call them for support, because I was having like GPS problems. And it turns out, I was indoors. So with the end of the demo, do I have time for questions or I see I see a negative number. Yeah, time is not running backwards, which shouldn’t be possible. Also, I’ve like completely lost my keynote presentation. Let’s go to questions. Let’s go to questions. Yep. Oh, there it is. Oh, I forgot how to use a Mac. Any questions? Oh, do we wait for the mic?
Conor McGill 41:25
Hello, testing. Oh, there we go. Michael, thank you so much. This was fascinating. What’s the difference in the accuracy of like the oscillator in the Raspberry Pi versus like a high end? PTP.
Michael Kohler 41:37
So like, high end e verts. Unit or something will have a, an accuracy that’s measured in the parts per billion, probably like five parts per million. So you’ll, you’ll lose a second every, it’s pretty good. The oscillator and the Raspberry Pi, I don’t think they’ve actually like I don’t know what to expect for the oscillator in the GPS unit. And this one is good for like a part per million, which is like, okay, but as long as I’m on GPS, I don’t need the oscillator. So stay and stay outdoors kids.
Conor McGill 42:07
Nice. Thank you.
Michael Kohler 42:11
Do you see this as like a potential solution for LTC being replaceable, and Gen law kind of folding into one?
Michael Kohler 42:23
Yeah, I think once we get to a point where, you know, as Jeremy says, Every device is on the network. And everything is able to interoperate and expose that kind of data. Once we have accurate sources of time, we’ll be able to time all of our show transport and stuff off of the same clock that we use to transport our video, it just needs to become, you know, more common and more well understood. And I’m not suggesting that anybody like, you know, throw away their, their district analyzers right now, they’re still very reliable units, even if they don’t make them anymore. I think a wise person once told me you’re only as good as your genlock. And you’re monitoring. So anyone else?
Is network delay inherently symmetrical?
Michael Kohler 43:18
No. And that’s actually the real problem with PCP. The base PTP protocol assumes that the network delay is symmetrical. And as you start designing more complicated, simply 2110 networks, that is something that they’re coming up against. One of the things that time BT solves in their Grandmaster software, they’re kind of like a fork of PTP, effectively, their, their algorithm is able to calculate in both directions, because they assume that the devices at all ends have enough CPU power to check each other’s work and actually solve for network delay in that case. So there’s actually like advancements and stuff going in this that will make that better. But right now, within any segments, it does assume that it’s symmetrical. Back here, another question.
Marcus Bengtsson 44:12
Hi, Michael, first of all, thank you. Converting PTP to genlock is that a on your diagrams that was always like done up by the Grandmaster, are there any like last mile devices that can do that same things.
Michael Kohler 44:26
So interestingly enough, there’s this new box from Blackmagic that they announced at NAB that takes three channels of 1080 video in and out and 2110 and also offers a sync out. I tried to buy one there Unobtanium right now, but like, as soon as I can get my hands on two of them that that’s what I wanted to show, I wanted to actually show the black bursts, pulses being lined up in sync, but I have yet to be able to buy one of those and I think Evertz also makes a device but it’s very expensive. So there are definitely ways to do that. Besides it being part of the GM clock. Did you have one? Warning? Yeah. Down here, I can see about the first start on that sets I just picked on him. Hi, you mentioned that in many, in some cases, fiber is actually slower than copper. And I’m wondering if you have a sense if that’s just due to the conversion of electrical signals into optical or if there’s some other driver for that. I think it was based on the speed of light through the plastic that’s used, and the speed of electricity through the wire at working at different fractions of C.
Michael Kohler 45:45
I buy that Yeah. Accuracy inside the fibers? Can we try and use the mics or online audience can hear. I have a friend who’s a physicist who studies fiber optics, that’s awesome. He told me that the majority of scattering and errors are inherent to the fiber protocol that makes it slow. On the microphone, yeah. So there is a penalty from that conversion. So kind of one of the fields that’s coming up is Silicon Photonics. So you’re actually bonding the optical fibers to actually the CPU. So there’s like three less layers of processing that take place. And so you’ll probably start seeing like less conversion penalties there. But this is not obtaining them right now. And any more questions down here? Cool.
Bruce Wheaton 46:49
No, Hey, Mike. It’s not really a question, but I’m gonna re geek you on the old analog video stuff. So nanoseconds actually mattered a lot to us in composite video sync. Absolutely. Yeah. And that one pixel was x nanoseconds, it was a tiny amount. And even worse than that the burst, you showed the phase, the phase of the bursty. Color was encoded, specifically in NTSC, commonly known as never twice the same color. The specific phase, and I know if anyone remembers the role, you know, the grandmas TV or whatever, having to choose the hue knob that was essentially twisting the phase between the burst and the signal, which obviously, in an old analog that you couldn’t even keep that in phase within the circuits in one TV. So you would tweak the you would tweak and that was like, that was nanoseconds. At best, it was an extremely fine measurement. It was essentially like taking your one nanosecond wire and like using a different amount of it to tweak the timing.
Michael Kohler 47:51
Yeah, it’s pretty funny that it’s I wasn’t saying that we didn’t have nanoseconds before it’s that only now can we represent them digitally in any useful way. And that’s why we used analog because we had a continuous amount that we didn’t have to discreetly quantize those in a computer that didn’t exist.
Yeah, and you’re absolutely right a burst is this stupid thing? Why is bust even on these signals? Nothing use it anymore. Nothing has phase
Michael Kohler 48:16
Yeah, no, I don’t think they can get rid of it anyway, it’s just part of the standard because it’s okay when I was reading about how most like the computer cards read the Gen lock you know, they look for the black part but the burst part is ignored and just ignore it. Yeah. And tri-level doesn’t have that
Yeah, tri-level trailer doesn’t have it and tri-level you were saying By the way, you did the Jedi hand wave on why tri-level. So the theory is the trailer will because instead of going from zero to point three volt, that slope, their theory was if they went from zero to one volt in in essentially in the same time that that slope will be tighter. So when he actually about the speed Yeah, so actually basically it’s a it’s a smaller curve, and the detection units would be on it tighter and which we needed for HD magic.
Michael Kohler 49:02
HD 720P. I think we have time for one more question. Or we can go to lunch. If not, I can leave you with the best product video ever made. This thing is four minutes long. But like I was gonna ask her moving like ballyhoo but I changed my mind. But I think you’re just be nice walk out music. Let’s thank Kohler can I get my microphone duck it down.
Laura Frank 49:43
Thanks very much everyone. I believe they’re done in Studio B so we can walk out through here. Lunch is available across the parking lot in the Kodak. You’re welcome to mingle around here as well. I’m sure sponsors would love that. So feel free to travel back and forth. We are going to start at this room. Get around 2pm For our next presentation, I look forward to seeing you all back, Ben, thank you very much. Thank you, Michael. Oh please, please enjoy Michael’s fabulous cat clock shirt.
ptp, clock, nanoseconds, computer, gps, device, part, network, oscillator, timing, grandmaster, atomic clock, timestamps, sync, microsecond, video, delay, satellites, figure, fiber
David Letterman, Grace Hopper, Michael Kohler, Laura Frank, Marcus Bengtsson, Bruce Wheaton, Conor McGill