<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>time | DAILY ZSOCIAL MEDIA NEWS</title>
	<atom:link href="https://dailyzsocialmedianews.com/tag/time/feed/" rel="self" type="application/rss+xml" />
	<link>https://dailyzsocialmedianews.com</link>
	<description>ALL ABOUT DAILY ZSOCIAL MEDIA NEWS</description>
	<lastBuildDate>Fri, 09 Feb 2024 19:44:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://dailyzsocialmedianews.com/wp-content/uploads/2020/12/cropped-DAILY-ZSOCIAL-MEDIA-NEWS-e1607166156946-32x32.png</url>
	<title>time | DAILY ZSOCIAL MEDIA NEWS</title>
	<link>https://dailyzsocialmedianews.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instagram Reels Technique to Save Time &#038; Develop Your Account</title>
		<link>https://dailyzsocialmedianews.com/instagram-reels-technique-to-save-time-develop-your-account/</link>
		
		<dc:creator><![CDATA[Evan Vega]]></dc:creator>
		<pubDate>Fri, 09 Feb 2024 19:44:48 +0000</pubDate>
				<category><![CDATA[Instagram]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[Grow]]></category>
		<category><![CDATA[reels]]></category>
		<category><![CDATA[save]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[time]]></category>
		<guid isPermaLink="false">https://dailyzsocialmedianews.com/?p=24679</guid>

					<description><![CDATA[<p>Ever feel like Reels are taking up way too much of your time? Or that you’re in the weeds every week trying to come up with posts? We’ve got your back with a simple process that’s not just a time-saver but also cranks up the quality of your content. Reels are like your secret weapon [&#8230;]</p>
The post <a href="https://dailyzsocialmedianews.com/instagram-reels-technique-to-save-time-develop-your-account/">Instagram Reels Technique to Save Time & Develop Your Account</a> first appeared on <a href="https://dailyzsocialmedianews.com">DAILY ZSOCIAL MEDIA NEWS</a>.]]></description>
										<content:encoded><![CDATA[<p></p>
<p>Ever feel like Reels are taking up way too much of your time? Or that you’re in the weeds every week trying to come up with posts? We’ve got your back with a simple process that’s not just a time-saver but also cranks up the quality of your content.</p>
<p>Reels are like your secret weapon for growing your business. Reels have great placement on the app, and often have more reach than your regular posts or stories. Today, we’re getting into the nitty-gritty of building a process, specifically for creating Reels for your business.</p>
<p>
<iframe title="Instagram Reels Strategy to Save Time &amp; Grow Your Account" width="1170" height="658" src="https://www.youtube.com/embed/fVaWCWpsnlQ?wmode=transparent&amp;rel=0&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</p>
<p>Getting clear on what your commitment is to Instagram and making a few key decisions about your posting schedule can pay off big time. </p>
<p>As a business owner who has so many roles in your business, without concretely defining what you have to create on social media, you’ll probably end up feeling like you are caught on the social media hamster wheel. Let’s dive into the 3 questions you need to answer to get started on setting up a Reel process.</p>
<h2 class="wp-block-heading">The First Question to Ask Yourself</h2>
<p>With clients in our PRO program and on our training, we always kick this off with this first question – How many Reels can you realistically do each week?</p>
<p>First, your current bandwidth. Assess your resources. Consistency is key in social media, so it’s important to commit to a schedule that you can realistically manage. It’s better to post fewer times a week and show up reliably than to post and then ghost. </p>
<p>It’s crucial to maintain a balance between the quality and quantity of posts. High-quality, relevant content is more likely to engage your audience than a large quantity of low-quality posts  Now, this doesn’t mean that high production is required for high quality…or that every post should take you hours to create. </p>
<p>Finally, know that you will eventually want to plan for a variety of content types and themes (educational, promotional, engaging) to keep your audience interested and engaged. There are different types of Reels, AND Reels will probably not be the only posts you are creating. So when determining what you commit to it’s important to consider how much effort or how comfortable you are with the steps. </p>
<p>Exactly, Often time with clients in our PRO program, we suggest you start with posting just 3x a week if you are brand new to Instagram. If you have more experience on Instagram and have the bandwidth to create more, great! But when you are learning the mechanics and a new process, the important thing is to START.  Go ahead and put in the comments below the number of posts you are going to start with? 2, 3, 4 – I want to see you declare your plan!</p>
<p>    Image Popup Example</p>
<h2 class="wp-block-heading">Question 2: Committing to a Posting Schedule</h2>
<p>What days are you posting? Maybe it’s twice a week, like Mondays and Wednesdays, so you can handle comments and engage with your audience. Choose days that work for you, and don’t forget to share those Reels to your stories. </p>
<p>This is important because you are probably doing a lot of different things in your business…so you control what days make most sense for you.  </p>
<p>We’ve found with our clients who didn’t grow up on social media, that it is best to first decide what schedule is going to work for you. There is so much to learn when you are first trying to understand what to post and how to post and so if we also overcomplicate things, it can often mean you end up quitting before you even start to see results. </p>
<p>That is why making this commitment reasonable at first is the most important thing…especially if you are just starting out. You can always increase your posting frequency when you are acing it! </p>
<h2 class="wp-block-heading">Question 3: What types of Reels will you make? </h2>
<p>There are SO MANY OPTIONS on how to create on Instagram, picking and sticking to something can help decrease decision fatigue. </p>
<p>We split Reels into two different types for our students. Reels with Original audio, like talking to the camera, and “Reality reels” with Instagram Audio. If you watch us on youtube (link at the top) we show a couple different Reels with the types to help clarify.</p>
<p>An account can get a good amount of traction by starting with these two formats. </p>
<p>You can mix it up—to present your business in different ways to attract viewers. But deciding briefly on a format can help you get posting faster. If these types are new to you, we’ve got a whole video on Instagram audio dropping soon, so stay tuned!</p>
<p>Once your schedule is set—how many posts, what days, and what type of format—then you are more clear and more organized when you post.  You’ll be able to batch these posts, and make more than one at a time to work smarter. </p>
<h2 class="wp-block-heading">Next Steps</h2>
<p>Putting together a process that works for you is so important. It will help tremendously with showing up each week, growing those followers and buyers from Instagram. And to do that, your posting plan has to fit into your life and make sense to you!</p>
<p>That’s just the start – if you’re eager to explore more ways to get customers from Instagram in just a few hours per week, check out our free training!</p>
<p>You’ll walk away with 5 features any small business owner can use today to drive traffic and start making sales (even with a small following)… and so much more!</p>
<p>See you there <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>The post <a href="https://dailyzsocialmedianews.com/instagram-reels-technique-to-save-time-develop-your-account/">Instagram Reels Technique to Save Time & Develop Your Account</a> first appeared on <a href="https://dailyzsocialmedianews.com">DAILY ZSOCIAL MEDIA NEWS</a>.]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Easy Precision Time Protocol at Meta</title>
		<link>https://dailyzsocialmedianews.com/easy-precision-time-protocol-at-meta/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 19:33:31 +0000</pubDate>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[precision]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[time]]></category>
		<guid isPermaLink="false">https://dailyzsocialmedianews.com/?p=24667</guid>

					<description><![CDATA[<div style="margin-bottom:20px;"><img width="1024" height="562" src="https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Simple Precision Time Protocol at Meta" decoding="async" fetchpriority="high" srcset="https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta.png 1024w, https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta-300x165.png 300w, https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta-768x422.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></div><p>While deploying Precision Time Protocol (PTP) at Meta, we’ve developed a simplified version of the protocol (Simple Precision Time Protocol – SPTP), that can offer the same level of clock synchronization as unicast PTPv2 more reliably and with fewer resources. In our own tests, SPTP boasts comparable performance to PTP, but with significant improvements in [&#8230;]</p>
The post <a href="https://dailyzsocialmedianews.com/easy-precision-time-protocol-at-meta/">Easy Precision Time Protocol at Meta</a> first appeared on <a href="https://dailyzsocialmedianews.com">DAILY ZSOCIAL MEDIA NEWS</a>.]]></description>
										<content:encoded><![CDATA[<div style="margin-bottom:20px;"><img width="1024" height="562" src="https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Simple Precision Time Protocol at Meta" decoding="async" loading="lazy" srcset="https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta.png 1024w, https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta-300x165.png 300w, https://social-media-news.s3.amazonaws.com/wp-content/uploads/2024/02/07193329/Simple-Precision-Time-Protocol-at-Meta-768x422.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></div><p></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">While deploying Precision Time Protocol (PTP) at Meta, we’ve developed a simplified version of the protocol (Simple Precision Time Protocol – SPTP), that can offer the same level of clock synchronization as unicast PTPv2 more reliably and with fewer resources.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">In our own tests, SPTP boasts comparable performance to PTP, but with significant improvements in CPU, memory, and network utilization.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">We’ve made the source code for the SPTP client and server available on</span> <span style="font-weight: 400;">GitHub</span><span style="font-weight: 400;">.</span></li>
</ul>
<p><span style="font-weight: 400;">We’ve previously spoken in great detail about</span> <span style="font-weight: 400;">how Precision Time Protocol is being deployed at Meta</span><span style="font-weight: 400;">, including </span><span style="font-weight: 400;">the protocol itself and Meta’s precision time architecture.</span></p>
<p><span style="font-weight: 400;">As we deployed PTP into one of our data centers, we were also evaluating and testing alternative PTP clients. In doing so, we soon realized that we could eliminate a lot of complexity in the PTP protocol itself that we experienced during data center deployments while still maintaining complete hardware compatibility with our existing equipment.</span></p>
<p><span style="font-weight: 400;">This is how the idea of Simple Precision Time Protocol (SPTP) was born. </span></p>
<p><span style="font-weight: 400;">But before we dive under the hood of SPTP we should explore why the IEEE 1588</span> <span style="font-weight: 400;">G8265.1</span><span style="font-weight: 400;"> and</span> <span style="font-weight: 400;">G8275.2</span><span style="font-weight: 400;"> unicast profiles (here, we just call them PTP) weren’t a perfect fit for our data center deployment.</span></p>
<h2><span style="font-weight: 400;">PTP and its limitations</span></h2>
<h3><span style="font-weight: 400;">Excessive network communication</span></h3>
<p><span style="font-weight: 400;">A typical IEEE 1588-2019 two-step PTPv2 unicast UDP flow consists of the following exchange:</span></p>
<p>Figure 1: Typical two-step PTPv2 exchange.</p>
<p><span style="font-weight: 400;">This sequence repeats either in full or in part depending on the negotiation result. The exchange shown is one of many possible combinations. It may involve additional steps such as grant cancellation, grand cancellation acknowledgements, and so on.</span></p>
<p><span style="font-weight: 400;">The frequency of these messages may vary depending on the implementation and configuration. After completing negotiation, the frequency of some messages can change dynamically.</span></p>
<p><span style="font-weight: 400;">This design allows for a lot of flexibility, especially for less powerful equipment where resources are limited. In combination with multicast, it allows us to support a relatively large number of clients using either very old or embedded devices. For example, a PTP server can reject the request or confirm a less frequent exchange if the resources are exhausted.</span></p>
<p><span style="font-weight: 400;">This design, however, leads to excessive network communication, which is particularly visible on a</span> <span style="font-weight: 400;">time appliance</span><span style="font-weight: 400;"> serving a large number of clients.</span></p>
<h3><span style="font-weight: 400;">State machine</span></h3>
<p><span style="font-weight: 400;">Due to the “subscription” model, both the PTP client and the server have to keep the state in memory. This approach comes with the tradeoffs such as:</span><span style="font-weight: 400;"><br /></span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Excessive usage of resources such as memory and CPU.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Strict capacity limits that mean multicast support is required for large numbers of clients.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Code complexity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Fragile state transitions.</span></li>
</ul>
<p><span style="font-weight: 400;">These issues can manifest, for example, in so-called abandoned syncs – situations where the work of a PTP client is interrupted (either forcefully stopped or crashed). Because the PTP server didn’t receive a cancellation signaling message it will keep sending sync and followup packets until the subscription expires (which may take hours). This leads to additional complexity and fragility in the system. </span></p>
<p><span style="font-weight: 400;"> </span><span style="font-weight: 400;">There are additional protocol design side effects such as:</span><span style="font-weight: 400;"><br /></span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">An almost infinite Denial of Service Attack (DoS) amplification factor.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Server-driven communication with little control by the client.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Complete trust in the validity of server timestamps.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Asynchronous path delay calculations.</span></li>
</ul>
<p><span style="font-weight: 400;">In data centers, where communication is typically driven by hundreds of thousands of clients and multicast is not supported, these tradeoffs are very limiting. </span></p>
<h2><span style="font-weight: 400;">SPTP</span></h2>
<p><span style="font-weight: 400;">True to its name, SPTP significantly reduces the number of exchanges between a server and client, allowing for much more efficient network communication.</span></p>
<h3><span style="font-weight: 400;">Exchange</span></h3>
<p><img decoding="async" class="size-large wp-image-20921" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?w=1024" alt="" width="1024" height="1024" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg 1080w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?resize=916,916 916w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?resize=768,768 768w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?resize=1024,1024 1024w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?resize=96,96 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image2.jpg?resize=192,192 192w" sizes="(max-width: 992px) 100vw, 62vw"/>Figure 2: Typical SPTP exchange.</p>
<p><span style="font-weight: 400;">In a typical SPTP exchange:</span><span style="font-weight: 400;"><br /></span></p>
<ol>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The client sends a delay request.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The server responds with a sync.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The server sends a followup/announce.</span></li>
</ol>
<p><span style="font-weight: 400;">The number of network exchanges is drastically reduced. Instead of 11 different network exchanges as shown on Figure 1 and the requirement for client and server state machines for the duration of the subscription, there are only three packets exchanged and no state needs to be preserved on either side. In the simplified exchange, every packet has an important role:</span></p>
<h4><span style="font-weight: 400;">Delay request</span></h4>
<p><span style="font-weight: 400;">A delay request initiates the SPTP exchange. It’s interpreted by a server not only as a standard delay request containing the correction field (CF1) of the transparent clock, but also as a signal to respond with sync and followup packets. Just like in a two-step PTPv2 exchange, it generates T3 upon departure from the client side and T4 upon arrival on the server side.</span></p>
<p><span style="font-weight: 400;">To distinguish between a PTPv2 delay request and a SPTP delay request, the PTP profile Specific 1 flag must be set by the client.</span></p>
<h4><span style="font-weight: 400;">Sync</span></h4>
<p><span style="font-weight: 400;">In response to a delay request, a sync packet would be sent containing the T4 generated at an earlier stage. Just like in a regular two-step PTPv2 exchange, a sync packet will generate a T1 upon departure from the server side. While in transit, the correction field of the packet (CF2) is populated by the network equipment.</span></p>
<h4><span style="font-weight: 400;">Followup/announce</span></h4>
<p><span style="font-weight: 400;">Following the sync packet, an announce packet is immediately sent containing T1 generated at a previous stage. In addition, the correction filed from the Delay Request field is populated by the CF1 value collected at an earlier stage.  </span></p>
<p><span style="font-weight: 400;">The announce packet also contains typical PTPv2 information such as clock class, clock accuracy, and so on. On the client side, the arrival of the packet generates the T2 timestamp.</span></p>
<p><span style="font-weight: 400;">After a successful SPTP exchange, default two-step PTPv2 formulas for mean path delay and clock offset must be applied:</span></p>
<p style="text-align: center;"><span style="font-weight: 400;">mean_path_delay = ((T4 – T3) + (T2-T1) – CF1 -CF2)/2</span></p>
<p style="text-align: center;"><span style="font-weight: 400;">clock_offset = T2 – T1 – mean_path_delay</span></p>
<p><span style="font-weight: 400;">After every exchange the client has access to the announce message attributes such as time source, clock quality, etc., as well as the path delay and a calculated clock offset after every exchange with every server. And, because the exchange is client-driven, the offsets could be calculated at the exact same time. This avoids a situation where a client is following a faulty server and has no chance of detecting it.</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-20922" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?w=1024" alt="" width="1024" height="553" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png 1408w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?resize=916,494 916w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?resize=768,415 768w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?resize=1024,553 1024w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?resize=96,52 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image3.png?resize=192,104 192w" sizes="auto, (max-width: 992px) 100vw, 62vw"/>Figure 3: Client following faulty Time Server 2 based on announce.</p>
<h3><span style="font-weight: 400;">Reliability</span></h3>
<p><span style="font-weight: 400;">We can also provide stronger reliability guarantees by using multi-clock reliance.</span></p>
<p><span style="font-weight: 400;">In our implementation for precision time synchronization, we provide time as well as a window of uncertainty (WOU) to the consumer application via the fbclock API. As we described in a previous blog post on</span> <span style="font-weight: 400;">how PTP is being deployed at Meta</span><span style="font-weight: 400;"> the WOU is based on the observation of time sync errors for the minimum duration to have stationarity of the state of the system. </span></p>
<p><span style="font-weight: 400;">In addition, we’ve established a method based on a collection of clocks that each client can access for timing information that we call a </span><span style="font-weight: 400;">clock ensemble</span><span style="font-weight: 400;">. The clock ensemble operates in two modes, steady state and transient; where steady state is during normal operation and transient is in the case of holdover.</span></p>
<p><span style="font-weight: 400;">However, with a pool of N clocks, C, forming the clock ensemble, the question becomes which clocks to select for determining robustness and accurate timing information. Clocks that are not accurate are rejected (C_reject) and, thus, our ensemble size falls to N = C_total –  C_reject. We employ two stages, one that is based on each individual clock, and the second that acts on the collection of valid clocks in the ensemble. </span></p>
<p><span style="font-weight: 400;">The first stage observes the previous measurements of each individual clock, where the main criteria is to reject outliers in the previous states of the clock. Once this criterion threshold is exceeded, the entire clock is rejected from the valid clock ensemble pool. This is based off</span> <span style="font-weight: 400;">Chauvenet’s criterion</span><span style="font-weight: 400;">, where the criterion is a probability band that is centered on the mean of the clock outputs (assuming a normal distribution during steady state). Based on the stationarity tests, we use a sample size of 400 previous clock outputs and calculate a maximum allowable deviation. </span></p>
<p><span style="font-weight: 400;">For example:</span></p>
<p><span style="font-weight: 400;"><img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20D_%7Bmax%7D%5Cge%20%5Cfrac%7B%7CC%20-%20%5Cbar%7BC%7D%7C%7D%7BS_%7Bc%7D%7D"/>, where <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20C"/> is the current clock output, <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20%5Coverline%20C"/> </span><span style="font-weight: 400;">is the clock sample mean, and <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20S_%7Bc%7D"/> </span><span style="font-weight: 400;">is the clock set standard deviation.</span></p>
<p><span style="font-weight: 400;">We find the probability that the current clock output is in disagreement with the previous 400 samples:</span></p>
<p><img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20%7BP_%7Bz%7D%20%3D%201%20-%20%5Cfrac%7B1%7D%7B4%28400%29%7D%20%5Capprox%200.9993%7D"/></p>
<p><span style="font-weight: 400;">Based on a window size of 400 previous samples, the maximum allowed deviation is:</span></p>
<p><img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20D_%7Bmax%7D%20%3D%203.2272"/></p>
<p><span style="font-weight: 400;">Now, the clock outputs are tested against this value. If they exceed the <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20D_%7Bmax%7D"/> </span><span style="font-weight: 400;">they are rejected, an alert is raised, and a threshold counter is incremented. Once the rejection threshold is reached for an individual clock, this clock is entirely rejected.</span></p>
<p><span style="font-weight: 400;">Now, we enter the second stage of verifying the clock ensemble composed of the valid clocks. The second stage forms a weighted average of the non-rejected clocks in the valid clock ensemble, where each clock in the ensemble is reported as its sample size, mean, and variance. The average of the clocks’ means is the weighted average, where the weights are inversely proportional to the mean absolute deviations reported by each clock after applying Chauvenet’s criterion. </span></p>
<p><span style="font-weight: 400;">Now we can report the mean and variance of the clock ensemble, ensuring the clocks contained therewith are valid and not providing erroneous values. The confidence interval is scaled with the number of good clocks in the ensemble, where the higher the number of valid clocks out of the total clocks provides greater reliability.</span></p>
<p><span style="font-weight: 400;">For a number of hosts, we show that the distribution of clocks falls within the following heatmap:</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-20923" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image4.png?w=640" alt="" width="640" height="480" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image4.png 640w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image4.png?resize=96,72 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image4.png?resize=192,144 192w" sizes="auto, (max-width: 992px) 100vw, 62vw"/>Figure 4: Offset distribution overlay of multiple clocks.</p>
<p><span style="font-weight: 400;">We calculate the variance, <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20v_%7Bk%7D"/></span><span style="font-weight: 400;">, of each individual clock’s observations, then we calculate a weighted mean, <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20w_%7Bk%7D"/></span><span style="font-weight: 400;">, taking into consideration the reciprocal of each clock’s variance as the weight.</span></p>
<p><img decoding="async" class="aligncenter" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20w_%7Bk%7D%20%3D%20%5Cfrac%7BC%7D%7B%5Csqrt%7B%5Cfrac%7Bv%7D%7Bk%7D%7D%7D%2C%20C%20%3D%20%5B%5Cfrac%7B1%7D%7Bk%7D%5Csum%20%5Cfrac%7B1%7D%7Bv_%7Bk%7D%7D%5D%5E%7B-1%7D"/></p>
<p><span style="font-weight: 400;">Due to independence of clocks, the variance of the weighted sum, <img decoding="async" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20w_%7Bk%7D"/></span><span style="font-weight: 400;">, is:</span></p>
<p><img decoding="async" class="aligncenter" src="https://latex.codecogs.com/png.latex?%5Cfn_cm%20%5Cfrac%7B1%7D%7Bk%7D%5Csum_%7B%7D%5E%7B%7D%5Cmathrm%7BW%7D_%7Bk%7D%5E%7B2%7Dv_%7Bk%7D%20%3D%20%5Csum_%7B%7D%5E%7B%7DC%5E%7B2%7D%20%3D%20N_%7Bw%7DC%5E%7B2%7D"/></p>
<p><span style="font-weight: 400;">In summary, we collect samples from a number of clock sources that form our clock ensemble. The overall precision and reliability of the provided data by SPTP is a function of the number of reliable and in distribution clocks forming the clock ensemble.</span></p>
<p><span style="font-weight: 400;">A future post will focus on this specifically. </span></p>
<h2><span style="font-weight: 400;">SPTP’s performance</span></h2>
<p><span style="font-weight: 400;">Let’s explore performance of the SPTP versus PTP.</span></p>
<p><span style="font-weight: 400;">Initial deployments to a single client confirmed no regression in the precision of the synchronization:</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-20970" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?w=1024" alt="" width="1024" height="403" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png 1520w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?resize=916,360 916w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?resize=768,302 768w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?resize=1024,403 1024w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?resize=96,38 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP-Figure-5-updated.png?resize=192,76 192w" sizes="auto, (max-width: 992px) 100vw, 62vw"/>Figure 5: Clock offset after switching from ptp4l and SPTP.</p>
<p><span style="font-weight: 400;">Repeating the same measurement after migration to SPTP produces a very similar result, only marginally different due to a statistical error:</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-20925" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?w=1024" alt="" width="1024" height="574" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png 1999w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=580,326 580w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=916,514 916w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=768,431 768w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=1024,574 1024w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=1536,861 1536w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=96,54 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image6.png?resize=192,108 192w" sizes="auto, (max-width: 992px) 100vw, 62vw"/>Figure 6: P99.99 offset collected from over 100000 SPTP clients.</p>
<p><span style="font-weight: 400;">With large-scale deployment of our implementations, we can confirm resource utilization improvements.</span></p>
<p><span style="font-weight: 400;">We noticed that due to the difference in multi-server support, the performance gains vary significantly depending on the number of tracked time servers.</span></p>
<p><span style="font-weight: 400;">For example, with just a single time appliance serving the entire network there are significant improvements across the board. Most notably over 40 percent CPU, 70 percent memory, and 50 percent network utilization improvements:</span></p>
<p><img loading="lazy" decoding="async" class="size-large wp-image-20926" src="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?w=1024" alt="" width="1024" height="574" srcset="https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png 1234w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=580,326 580w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=916,514 916w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=768,431 768w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=1024,574 1024w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=96,54 96w, https://engineering.fb.com/wp-content/uploads/2024/02/SPTP_image7.png?resize=192,108 192w" sizes="auto, (max-width: 992px) 100vw, 62vw"/>Figure 7: Packets per second with ptp4l (green) vs SPTP (blue).</p>
<h2><span style="font-weight: 400;">The next steps for SPTP at Meta</span></h2>
<p><span style="font-weight: 400;">Since SPTP can offer the exact same level of synchronization with a lot fewer resources consumed, we think it’s a reasonable alternative to the existing unicast PTP profiles.</span></p>
<p><span style="font-weight: 400;">In a large-scale data center deployment, it can help to combat frequently changing network paths and create savings in terms of network traffic, memory usage, and number of CPU cycles.</span></p>
<p><span style="font-weight: 400;">It will also eliminate a lot of complexity inherited from multicast PTP profiles, which is not necessarily useful in the trusted networks of the modern data centers.</span></p>
<p><span style="font-weight: 400;">It should be noted that SPTP may not be suitable for systems that still require subscription and authentication. But this could be solved by using PTP TLVs (type-length-value). </span></p>
<p><span style="font-weight: 400;">Additionally, by removing the need for subscriptions, it’s possible to observe multiple clocks – which allows us to provide higher reliability by comparing the time sync from multiple sources at the end node.</span></p>
<p><span style="font-weight: 400;">SPTP can offer significantly simpler, faster, and more reliable synchronization. Similar to G.8265.1 and G.8275.2 it provides excellent synchronization quality using a different set of parameters. Simplification comes with certain tradeoffs, such as missing signaling messages, that users need to be aware of and decide which profile is the best for them.</span></p>
<p><span style="font-weight: 400;">Having it standardized and assigned a unicast profile identifier will encourage wider support, adoption, and popularization of PTP as a default precise time synchronization protocol.</span></p>
<p><span style="font-weight: 400;">The source code for the SPTP client and the server can be accessed on our</span> <span style="font-weight: 400;">GitHub page</span><span style="font-weight: 400;">.</span></p>
<h2><span style="font-weight: 400;">Acknowledgements</span></h2>
<p>We would like to thank Alexander Bulimov, Vadim Fedorenko, and Mike Lambeta for their help implementing the code and the math for this article.</p>The post <a href="https://dailyzsocialmedianews.com/easy-precision-time-protocol-at-meta/">Easy Precision Time Protocol at Meta</a> first appeared on <a href="https://dailyzsocialmedianews.com">DAILY ZSOCIAL MEDIA NEWS</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
