<?xml version='1.0' encoding='us-ascii'?>
<rss version='2.0'>
<!-- MHonArc v2.6.18 -->
  <channel>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>

    <title>EPICS Tech-talk mailing list</title>
    <link>https://epics.anl.gov/tech-talk/index.php</link>
    <description>
      Email archive for the EPICS Tech-talk mailing list.
    </description>
    <webMaster>anj@aps.anl.gov</webMaster>

    <image>
       <url>https://epics.anl.gov/icons/logoOnly.png</url>
       <title>EPICS Tech-talk mailing list</title>
       <link>https://epics.anl.gov/tech-talk/index.php</link>
    </image>

    <lastBuildDate>Tue, 01 Sep 2026 10:31:54 GMT</lastBuildDate>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00956.php</link>
      <author>Kasemir, Kay via Tech-talk</author>
      <pubDate>Thu, 27 Aug 2026 13:38:22 GMT</pubDate>
      <guid isPermaLink="false">DM8PR09MB68395362A2C4C85D752C3C70B4AD2@DM8PR09MB6839.namprd09.prod.outlook.com</guid>
      <title>Re: Including your institute on the EPICS.org website</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Including your institute on the EPICS.org website -->
<!--X-From-R13: "Ynfrzve, Ynl ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Thu, 27 Aug 2026 13:38:22 +0000 -->
<!--X-Message-Id: DM8PR09MB68395362A2C4C85D752C3C70B4AD2@DM8PR09MB6839.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: CAKc=vhkdKOz&#45;n&#45;E6aEMU5A4FNrdH353ThwFF6WkV4H5wb6mfBw@mail.gmail.com -->
<!--X-Reference: ao8LmG8IQOy1Dw9S@mail.imca&#45;cat.org -->
<!--X-Reference: CAKc=vhmPJhJSJMysb2mLQ4JKcsQwpeTufbyCdnz40QtvTX1cwg@mail.gmail.com -->
<!--X-Reference: d023766bfa5c4ed6a4295b77783b288f@frib.msu.edu -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Including your institute on the EPICS.org website</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Kasemir, Kay via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Dudley, David&quot; &lt;<a href="mailto:dudleyd%20at%20frib%20dot%20msu%20dot%20edu">dudleyd at frib.msu.edu</a>&gt;, EPICS tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Thu, 27 Aug 2026 13:38:22 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->



<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
.. EPICS to control my irrigation system</div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Good question!</div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I think the precedent is beer, <a rel="nofollow" href="https://urldefense.us/v3/__https://conference.sns.gov/event/11/contributions/35/__;!!G_uCfscf7eWS!bbXZCOJzUCir3oSf8CZKDQI-Sy93iVuTEMotHkY0AR8EnsY5eYtAMB5FKgw7X6W-OdhcfcNUwysMoCJYj2aU-2o$" data-outlook-id="b87547ab-a867-4541-8299-c8bb380439e9">
https://conference.sns.gov/event/11/contributions/35/</a></div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
An irrigation system that simply moves some water: Not sure.</div>
<div style="direction: ltr; font-family: Aptos, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
But if the water is heated, stirred, mixed, fermented, it certainly qualifies.</div>
<div id="mail-editor-reference-message-container" dir="ltr">
<div id="mail-editor-reference-message-body" dir="ltr">
<p class="MsoNormal" style="margin: 0in; font-family: Aptos, sans-serif; font-size: 12pt;">
<br>
</p>
</div>
</div>



<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00957.php</link>
      <author>Augusto Horita via Tech-talk</author>
      <pubDate>Thu, 27 Aug 2026 14:52:14 GMT</pubDate>
      <guid isPermaLink="false">CH3PR05MB107541B6368FBA3EB0C9536FCFCAD2@CH3PR05MB10754.namprd05.prod.outlook.com</guid>
      <title>RE: External: Re: Including your institute on the EPICS.org website</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: RE: External: Re: Including your institute on the EPICS.org website -->
<!--X-From-R13: Ohthfgb Vbevgn ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Thu, 27 Aug 2026 14:52:14 +0000 -->
<!--X-Message-Id: CH3PR05MB107541B6368FBA3EB0C9536FCFCAD2@CH3PR05MB10754.namprd05.prod.outlook.com -->
<!--X-Content-Type: multipart/related -->
<!--X-Reference: CAKc=vhkdKOz&#45;n&#45;E6aEMU5A4FNrdH353ThwFF6WkV4H5wb6mfBw@mail.gmail.com -->
<!--X-Reference: ao8LmG8IQOy1Dw9S@mail.imca&#45;cat.org -->
<!--X-Reference: CAKc=vhmPJhJSJMysb2mLQ4JKcsQwpeTufbyCdnz40QtvTX1cwg@mail.gmail.com -->
<!--X-Reference: d023766bfa5c4ed6a4295b77783b288f@frib.msu.edu -->
<!--X-Reference: DM8PR09MB68395362A2C4C85D752C3C70B4AD2@DM8PR09MB6839.namprd09.prod.outlook.com -->
<!--X-Derived: pngCLsmf9C8Ca.png -->
<!--X-Derived: pngEykVjlXYys.png -->
<!--X-Derived: pngehSmkYW2gO.png -->
<!--X-Derived: pngVnYOXL4ErR.png -->
<!--X-Derived: pngWrLtqfRM75.png -->
<!--X-Derived: pngyMPdL6twc3.png -->
<!--X-Derived: pnglxpJ7pUBA9.png -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>RE: External: Re: Including your institute on the EPICS.org website</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Augusto Horita via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
EPICS tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Thu, 27 Aug 2026 14:52:14 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The brewering and weather station are really nice!</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It would be nice to have those maker ones as well in my humble option.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Why not having all the facilities and at the end 1 link to &quot;Maker Projects&quot; (or something in this sense) with quick description and &quot;More&quot; would bring to a page listing some of those with link to references (if existing) and maybe contact to the person responsible?</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 3pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 10pt; color: rgb(81, 45, 109);"><b>Augusto Horita, MSc.&nbsp;&nbsp;</b></span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 9pt; color: black;">Controls Sytems Principal Analyst |
</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 9pt; color: rgb(0, 102, 204);"><b>[lightsource.ca]Canadian Light Source</b></span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 3pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 9pt; color: black;">44 Innovation Boulevard,&nbsp;Saskatoon, SK&nbsp;S7N 2V3</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 9pt; color: rgb(0, 102, 204);"><b>P: 306-657-3535</b>&nbsp;|
</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 9pt; color: rgb(5, 99, 193);"><b><u>augusto.horita</u></b><a rel="nofollow" href="mailto:lisa.olson at lightsource.ca" id="OWA2fc5e482-4d9b-8a93-babe-5751706acdc7" class="OWAAutoLink" style="color: rgb(5, 99, 193); margin: 0px;"><b><u>@lightsource.ca</u></b></a></span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt 36pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 10pt; color: rgb(31, 73, 125);"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.lightsource.ca/__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPBfd4LAx$" target="_blank" id="OWA0afa2295-2b28-978d-834d-7b6372ac40ca" class="OWAAutoLink" rel="noopener noreferrer" style="color: rgb(31, 73, 125); margin: 0px;"><u><img alt="cid:image003.jpg@01D7A638.A8C919D0" width="204" height="50" style="width: 2.125in; height: 0.525in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="23425" data-outlook-trace="F:1|T:1" src="pngCLsmf9C8Ca.png"></u></a></span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 20pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: blue;"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.facebook.com/CanLightSource__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPLV3rRjm$" id="OWA5c04f9c8-82a6-966e-c652-6de3579b2915" class="OWAAutoLink" title="https://www.facebook.com/CanLightSource" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image005.png@01D7A638.A8C919D0" id="x_imageSelected0" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="3975" data-outlook-trace="F:1|T:1" src="pngEykVjlXYys.png"></a><a rel="nofollow" href="https://urldefense.us/v3/__https://twitter.com/CanLightSource__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPMA-njv9$" id="OWAe59d0963-797a-5860-82ea-dd85d2a0ed75" class="OWAAutoLink" title="https://twitter.com/CanLightSource" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image007.png@01D7A638.A8C919D0" id="x_imageSelected1" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="2394" data-outlook-trace="F:1|T:1" src="pngehSmkYW2gO.png"></a></span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 12pt; color: rgb(36, 36, 36);">&nbsp;</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: blue;"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.linkedin.com/company/canlightsource/__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPJWMxqE0$" id="OWA0d6720d0-5b16-20f7-54e7-91a13ebe9d6b" class="OWAAutoLink" title="https://www.linkedin.com/company/canlightsource/" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image009.png@01D7A638.A8C919D0" id="x_imageSelected2" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="2425" data-outlook-trace="F:1|T:1" src="pngVnYOXL4ErR.png"></a></span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 12pt; color: rgb(36, 36, 36);">&nbsp;</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: blue;"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.instagram.com/canlightsource/__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPJx5329x$" id="OWAd2fbcc7c-655b-4dd4-2a9c-1c4e1c766a4c" class="OWAAutoLink" title="https://www.instagram.com/canlightsource/" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image011.png@01D7A638.A8C919D0" id="x_imageSelected3" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="2913" data-outlook-trace="F:1|T:1" src="pngWrLtqfRM75.png"></a></span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 12pt; color: rgb(36, 36, 36);">&nbsp;</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: blue;"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.youtube.com/user/CanadianLightSource__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPNSuBB0R$" id="OWA7b42800b-2c4c-0a89-8ec6-2d1188fc2d9b" class="OWAAutoLink" title="https://www.youtube.com/user/CanadianLightSource" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image013.png@01D7A638.A8C919D0" id="x_imageSelected4" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="2335" data-outlook-trace="F:1|T:1" src="pngyMPdL6twc3.png"></a></span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 12pt; color: rgb(36, 36, 36);">&nbsp;</span><span style="font-family: &quot;Myriad Pro&quot;; font-size: 11pt; color: blue;"><a rel="nofollow" href="https://urldefense.us/v3/__https://www.flickr.com/photos/97079436@N04/albums__;!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPLieUGEZ$" id="OWAf820bb90-40ac-43dd-7c7f-72a8099b9b7b" class="OWAAutoLink" title="https://www.flickr.com/photos/97079436@N04/albums" style="text-decoration: none; margin-top: 0px; margin-bottom: 0px;"><img alt="cid:image015.png@01D7A638.A8C919D0" id="x_imageSelected5" width="28" height="28" style="width: 0.3in; height: 0.3in; max-width: 818px; min-width: auto; min-height: auto; margin: 0px;" size="3902" data-outlook-trace="F:1|T:1" src="pnglxpJ7pUBA9.png"></a></span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt 36pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 12pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 10pt; color: rgb(36, 36, 36);">We acknowledge we are on Treaty Six territory and the traditional homeland of the M&#xE9;tis. We pay our respects to the First Nations and M&#xE9;tis ancestors of this place and reaffirm
 our relationship with one another.</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 10pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Myriad Pro&quot;; font-size: 8pt; color: rgb(36, 36, 36);">This message and any attachments are solely for the use of intended recipients. They may contain privileged and/or confidential information. If you are not the intended recipient,
 you are hereby notified that you received this email in error, and that any review, dissemination, distribution or copying of this email and any attachments is strictly prohibited. If you receive this email in error, please contact the sender and delete the
 message and any attachments associated therewith your computer. Your cooperation in this matter is appreciated.</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Calibri Light&quot;, sans-serif; font-size: 11pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: &quot;Calibri Light&quot;, sans-serif; font-size: 11pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
<p class="elementToProof" style="text-align: left; background-color: rgb(255, 255, 255); margin: 0cm 0cm 0.0001pt;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(36, 36, 36);">&nbsp;</span></p>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; em nome de Kasemir, Kay via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Enviado:</b> quinta-feira, 27 de agosto de 2026 07:38<br>
<b>Para:</b> Dudley, David &lt;dudleyd at frib.msu.edu&gt;; EPICS tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Assunto:</b> External: Re: Including your institute on the EPICS.org website</font>
<div>&nbsp;</div>
</div>
<div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
.. EPICS to control my irrigation system</div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Good question!</div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I think the precedent is beer, <a rel="nofollow" href="https://urldefense.us/v3/__https://ca01.z.antigena.com/l/9P4EqkJm9iJ78NZGn35ADzIR2hLEb5-9y3P8vNsyHdRMyI5VZOV61oQsXSDgH3005MVTXUJxnkonZYrxeGPaUrYPgOSMXckHPK*0bubXV2ScPIUVJWmMgRRGxBqBsig6K0pDqbSwmyK-W6NMNqL96x-Utmwm8k2yxK70qFuxCWDfYCWGmkhz7yCC-34BWk4UPWGGMhhoxWJ72jNZvm__;fg!!G_uCfscf7eWS!eKkYM1Uv4vN56zrj8NDDFC4-j2AKp7Tj5C-a3WZpT4dI4gqvEW4y0TLSQ5nf3GA5UX3pXDxsiP1BU68Jss3ZFrf4UQvNPDjAs_zn$" data-outlook-id="b87547ab-a867-4541-8299-c8bb380439e9">
sns.gov </a></div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
An irrigation system that simply moves some water: Not sure.</div>
<div style="direction:ltr; font-family:Aptos,sans-serif; font-size:12pt; color:rgb(0,0,0)">
But if the water is heated, stirred, mixed, fermented, it certainly qualifies.</div>
<div id="x_mail-editor-reference-message-container" dir="ltr">
<div id="x_mail-editor-reference-message-body" dir="ltr">
<p class="x_MsoNormal" style="margin:0in; font-family:Aptos,sans-serif; font-size:12pt">
<br>
</p>
</div>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00958.php</link>
      <author>Williams, Ernest L., Jr via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 06:33:34 GMT</pubDate>
      <guid isPermaLink="false">BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com</guid>
      <title>EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?Windows&#45;1252?Q?EPICS_IOCs_in_Kubernetes_=97_Community_Experience=3F?= -->
<!--X-From-R13: "Ivyyvnzf, Searfg Z., Xe ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 06:33:34 +0000 -->
<!--X-Message-Id: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Williams, Ernest L., Jr via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 06:33:34 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi all,</div>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
At SLAC, we have started working on integrating EPICS services and IOCs into Kubernetes, and would be interested to hear from others in the EPICS community who are already running EPICS successfully in Kubernetes.</div>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Our current environment includes EPICS Base 7.0.9, Channel Access, EPICS Base PVAccess, PVXS 1.5.2. And&nbsp;p4p 4.2.2.&nbsp; &nbsp;IOCs and other EPICS services run in Docker containers as Kubernetes Pods, with Kubernetes Services providing stable network endpoints. Our
 Kubernetes environment currently uses Cilium for the network layer.</div>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
One area I am currently investigating is IOC recovery when Pods are restarted or replaced, particularly how CA and PVA clients rediscover an IOC when its Pod IP changes while the Kubernetes Service remains stable. This has raised some interesting questions
 around the interaction between EPICS discovery and the Kubernetes network layer.</div>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I would be very interested in hearing from anyone running EPICS IOCs or other EPICS services in Kubernetes:</div>
<ul>
<li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin-top: 1em; margin-bottom: 1em;" class="elementToProof" role="presentation">
What Kubernetes networking architecture are you using (for example, Cilium, Calico, Flannel, or another CNI)?</div>
</li><li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin-top: 1em; margin-bottom: 1em;" class="elementToProof" role="presentation">
Are you running CA, PVA, p4p/Python PVA services, or some combination?</div>
</li><li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
How are you handling EPICS discovery within the cluster and between Kubernetes and external EPICS networks?
</li><li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
How do your clients and IOCs behave during Pod replacement, rolling updates, rescheduling, or other events where the Pod IP changes?
</li><li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Are you using Kubernetes Services as stable endpoints for EPICS traffic?</li><li style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin-top: 1em; margin-bottom: 1em;" class="elementToProof" role="presentation">
What EPICS/Kubernetes integration problems have you encountered and solved?</div>
</li></ul>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I am mainly looking to compare experiences and learn what patterns are working well elsewhere in the community.</div>
<div style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature" class="elementToProof">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Cheers,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">
Ernest Williams<br>
Dept. Head, Controls Software Engineering<br>
Instrumentation Division, Technology Innovation Directorate<br>
SLAC National Laboratory, Stanford University</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00959.php</link>
      <author>Ralph Lange via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 06:48:31 GMT</pubDate>
      <guid isPermaLink="false">CAGJXJ2FGg5ajJGJH6_6i7XfeggsxXdhT8acfNaEZUEKzy6vRRA@mail.gmail.com</guid>
      <title>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?UTF&#45;8?Q?Re=3A_EPICS_IOCs_in_Kubernetes_=E2=80=94_Community_Experienc?= =?UTF&#45;8?Q?e=3F?= -->
<!--X-From-R13: Dnycu Znatr ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 08:48:31 +0200 -->
<!--X-Message-Id: CAGJXJ2FGg5ajJGJH6_6i7XfeggsxXdhT8acfNaEZUEKzy6vRRA@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Ralph Lange via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 08:48:31 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr">The results of such a survey&#xA0;are certainly worth publishing here and/or on the EPICS website.<div><br></div><div>For broader discussion of details, the &quot;EPICS containers&quot; room on EPICS Chat (80 members) might provide a better forum with a more focused audience.</div><div><span style="background-color:transparent"><br></span></div><div><span style="background-color:transparent">Cheers,</span><div>~Ralph</div></div></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00960.php</link>
      <author>Nathan Naveh via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 07:06:30 GMT</pubDate>
      <guid isPermaLink="false">ebd8d05e-1204-48a5-9486-397c20387415@robotworks-eu.com</guid>
      <title>Looking for legacy IMS MDrive V1.xxx (Pre-Schneider) MDI Firmware .bin / .hex</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Looking for legacy IMS MDrive V1.xxx (Pre&#45;Schneider) MDI Firmware .bin / .hex -->
<!--X-From-R13: @nguna @niru ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 09:06:30 +0200 -->
<!--X-Message-Id: ebd8d05e&#45;1204&#45;48a5&#45;9486&#45;397c20387415@robotworks&#45;eu.com -->
<!--X-Content-Type: text/html -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Looking for legacy IMS MDrive V1.xxx (Pre-Schneider) MDI Firmware .bin / .hex</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Nathan Naveh via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a></td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 09:06:30 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td bgcolor="#FFFFFF" style="background-color: #FFFFFF; color: #660000; "><font color="#660000">

  
  
    <font size="2" face="Arial">Hello Tech-Talk,<br>
      <br>
      I am 80-years-old-still-working automation geezer.&#xA0;<br>
      I am trying to rescue a legacy industrial machine that runs
      several original Intelligent Motion Systems (IMS) MDrive
      integrated stepper motors (V1.0xx MDI generation, pre-Schneider
      Electric era).<br>
      One of our motors was mistakenly ""upgraded"" to V3... which made
      it a brick.<br>
      Novanta IMS do not keep any V1 stuff.<br>
      <br>
      Does anyone happen to have a factory installation CD, floppy
      backup, or an old folder image containing the original V1.xxx
      firmware binaries (.bin or .hex) tucked away on a legacy lab drive
      or drawer? Any version of the V1 MDI firmware would be an absolute
      lifesaver.<br>
      <br>
      Thanks for your time and any file hoard checks!<br>
      <br>
      Nathan<br>
      <br>
    </font>
  

</font></td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00961.php</link>
      <author>Andrea Michelotti via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 07:57:49 GMT</pubDate>
      <guid isPermaLink="false">69AE2FA8-03C1-8B4F-A9CA-409D251C3FF1@hxcore.ol</guid>
      <title>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?utf&#45;8?Q?Re:_EPICS_IOCs_in_Kubernetes_=E2=80=94_Community_Experience=3F?= -->
<!--X-From-R13: Oaqern [vpurybggv ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 09:57:49 +0200 -->
<!--X-Message-Id: 69AE2FA8&#45;03C1&#45;8B4F&#45;A9CA&#45;409D251C3FF1@hxcore.ol -->
<!--X-Content-Type: text/html -->
<!--X-Reference: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Andrea Michelotti via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Williams, Ernest L., Jr&quot; &lt;<a href="mailto:ernesto%20at%20slac%20dot%20stanford%20dot%20edu">ernesto at slac.stanford.edu</a>&gt;, EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;, &quot;Knap, Giles (DLSLtd,RAL,CEO)&quot; &lt;<a href="mailto:giles%20dot%20knap%20at%20diamond%20dot%20ac%20dot%20uk">giles.knap at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 09:57:49 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Hi,

I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space with the "epics-containers" project, and has likely already solved (or at least characterized) the Pod-IP/rediscovery problem you're describing for CA and PVA even if we use a slight different approach.

Also worth pinging Claudio Bisegni at SLAC directly if you haven't already &#x2014; He's working on k8s there and we are in touch.
</div><div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
On our side, we run  what we call EPIK8S (EPICS on Kubernetes) successfully in production on four beamlines. Some info here if useful:
 <a rel="nofollow" href="https://urldefense.us/v3/__https://iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$" rel="noreferrer noopener">https://iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010</a></div><div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Happy to see you moving this way &#x2014; we think it really makes things much easier.

Will follow up with more detail when I'm back if useful.
</div><div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Best,
</div><div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Andrea Michelotti</div><div id="ms-outlook-mobile-body-separator-line" data-applydefaultfontstyles="true" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt;" dir="auto"><pre><div class="moz-signature" style="text-align: left; text-indent: 0px; white-space: pre-wrap; text-transform: none; font-size: 16px;" dir="auto"><span style="color: rgb(0, 0, 0);">--------------------
dr. Andrea Michelotti
Head of Control Systems Service

INFN - Laboratori Nazionali di Frascati
Accelerator Division,
Bldg.2, Room 120
Via Enrico Fermi, 40
00044 Frascati (RM)

e-mail: &nbsp; </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="mailto:andrea.michelotti at infn.it" class="moz-txt-link-abbreviated outlook-break-word-in-links" data-linkindex="0" style="color: rgb(71, 158, 245);">andrea.michelotti at infn.it</a></span><span style="color: rgb(0, 0, 0);">
office: &nbsp; </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="tel:+390694032272" style="color: rgb(71, 158, 245);">(+39) 06.9403.2272</a></span><span style="color: rgb(0, 0, 0);">
mobile: &nbsp; </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="tel:+390694038203" style="color: rgb(71, 158, 245);">(+39) 06.9403.8203</a></span><span style="color: rgb(0, 0, 0);">
fax &nbsp; : &nbsp; </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="tel:+390694032256" style="color: rgb(71, 158, 245);">(+39) 06.9403.2256</a></span><span style="color: rgb(0, 0, 0);">
Teams : &nbsp; </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="mailto:amichelo at infn.it" class="moz-txt-link-abbreviated outlook-break-word-in-links" data-linkindex="1" style="color: rgb(71, 158, 245);">amichelo at infn.it</a></span><span style="color: rgb(0, 0, 0);">
LinkedIn: </span><span style="color: rgb(71, 158, 245);"><a rel="nofollow" href="https://urldefense.us/v3/__http://it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$" class="moz-txt-link-freetext outlook-break-word-in-links" data-linkindex="2" style="color: rgb(71, 158, 245);">http://it.linkedin.com/in/michelotti</a></span></div></pre><div dir="auto" style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt;"><br></div></div><div style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(33, 33, 33);" id="ms-outlook-mobile-signature" dir="auto"><span style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(33, 33, 33);">Inviato da </span><span style="font-family: Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt;"><a rel="nofollow" href="https://urldefense.us/v3/__https://aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$">Outlook per Android</a></span></div><div dir="auto" id="mail-editor-reference-message-container"><br><hr style="display: inline-block; width: 98%;"><div id="divRplyFwdMsg" style="font-size: 11pt;" dir="auto"><b>Da:</b> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; per conto di Williams, Ernest L., Jr via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br><b>Inviato:</b> venerd&#xEC;, agosto 28, 2026 8:34:13 AM<br><b>A:</b> EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;<br><b>Oggetto:</b> EPICS IOCs in Kubernetes &#x2014; Community Experience?<br></div><br>





<div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi all,</div><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
At SLAC, we have started working on integrating EPICS services and IOCs into Kubernetes, and would be interested to hear from others in the EPICS community who are already running EPICS successfully in Kubernetes.</div><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Our current environment includes EPICS Base 7.0.9, Channel Access, EPICS Base PVAccess, PVXS 1.5.2. And&nbsp;p4p 4.2.2.&nbsp; &nbsp;IOCs and other EPICS services run in Docker containers as Kubernetes Pods, with Kubernetes Services providing stable network endpoints. Our
 Kubernetes environment currently uses Cilium for the network layer.</div><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
One area I am currently investigating is IOC recovery when Pods are restarted or replaced, particularly how CA and PVA clients rediscover an IOC when its Pod IP changes while the Kubernetes Service remains stable. This has raised some interesting questions
 around the interaction between EPICS discovery and the Kubernetes network layer.</div><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I would be very interested in hearing from anyone running EPICS IOCs or other EPICS services in Kubernetes:</div><ul><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><div dir="auto" class="elementToProof" role="presentation" style="margin-top: 1em; margin-bottom: 1em;">
What Kubernetes networking architecture are you using (for example, Cilium, Calico, Flannel, or another CNI)?</div></li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><div dir="auto" class="elementToProof" role="presentation" style="margin-top: 1em; margin-bottom: 1em;">
Are you running CA, PVA, p4p/Python PVA services, or some combination?</div></li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
How are you handling EPICS discovery within the cluster and between Kubernetes and external EPICS networks?
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
How do your clients and IOCs behave during Pod replacement, rolling updates, rescheduling, or other events where the Pod IP changes?
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Are you using Kubernetes Services as stable endpoints for EPICS traffic?</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><div dir="auto" class="elementToProof" role="presentation" style="margin-top: 1em; margin-bottom: 1em;">
What EPICS/Kubernetes integration problems have you encountered and solved?</div></li></ul><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I am mainly looking to compare experiences and learn what patterns are working well elsewhere in the community.</div><div dir="auto" class="elementToProof" style="margin-top: 1em; margin-bottom: 1em; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</div><div dir="auto" class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</div><div id="Signature" class="elementToProof" dir="auto"><div dir="auto" class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Cheers,</div><div dir="auto" class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);">
Ernest Williams<br>
Dept. Head, Controls Software Engineering<br>
Instrumentation Division, Technology Innovation Directorate<br>
SLAC National Laboratory, Stanford University</div></div><br></div>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00962.php</link>
      <author>Torsten B&#xF6;gershausen via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 12:40:18 GMT</pubDate>
      <guid isPermaLink="false">93ec991a-b1e3-47a4-b8a4-e378e4279416@edom.se</guid>
      <title>Re: Process a PV on exit</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Process a PV on exit -->
<!--X-From-R13: =?GFT&#45;8?C?Fbefgra_P=Q3=P6trefunhfra?= ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 14:40:18 +0200 -->
<!--X-Message-Id: 93ec991a&#45;b1e3&#45;47a4&#45;b8a4&#45;e378e4279416@edom.se -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 72cace22ceac4020b075ceb6e54d2f31@frib.msu.edu -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Process a PV on exit</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Torsten B&#xF6;gershausen via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Dudley, David&quot; &lt;<a href="mailto:dudleyd%20at%20frib%20dot%20msu%20dot%20edu">dudleyd at frib.msu.edu</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 14:40:18 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre style="margin: 0em;">
Hej David,
some late response  I had to finish my code and testing first.
My challange was: A driver opens some &quot;handles&quot; on a PLC system.
when the IOC exits, these handles should be closed -
otherwise we risk to run out of handles in the PLC, or other resources
are bound, I don't know.

EPICS base 7 (I thnink &gt;7.0.3 ?) have an extended initHook.
The initHook itself is a C-function, and the latest base
has a new value called &quot;initHookAtShutdown&quot;.

I used that to call a cleanup function:
Go through a list of all handles and close them.

That seems to be working fine - when I enter &quot;exit&quot; on the IOC-shell,
the hook is executed and cleanup/closing the handles works.

In your case that should work, too.
No, the code is not related to a PV/Record as such.
But the driver keeps a local copy of things that must be cleaned up.
Does this sounds good ?
Are there better ideas ?
BR
/Torsten



On 2026-08-18 21:42, Dudley, David via Tech-talk wrote:
</pre><blockquote style="border-left: #5555EE solid 0.2em; margin: 0em; padding-left: 0.85em"><pre style="margin: 0em;">
OK, masters of the EPICS universe&#x2026;.

Got a unique inquiry for you. &#xA0;&#xA0;Probably something rarely used.

Running an IOC on the latest EPICS 7.

Have a situation where I need to process a PV when the IOC exits.

</pre><tt>I have some PVs that control the power to a device that I&#x2019;m testing.  
</tt><tt>When I want to replace the device (this is for a testing rig), I&#x2019;d like 
</tt><tt>to turn off the power to the device in the process of exiting the IOC (I 
</tt><tt>don&#x2019;t want to keep the interface powered up while unplugging and 
</tt><tt>plugging equipment).
</tt><pre style="margin: 0em;">

</pre><tt>I implemented 2 PVs that have the power on command, and the power off 
</tt><tt>command.&#xA0; In the Power On command I set PINI=RUN, however all I could do 
</tt><tt>on the Power Off command was to set PINI=Pause.&#xA0;&#xA0; I can successfully 
</tt><tt>control the power on/off &#xA0;with the iocRun and iocPause commands.&#xA0; iocRun 
</tt><tt>occurs when the ioc Starts running, so that has the desired effect of 
</tt><tt>powering up the interface.&#xA0; But iocPause only processes on the iocPause 
</tt><tt>command as far as I can tell.&#xA0; I may have to compromise on that, as an 
</tt><tt>exit command is not a pause.&#xA0; I would have though it would possibly 
</tt><tt>cause a pause/exit sequence, but no.
</tt><pre style="margin: 0em;">

</pre><tt>John Priller told me I would probably need to write some &#x2018;C&#x2019; code to 
</tt><tt>attach to the at-exit point (which I can do), but thought I&#x2019;d ask the 
</tt><tt>mailing list if there is a more standardized method to do this in the 
</tt><tt>current release of EPICS.
</tt><pre style="margin: 0em;">

Later-

David

</pre></blockquote><pre style="margin: 0em;">

</pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00963.php</link>
      <author>Pearson, Matthew via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 14:47:18 GMT</pubDate>
      <guid isPermaLink="false">SA1PR09MB7342EC7144271E44178D9CB1DEAC2@SA1PR09MB7342.namprd09.prod.outlook.com</guid>
      <title>RE: EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?Windows&#45;1252?Q?RE:_EPICS_IOCs_in_Kubernetes_=97_Community_Experience=3F?= -->
<!--X-From-R13: "Brnefba, [nggurj ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 14:47:18 +0000 -->
<!--X-Message-Id: SA1PR09MB7342EC7144271E44178D9CB1DEAC2@SA1PR09MB7342.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Reference: 69AE2FA8&#45;03C1&#45;8B4F&#45;A9CA&#45;409D251C3FF1@hxcore.ol -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>RE: EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Pearson, Matthew via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Andrea Michelotti &lt;<a href="mailto:andrea%20dot%20michelotti%20at%20lnf%20dot%20infn%20dot%20it">andrea.michelotti at lnf.infn.it</a>&gt;, &quot;Williams, Ernest L., Jr&quot; &lt;<a href="mailto:ernesto%20at%20slac%20dot%20stanford%20dot%20edu">ernesto at slac.stanford.edu</a>&gt;, EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;, &quot;Knap, Giles (DLSLtd,RAL,CEO)&quot; &lt;<a href="mailto:giles%20dot%20knap%20at%20diamond%20dot%20ac%20dot%20uk">giles.knap at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 14:47:18 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks for the link to the paper, it looks excellent.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I&#x2019;ve been interested in the use of containers for a while but I am very concerned about the overhead of setting up and maintaining the software infrastructure, so I&#x2019;d be interested to learn about the resources
 used to get to the stage of deploying IOCs this way on a production beamline (I see that the paper discusses some of this too).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">More specifically, I have some questions on the practicalities:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">Are there people dedicated to maintaining the software/IT infrastructure? Are these controls systems engineers or specialized DevOps type people?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">Is the workflow understandable for everyone in the group? I mean, if there is an issue can anyone start to investigate or is like a black box process
 that magically produces containerized IOCs?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">How do non-developers work with the process? We have non-developers who create OPI screens and even basic IOC applications, and we&#x2019;re lucky if those
 even end up version controlled. (I know this is more an organizational issue &#x2013; but I&#x2019;m sure other sites have similar issues).<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">Have you had any issues during operations related to the container infrastructure?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">If you have an issue with an IOC in operations, requiring hands-on diagnosis with equipment in the field, how is the software edited and debugged? (I
 suppose people can still run up IOCs as needed on the base OS for troubleshooting?)<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">How are security patches managed (or monitored) for the software inside the containers?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">Is the extra staff and computing/software infrastructure worth the effort, over not doing this at all and just running IOCs in a normal virtualized OS
 environment?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo2"><span style="font-size:11.0pt">Is the main benefit a workflow driven by everything having to be version controlled and deployed that way (i.e., forcing everything to be version controlled
 &#x2013; the GitOps paradigm mentioned in the paper)? Rather than the other benefits of containers like OS isolation?
<o:p></o:p></span></li></ol>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>Andrea Michelotti via Tech-talk<br>
<b>Sent:</b> Friday, August 28, 2026 3:58 AM<br>
<b>To:</b> Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;; Knap, Giles (DLSLtd,RAL,CEO) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Subject:</b> [EXTERNAL] Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal" style="margin-left:.5in;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a
 pioneer in this space with the &quot;epics-containers&quot; project, and has likely already solved (or at least<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space with
 the &quot;epics-containers&quot; project, and has likely already solved (or at least characterized) the Pod-IP/rediscovery problem you're describing for CA and PVA even if we use a slight different approach. Also worth pinging Claudio Bisegni at SLAC directly if you
 haven't already &#x2014; He's working on k8s there and we are in touch. <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">On our side, we run what we call EPIK8S (EPICS on Kubernetes) successfully in production on four beamlines. Some info here if useful:
<a rel="nofollow" href="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$">
https://iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010</a><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Happy to see you moving this way &#x2014; we think it really makes things much easier. Will follow up with more detail when I'm back if useful.
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Best,
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Andrea Michelotti<o:p></o:p></span></p>
<div id="ms-outlook-mobile-body-separator-line">
<div>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">--------------------<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">dr. Andrea Michelotti<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Head of Control Systems Service<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">INFN - Laboratori Nazionali di Frascati<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Accelerator Division,<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Bldg.2, Room 120<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Via Enrico Fermi, 40<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">00044 Frascati (RM)<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">e-mail: &nbsp; </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="mailto:andrea.michelotti at infn.it"><span style="color:#479EF5">andrea.michelotti at infn.it</span></a></span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">office: &nbsp; </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="tel:+390694032272"><span style="color:#479EF5">(+39) 06.9403.2272</span></a></span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">mobile: &nbsp; </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="tel:+390694038203"><span style="color:#479EF5">(+39) 06.9403.8203</span></a></span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">fax &nbsp; : &nbsp; </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="tel:+390694032256"><span style="color:#479EF5">(+39) 06.9403.2256</span></a></span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Teams : &nbsp; </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="mailto:amichelo at infn.it"><span style="color:#479EF5">amichelo at infn.it</span></a></span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt;color:black">LinkedIn: </span><span style="font-size:12.0pt;color:#479EF5"><a rel="nofollow" href="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$"><span style="color:#479EF5">http://it.linkedin.com/in/michelotti</span></a></span><span style="font-size:12.0pt"><o:p></o:p></span></pre>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt"><o:p>&nbsp;</o:p></span></p>
</div>
<div id="ms-outlook-mobile-signature">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:#212121">Inviato da
<a rel="nofollow" href="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$">
Outlook per Android</a><o:p></o:p></span></p>
</div>
<div id="mail-editor-reference-message-container">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt"><o:p>&nbsp;</o:p></span></p>
<div class="MsoNormal" align="center" style="margin-left:.5in;text-align:center">
<span style="font-size:12.0pt">
<hr size="2" width="98%" align="center">
</span></div>
<div id="divRplyFwdMsg">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt">Da:</span></b><span style="font-size:11.0pt"> Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov">tech-talk-bounces at aps.anl.gov</a>&gt; per conto di Williams, Ernest L., Jr via
 Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Inviato:</b> venerd&#xEC;, agosto 28, 2026 8:34:13 AM<br>
<b>A:</b> EPICS Tech Talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Oggetto:</b> EPICS IOCs in Kubernetes &#x2014; Community Experience?<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt"><o:p>&nbsp;</o:p></span></p>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Hi all,<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">At SLAC, we have started working on integrating EPICS services and IOCs into Kubernetes, and would be interested to hear from others in the EPICS community who are already
 running EPICS successfully in Kubernetes.<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Our current environment includes EPICS Base 7.0.9, Channel Access, EPICS Base PVAccess, PVXS 1.5.2. And&nbsp;p4p 4.2.2.&nbsp; &nbsp;IOCs and other EPICS services run in Docker containers
 as Kubernetes Pods, with Kubernetes Services providing stable network endpoints. Our Kubernetes environment currently uses Cilium for the network layer.<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">One area I am currently investigating is IOC recovery when Pods are restarted or replaced, particularly how CA and PVA clients rediscover an IOC when its Pod IP changes
 while the Kubernetes Service remains stable. This has raised some interesting questions around the interaction between EPICS discovery and the Kubernetes network layer.<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">I would be very interested in hearing from anyone running EPICS IOCs or other EPICS services in Kubernetes:<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">What Kubernetes networking architecture are you using (for example, Cilium, Calico, Flannel, or another CNI)?<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">Are you running CA, PVA, p4p/Python PVA services, or some combination?<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">How are you handling EPICS discovery within the cluster and between Kubernetes and external EPICS networks?
<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">How do your clients and IOCs behave during Pod replacement, rolling updates, rescheduling, or other events where the Pod IP changes?
<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">Are you using Kubernetes Services as stable endpoints for EPICS traffic?<o:p></o:p></span></p>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style="font-family:Symbol;color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style="font-size:12.0pt;color:black">What EPICS/Kubernetes integration problems have you encountered and solved?<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">I am mainly looking to compare experiences and learn what patterns are working well elsewhere in the community.<o:p></o:p></span></p>
</div>
<div style="margin-top:12.0pt;margin-bottom:12.0pt">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black"><o:p>&nbsp;</o:p></span></p>
<div id="Signature">
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt;color:black">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:black">Ernest Williams<br>
Dept. Head, Controls Software Engineering<br>
Instrumentation Division, Technology Innovation Directorate<br>
SLAC National Laboratory, Stanford University<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt"><o:p>&nbsp;</o:p></span></p>
</div>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00964.php</link>
      <author>Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 14:48:48 GMT</pubDate>
      <guid isPermaLink="false">AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com</guid>
      <title>Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Short EPICS event waits under RTEMS -->
<!--X-From-R13: "Iryyf, Oyrk \(RZEZgq,DOZ,FSQ\) ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 14:48:48 +0000 -->
<!--X-Message-Id: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Wells, Alex \(DLSLtd,RAL,TEC\) via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Jack Harper - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 14:48:48 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi TechTalk,</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for any help,</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex Wells</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00965.php</link>
      <author>Mark Rivers via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 14:59:20 GMT</pubDate>
      <guid isPermaLink="false">DFD75AC1-5EF0-4A1D-8469-980FF4137D64@cars.uchicago.edu</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: [nex Dviref ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 14:59:20 +0000 -->
<!--X-Message-Id: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Mark Rivers via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Alex Wells &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 14:59:20 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


What version of base are you using? There have been recent changes.
<div><br>
</div>
<div>Mark</div>
<div><br id="lineBreakAtBeginningOfSignature">
<div dir="ltr">Sent from my iPhone</div>
<div dir="ltr"><br>
<blockquote type="cite">On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;tech-talk at aps.anl.gov&gt; wrote:<br>
<br>
</blockquote>
</div>
<blockquote type="cite">
<div dir="ltr">&#xFEFF;
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi TechTalk,</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&nbsp;</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for any help,</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex Wells</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, &quot;Aptos_EmbeddedFont&quot;, &quot;Aptos_MSFontService&quot;, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>
</div>
</blockquote>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00966.php</link>
      <author>Engbretson, Mark S. via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:05:16 GMT</pubDate>
      <guid isPermaLink="false">DS3PR09MB123509E2F4DC98F4B5182DD68D6AC2@DS3PR09MB12350.namprd09.prod.outlook.com</guid>
      <title>RE: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: RE: Short EPICS event waits under RTEMS -->
<!--X-From-R13: "Satoergfba, [nex E. ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 15:05:16 +0000 -->
<!--X-Message-Id: DS3PR09MB123509E2F4DC98F4B5182DD68D6AC2@DS3PR09MB12350.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>RE: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Engbretson, Mark S. via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Rivers, Mark L.&quot; &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, Alex Wells &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 15:05:16 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="a:link { color: #467886 } a:visited { color: #96607D } ">


<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Vxworks nominally does polling loops for various existing vme &nbsp;hardware at 60 hz. &nbsp;Even when the actual hardware is using interrupts to get values a &nbsp;lot faster.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">As-was RTEMS 7 is trying to do 1,000 hz , so a much higher cpu load if you don&#x2019;t correct back . Not sure if your seeing that effect or not.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>Mark Rivers via Tech-talk<br>
<b>Sent:</b> Friday, August 28, 2026 9:59 AM<br>
<b>To:</b> Alex Wells &lt;alex.wells at diamond.ac.uk&gt;<br>
<b>Cc:</b> Jack Harper STFC UKRI via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Short EPICS event waits under RTEMS<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">What version of base are you using? There have been recent changes.
<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Mark<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Sent from my iPhone<o:p></o:p></p>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">On Aug 28, 2026, at 9:49<span style="font-family:&quot;Arial&quot;,sans-serif">&#x202F;</span>AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt; wrote:<o:p></o:p></p>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-family:&quot;Tahoma&quot;,sans-serif">&#xFEFF;</span> <o:p>
</o:p></p>
<p class="MsoNormal"><span style="color:black">Hi TechTalk,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write
 cycle - it would send an interrupt, and in the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&nbsp;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes
 now report errors, as though they are attempting to execute too fast and not actually waiting the 10ms for the hardware to act.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and
 median duration of ~5ms between the before and after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Thank you for any help,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Alex Wells<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal">This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please
 notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source
 Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<o:p></o:p></p>
</blockquote>
</div>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00967.php</link>
      <author>Johnson, Andrew N. via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:15:01 GMT</pubDate>
      <guid isPermaLink="false">BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: "Xbuafba, Oaqerj @. ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 15:15:01 +0000 -->
<!--X-Message-Id: BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Johnson, Andrew N. via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Rivers, Mark L.&quot; &lt;<a href="mailto:rivers%20at%20cars%20dot%20uchicago%20dot%20edu">rivers at cars.uchicago.edu</a>&gt;, Alex Wells &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 15:15:01 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->



<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Alex,</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Mark is probably referring to <a rel="nofollow" href="https://urldefense.us/v3/__https://gcc02.safelinks.protection.outlook.com/?url="" originalsrc="https://github.com/epics-base/epics-base/commit/01360b2a6917d2723b6b3219973a573680a687f9" data-outlook-id="7aacdeff-06be-4aa7-b1da-7c4ec459ff8f">
this commit</a> which appeared in 7.0.10, but it doesn't affect IOCs running on VxWorks or RTEMS.</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Why aren&#x2019;t you running your clock at 1KHz on RTEMS to match VxWorks?</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This is a long-known issue with the EPICS timers on our embedded OSs, which both use ticks for their timer calls. It could be fixed by having the EPICS code check the nanosecond clock and retry the OS operation when that returns early with a timeout, but nobody
 has taken up and implemented that change. It would be a good Codeathon project for someone working with an embedded OS.</div>
<div id="ms-outlook-mobile-body-separator-line" dir="ltr"><br>
</div>
<div id="ms-outlook-mobile-signature">
<div class="MsoNormal" style="margin: 0in; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
- Andrew</div>
<div class="MsoNormal" style="direction: ltr; margin: 0in; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="MsoNormal" style="margin: 0in; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt;">
--&nbsp;</div>
<div class="MsoNormal" style="margin: 0in; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt;">
Complexity comes for free, Simplicity you have to work for.</div>
<div class="MsoNormal" style="direction: ltr; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="mail-editor-reference-message-container">
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
</div>
<div class="ms-outlook-mobile-reference-message skipProofing">On 8/28/26, 9:59&#x202F;AM, &quot;Tech-talk&quot; &lt;tech-talk-bounces at aps.anl.gov&gt; wrote:</div>
<div class="ms-outlook-mobile-reference-message skipProofing"><br>
What version of base are you using? There have been recent changes.</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
<br>
</div>
<div class="ms-outlook-mobile-reference-message skipProofing">Mark</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
<br>
</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
Sent from my iPhone</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
<br>
</div>
<blockquote>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;tech-talk at aps.anl.gov&gt; wrote:<br>
<br>
</div>
</blockquote>
<blockquote>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
&#xFEFF;</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi TechTalk,</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&nbsp;</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&nbsp;</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for any help,</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex Wells</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.</div>
</blockquote>
</div>



<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00968.php</link>
      <author>Joel Sherrill via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:28:09 GMT</pubDate>
      <guid isPermaLink="false">CAF9ehCXMTHSvuuH4Ht1yFO18uLqVBGxJtVwZLcOdMufdJjNhsQ@mail.gmail.com</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: Xbry Eureevyy ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 10:28:09 &#45;0500 -->
<!--X-Message-Id: CAF9ehCXMTHSvuuH4Ht1yFO18uLqVBGxJtVwZLcOdMufdJjNhsQ@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Reference: BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Joel Sherrill via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Johnson, Andrew N.&quot; &lt;<a href="mailto:anj%20at%20anl%20dot%20gov">anj at anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 10:28:09 -0500</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr">You can configure a 1000 Hz clock tick with RTEMS and that&#39;s a good starting point.<br><br><a rel="nofollow" href="https://urldefense.us/v3/__https://docs.rtems.org/docs/main/c-user/config/general.html*configure-microseconds-per-tick__;Iw!!G_uCfscf7eWS!ZUc2O_l4i7whC0TFhHvozbhGSbvoQAz9Wrypjs2Qo--NKt4vfPbBS2ypXK6t5QBmgWW29Dj_c3nqgZXR3oy2Dur8fF1z$">https://docs.rtems.org/docs/main/c-user/config/general.html#configure-microseconds-per-tick</a><br><br>It really doesn&#39;t add that much overhead. 1 millisecond tick rate is what I recommend even<div>on the slowest CPUs.&#xA0;Changing&#xA0;that will help the math to getting a 10 millisecond delay.&#xA0;<br><div><br></div><div>Another unlikely possibility is a math error in either the BSP or RTEMS which ends up</div></div><div>waiting for 0. But all API standards for delay/sleep say that the delay length is greater</div><div>than or equal to what you requested. This is due to (1) making the call between clock</div><div>ticks -- you asked for &gt;= 1 tick, so you get the current partial one and a whole one.<br>(2) underlying clock tick granularity -- you want 1 millisecond but the clock is 10&#xA0;</div><div>milliseconds.</div><div><br></div><div>--joel</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Aug 28, 2026 at 10:15&#x202F;AM Johnson, Andrew N. via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi Alex,</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Mark is probably referring to <a rel="nofollow" href="https://urldefense.us/v3/__https://gcc02.safelinks.protection.outlook.com/?url="" target="_blank">
this commit</a> which appeared in 7.0.10, but it doesn&#39;t affect IOCs running on VxWorks or RTEMS.</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Why aren&#x2019;t you running your clock at 1KHz on RTEMS to match VxWorks?</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This is a long-known issue with the EPICS timers on our embedded OSs, which both use ticks for their timer calls. It could be fixed by having the EPICS code check the nanosecond clock and retry the OS operation when that returns early with a timeout, but nobody
 has taken up and implemented that change. It would be a good Codeathon project for someone working with an embedded OS.</div>
<div id="m_-3265374334592568723ms-outlook-mobile-body-separator-line" dir="ltr"><br>
</div>
<div id="m_-3265374334592568723ms-outlook-mobile-signature">
<div class="MsoNormal" style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
- Andrew</div>
<div class="MsoNormal" style="direction:ltr;margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div class="MsoNormal" style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
--&#xA0;</div>
<div class="MsoNormal" style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
Complexity comes for free, Simplicity you have to work for.</div>
<div class="MsoNormal" style="direction:ltr;margin:0in;font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_-3265374334592568723mail-editor-reference-message-container">
<div style="direction:ltr">
</div>
<div>On 8/28/26, 9:59&#x202F;AM, &quot;Tech-talk&quot; &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov" target="_blank">tech-talk-bounces at aps.anl.gov</a>&gt; wrote:</div>
<div><br>
What version of base are you using? There have been recent changes.</div>
<div style="direction:ltr">
<br>
</div>
<div>Mark</div>
<div style="direction:ltr">
<br>
</div>
<div style="direction:ltr">
Sent from my iPhone</div>
<div style="direction:ltr">
<br>
</div>
<blockquote>
<div style="direction:ltr">
On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt; wrote:<br>
<br>
</div>
</blockquote>
<blockquote>
<div style="direction:ltr">
&#xFEFF;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi TechTalk,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I&#39;m having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This seems to be backed up by using EPICS&#39; nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Is this somehow to do with the fact I&#39;m trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thank you for any help,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Alex Wells</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr">
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.</div>
</blockquote>
</div>
</div>

</blockquote></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00969.php</link>
      <author>Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:29:18 GMT</pubDate>
      <guid isPermaLink="false">AS4PR01MB90162C5BEB050E8670CCE694DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: "Iryyf, Oyrk \(RZEZgq,DOZ,FSQ\) ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 15:29:18 +0000 -->
<!--X-Message-Id: AS4PR01MB90162C5BEB050E8670CCE694DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Reference: BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Wells, Alex \(DLSLtd,RAL,TEC\) via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Jack Harper - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 15:29:18 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi all,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for the quick replies!</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
We are using EPICS 7.0.7, with a couple of commits from later releases patched ontop of it. We're using RTEMS 5.1 at the moment.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I must admit I am uncertain why 100Hz was picked, but it is the current standard at Diamond and shared across all IOCs. I will have to find out next week when people are back from holiday why this was chosen.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
If I understand correctly, due to our shortened tick timer we fall foul of the &quot;correction&quot; done inside EPICS that subtracts half the quantum. I guess in my case this means I am effectively requesting a timeout of zero, which would explain my observations.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks again,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex Wells</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Johnson, Andrew N. &lt;anj at anl.gov&gt;<br>
<b>Sent:</b> Friday, August 28, 2026 4:15 PM<br>
<b>To:</b> Rivers, Mark L. &lt;rivers at cars.uchicago.edu&gt;; Wells, Alex (DLSLtd,RAL,TEC) &lt;alex.wells at diamond.ac.uk&gt;<br>
<b>Cc:</b> Jack Harper STFC UKRI via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject:</b> Re: Short EPICS event waits under RTEMS</font>
<div>&nbsp;</div>
</div>
<div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi Alex,</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Mark is probably referring to <a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-base/epics-base/commit/01360b2a6917d2723b6b3219973a573680a687f9__;!!G_uCfscf7eWS!ca62NHJHx8LLNwqqQvFJG7f_QFuiWnVzd25kG3DKi01r0G9LhcY8pLVeIFbZVVXzHLArJlGEsUewMrpjZpJBCF0ok-ubRw$" originalsrc="https://github.com/epics-base/epics-base/commit/01360b2a6917d2723b6b3219973a573680a687f9" data-outlook-id="7aacdeff-06be-4aa7-b1da-7c4ec459ff8f">
this commit</a> which appeared in 7.0.10, but it doesn't affect IOCs running on VxWorks or RTEMS.</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Why aren&#x2019;t you running your clock at 1KHz on RTEMS to match VxWorks?</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
This is a long-known issue with the EPICS timers on our embedded OSs, which both use ticks for their timer calls. It could be fixed by having the EPICS code check the nanosecond clock and retry the OS operation when that returns early with a timeout, but nobody
 has taken up and implemented that change. It would be a good Codeathon project for someone working with an embedded OS.</div>
<div id="x_ms-outlook-mobile-body-separator-line" dir="ltr"><br>
</div>
<div id="x_ms-outlook-mobile-signature">
<div class="x_MsoNormal" style="margin:0in; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
- Andrew</div>
<div class="x_MsoNormal" style="direction:ltr; margin:0in; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_MsoNormal" style="margin:0in; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt">
--&nbsp;</div>
<div class="x_MsoNormal" style="margin:0in; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt">
Complexity comes for free, Simplicity you have to work for.</div>
<div class="x_MsoNormal" style="direction:ltr; margin:0in; font-family:Calibri,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
</div>
<div style="direction:ltr; font-family:Aptos,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_mail-editor-reference-message-container">
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing">On 8/28/26, 9:59&#x202F;AM, &quot;Tech-talk&quot; &lt;tech-talk-bounces at aps.anl.gov&gt; wrote:</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing"><br>
What version of base are you using? There have been recent changes.</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
<br>
</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing">Mark</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
<br>
</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
Sent from my iPhone</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
<br>
</div>
<blockquote>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;tech-talk at aps.anl.gov&gt; wrote:<br>
<br>
</div>
</blockquote>
<blockquote>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
&#xFEFF;</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi TechTalk,</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&nbsp;</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&nbsp;</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thank you for any help,</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Alex Wells</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="direction:ltr; font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_ms-outlook-mobile-reference-message x_skipProofing" style="direction:ltr">
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.</div>
</blockquote>
</div>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00970.php</link>
      <author>Joel Sherrill via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:50:10 GMT</pubDate>
      <guid isPermaLink="false">CAF9ehCX9r2yZf3nix12Ki3Gc1Z8RpdzmfnKWu9a90+87BUY+=A@mail.gmail.com</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: Xbry Eureevyy ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 10:50:10 &#45;0500 -->
<!--X-Message-Id: CAF9ehCX9r2yZf3nix12Ki3Gc1Z8RpdzmfnKWu9a90+87BUY+=A@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Reference: BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com -->
<!--X-Reference: AS4PR01MB90162C5BEB050E8670CCE694DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Joel Sherrill via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Wells, Alex (DLSLtd,RAL,TEC)&quot; &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 10:50:10 -0500</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div>Maybe it wasn&#39;t consciously picked. Ten milliseconds has&#xA0;</div><div>been the default since the earliest versions of RTEMS.<br><br>I am glad to hear that you have a culprit for tick math that ends up as 0.&#xA0;</div><div>There have been bugs in RTEMS in the past where the time math&#xA0;</div><div>ended poorly.<br><br>And when I said 1 millisecond tick is OK for even the slowest processors,</div><div>I was thinking 10-20 Mhz CPUs. On a fast CPU, you should be able to</div><div>go further down to say 250 or 500 microseconds. But when doing that,</div><div>you need to be careful that you haven&#39;t turned the knob too far.</div><div><br></div><div>Years ago, I experimented with a 400 Mhz automotive 603e SOC and</div><div>got the tick down to 50 microseconds before the application quit working.</div><div>But that&#39;s extreme and the lowest normally is 250 or 500 microseconds.</div><div><br></div><div>--joel</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Aug 28, 2026 at 10:29&#x202F;AM Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg7035871627580858063">




<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi all,</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thank you for the quick replies!</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
We are using EPICS 7.0.7, with a couple of commits from later releases patched ontop of it. We&#39;re using RTEMS 5.1 at the moment.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I must admit I am uncertain why 100Hz was picked, but it is the current standard at Diamond and shared across all IOCs. I will have to find out next week when people are back from holiday why this was chosen.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
If I understand correctly, due to our shortened tick timer we fall foul of the &quot;correction&quot; done inside EPICS that subtracts half the quantum. I guess in my case this means I am effectively requesting a timeout of zero, which would explain my observations.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thanks again,</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Alex Wells</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_7035871627580858063appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_7035871627580858063divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Johnson, Andrew N. &lt;<a rel="nofollow" href="mailto:anj at anl.gov" target="_blank">anj at anl.gov</a>&gt;<br>
<b>Sent:</b> Friday, August 28, 2026 4:15 PM<br>
<b>To:</b> Rivers, Mark L. &lt;<a rel="nofollow" href="mailto:rivers at cars.uchicago.edu" target="_blank">rivers at cars.uchicago.edu</a>&gt;; Wells, Alex (DLSLtd,RAL,TEC) &lt;<a rel="nofollow" href="mailto:alex.wells at diamond.ac.uk" target="_blank">alex.wells at diamond.ac.uk</a>&gt;<br>
<b>Cc:</b> Jack Harper STFC UKRI via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Subject:</b> Re: Short EPICS event waits under RTEMS</font>
<div>&#xA0;</div>
</div>
<div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi Alex,</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Mark is probably referring to <a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-base/epics-base/commit/01360b2a6917d2723b6b3219973a573680a687f9__;!!G_uCfscf7eWS!ca62NHJHx8LLNwqqQvFJG7f_QFuiWnVzd25kG3DKi01r0G9LhcY8pLVeIFbZVVXzHLArJlGEsUewMrpjZpJBCF0ok-ubRw$" target="_blank">
this commit</a> which appeared in 7.0.10, but it doesn&#39;t affect IOCs running on VxWorks or RTEMS.</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Why aren&#x2019;t you running your clock at 1KHz on RTEMS to match VxWorks?</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This is a long-known issue with the EPICS timers on our embedded OSs, which both use ticks for their timer calls. It could be fixed by having the EPICS code check the nanosecond clock and retry the OS operation when that returns early with a timeout, but nobody
 has taken up and implemented that change. It would be a good Codeathon project for someone working with an embedded OS.</div>
<div id="m_7035871627580858063x_ms-outlook-mobile-body-separator-line" dir="ltr"><br>
</div>
<div id="m_7035871627580858063x_ms-outlook-mobile-signature">
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
- Andrew</div>
<div style="direction:ltr;margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
--&#xA0;</div>
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
Complexity comes for free, Simplicity you have to work for.</div>
<div style="direction:ltr;margin:0in;font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_7035871627580858063x_mail-editor-reference-message-container">
<div style="direction:ltr">
</div>
<div>On 8/28/26, 9:59&#x202F;AM, &quot;Tech-talk&quot; &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov" target="_blank">tech-talk-bounces at aps.anl.gov</a>&gt; wrote:</div>
<div><br>
What version of base are you using? There have been recent changes.</div>
<div style="direction:ltr">
<br>
</div>
<div>Mark</div>
<div style="direction:ltr">
<br>
</div>
<div style="direction:ltr">
Sent from my iPhone</div>
<div style="direction:ltr">
<br>
</div>
<blockquote>
<div style="direction:ltr">
On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt; wrote:<br>
<br>
</div>
</blockquote>
<blockquote>
<div style="direction:ltr">
&#xFEFF;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi TechTalk,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I&#39;m having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This seems to be backed up by using EPICS&#39; nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Is this somehow to do with the fact I&#39;m trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thank you for any help,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Alex Wells</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr">
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.</div>
</blockquote>
</div>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>
</div>

</div></blockquote></div></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00971.php</link>
      <author>Vijay Kumar Banerjee via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 15:50:41 GMT</pubDate>
      <guid isPermaLink="false">CAFgkNA=50+D_0=CV-+VhMoMMtRz6c9Rnbo=145=YjRUxo90hEw@mail.gmail.com</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: Hvwnl Yhzne Pnarewrr ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 10:50:41 &#45;0500 -->
<!--X-Message-Id: CAFgkNA=50+D_0=CV&#45;+VhMoMMtRz6c9Rnbo=145=YjRUxo90hEw@mail.gmail.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Reference: DFD75AC1&#45;5EF0&#45;4A1D&#45;8469&#45;980FF4137D64@cars.uchicago.edu -->
<!--X-Reference: BY5PR09MB512385596DD45E0F8AB04DF8ACAC2@BY5PR09MB5123.namprd09.prod.outlook.com -->
<!--X-Reference: AS4PR01MB90162C5BEB050E8670CCE694DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Vijay Kumar Banerjee via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Wells, Alex (DLSLtd,RAL,TEC)&quot; &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Joel Sherrill &lt;<a href="mailto:joel%20dot%20sherrill%20at%20gmail%20dot%20com">joel.sherrill at gmail.com</a>&gt;, Jack Harper - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 10:50:41 -0500</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<div dir="ltr"><div>Hi Alex and others,</div><div><br></div><div>With RTEMS 5.1, I believe you&#39;re using the legacy network stack which uses the epics-base&#39;s `score/rtems_config.c` to build the base that&#xA0;enforces</div><div><br></div><div>#define CONFIGURE_MICROSECONDS_PER_TICK 20000 -- making it 50Hz clock ticks. In posix setup, you can override it with&#xA0;</div><div><br></div><div>`OP_SYS_CFLAGS += -DCONFIGURE_MICROSECONDS_PER_TICK=1000` in you configure/CONFIG_SITE.local to set it to 1Khz.</div><div><br></div><div>This override does not work on the `score` branch and It&#39;s possible that you&#39;re setting up the CFLAGS correctly to a 100Hz, but your base is still at 50Hz. Also, looks like the posix branch of base uses a default 100Hz clock tick in epics-base, and the decision to use that value might be coming from the default settings in `rtems_config.c`</div><div><br></div><div><br></div><div><br></div><div>--Vijay</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 28, 2026 at 10:29&#x202F;AM Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>




<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi all,</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thank you for the quick replies!</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
We are using EPICS 7.0.7, with a couple of commits from later releases patched ontop of it. We&#39;re using RTEMS 5.1 at the moment.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I must admit I am uncertain why 100Hz was picked, but it is the current standard at Diamond and shared across all IOCs. I will have to find out next week when people are back from holiday why this was chosen.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
If I understand correctly, due to our shortened tick timer we fall foul of the &quot;correction&quot; done inside EPICS that subtracts half the quantum. I guess in my case this means I am effectively requesting a timeout of zero, which would explain my observations.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thanks again,</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Alex Wells</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_163336664780413252m_4721894689466679839appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_163336664780413252m_4721894689466679839divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Johnson, Andrew N. &lt;<a rel="nofollow" href="mailto:anj at anl.gov" target="_blank">anj at anl.gov</a>&gt;<br>
<b>Sent:</b> Friday, August 28, 2026 4:15 PM<br>
<b>To:</b> Rivers, Mark L. &lt;<a rel="nofollow" href="mailto:rivers at cars.uchicago.edu" target="_blank">rivers at cars.uchicago.edu</a>&gt;; Wells, Alex (DLSLtd,RAL,TEC) &lt;<a rel="nofollow" href="mailto:alex.wells at diamond.ac.uk" target="_blank">alex.wells at diamond.ac.uk</a>&gt;<br>
<b>Cc:</b> Jack Harper STFC UKRI via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Subject:</b> Re: Short EPICS event waits under RTEMS</font>
<div>&#xA0;</div>
</div>
<div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi Alex,</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Mark is probably referring to <a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-base/epics-base/commit/01360b2a6917d2723b6b3219973a573680a687f9__;!!G_uCfscf7eWS!ca62NHJHx8LLNwqqQvFJG7f_QFuiWnVzd25kG3DKi01r0G9LhcY8pLVeIFbZVVXzHLArJlGEsUewMrpjZpJBCF0ok-ubRw$" target="_blank">
this commit</a> which appeared in 7.0.10, but it doesn&#39;t affect IOCs running on VxWorks or RTEMS.</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Why aren&#x2019;t you running your clock at 1KHz on RTEMS to match VxWorks?</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This is a long-known issue with the EPICS timers on our embedded OSs, which both use ticks for their timer calls. It could be fixed by having the EPICS code check the nanosecond clock and retry the OS operation when that returns early with a timeout, but nobody
 has taken up and implemented that change. It would be a good Codeathon project for someone working with an embedded OS.</div>
<div id="m_163336664780413252m_4721894689466679839x_ms-outlook-mobile-body-separator-line" dir="ltr"><br>
</div>
<div id="m_163336664780413252m_4721894689466679839x_ms-outlook-mobile-signature">
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
- Andrew</div>
<div style="direction:ltr;margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
--&#xA0;</div>
<div style="margin:0in;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt">
Complexity comes for free, Simplicity you have to work for.</div>
<div style="direction:ltr;margin:0in;font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
</div>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_163336664780413252m_4721894689466679839x_mail-editor-reference-message-container">
<div style="direction:ltr">
</div>
<div>On 8/28/26, 9:59&#x202F;AM, &quot;Tech-talk&quot; &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov" target="_blank">tech-talk-bounces at aps.anl.gov</a>&gt; wrote:</div>
<div><br>
What version of base are you using? There have been recent changes.</div>
<div style="direction:ltr">
<br>
</div>
<div>Mark</div>
<div style="direction:ltr">
<br>
</div>
<div style="direction:ltr">
Sent from my iPhone</div>
<div style="direction:ltr">
<br>
</div>
<blockquote>
<div style="direction:ltr">
On Aug 28, 2026, at 9:49&#x202F;AM, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov" target="_blank">tech-talk at aps.anl.gov</a>&gt; wrote:<br>
<br>
</div>
</blockquote>
<blockquote>
<div style="direction:ltr">
&#xFEFF;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi TechTalk,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I&#39;m having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in
 the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.&#xA0;</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are
 attempting to execute too fast and not actually waiting the 10ms for the hardware to act.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This seems to be backed up by using EPICS&#39; nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and
 after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Is this somehow to do with the fact I&#39;m trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thank you for any help,</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Alex Wells</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="direction:ltr">
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.</div>
</blockquote>
</div>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>
</div>

</div></blockquote></div>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00972.php</link>
      <author>Knap, Giles (DLSLtd,RAL,DOD) via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 17:05:30 GMT</pubDate>
      <guid isPermaLink="false">PA1PPF323437A2B8E15B519F3297A8862FACCAC2@PA1PPF323437A2B.eurprd01.prod.exchangelabs.com</guid>
      <title>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?Windows&#45;1252?Q?Re:_EPICS_IOCs_in_Kubernetes_=97_Community_Experience=3F?= -->
<!--X-From-R13: "Yanc, Uvyrf \(RZEZgq,DOZ,RAR\) ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 17:05:30 +0000 -->
<!--X-Message-Id: PA1PPF323437A2B8E15B519F3297A8862FACCAC2@PA1PPF323437A2B.eurprd01.prod.exchangelabs.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Reference: 69AE2FA8&#45;03C1&#45;8B4F&#45;A9CA&#45;409D251C3FF1@hxcore.ol -->
<!--X-Reference: SA1PR09MB7342EC7144271E44178D9CB1DEAC2@SA1PR09MB7342.namprd09.prod.outlook.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Knap, Giles \(DLSLtd,RAL,DOD\) via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Pearson, Matthew&quot; &lt;<a href="mailto:pearsonmr%20at%20ornl%20dot%20gov">pearsonmr at ornl.gov</a>&gt;, Andrea Michelotti &lt;<a href="mailto:andrea%20dot%20michelotti%20at%20lnf%20dot%20infn%20dot%20it">andrea.michelotti at lnf.infn.it</a>&gt;, &quot;Williams, Ernest L., Jr&quot; &lt;<a href="mailto:ernesto%20at%20slac%20dot%20stanford%20dot%20edu">ernesto at slac.stanford.edu</a>&gt;, EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 17:05:30 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Ernest, Matt,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I've made a brief answer to Ernest on Element and will respond to this email in detail on Tues morning BST.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
In short, much of what you both ask is discussed in our documentation here <a rel="nofollow" href="https://urldefense.us/v3/__https://epics-containers.github.io/__;!!G_uCfscf7eWS!YcUTPmDYDjRARGQcG8kdCxk9O_YceB9eDgjThg3y6BPk8Mv-m0C-ahn2sGlKDtmXfXobBn8nKUCK60JfDTBFjl4COu___w$">
https://epics-containers.github.io/</a>.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Cheers,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
giles</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Pearson, Matthew &lt;pearsonmr at ornl.gov&gt;<br>
<b>Sent:</b> 28 August 2026 15:47<br>
<b>To:</b> Andrea Michelotti &lt;andrea.michelotti at lnf.infn.it&gt;; Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;; Knap, Giles (DLSLtd,RAL,DOD) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Subject:</b> RE: EPICS IOCs in Kubernetes &#x2014; Community Experience?</font>
<div>&nbsp;</div>
</div>

<div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="left" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; border:0!important; display:table!important; width:100%!important; table-layout:fixed!important; border-collapse:seperate!important; float:none!important; border-spacing:0px 0px!important">
<tbody style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; display:block!important">
<tr style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important">
<td valign="middle" width="1px" bgcolor="#A6A6A6" cellpadding="7px 2px 7px 2px" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; padding:7px 2px 7px 2px!important; background-color:#A6A6A6!important; width:0px!important">
</td>
<td valign="middle" width="100%" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 15px" color="#212121" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; width:100%!important; background-color:#EAEAEA!important; padding:7px 5px 7px 15px!important; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif!important; font-size:12px!important; font-weight:normal!important; color:#212121!important; text-align:left!important; word-wrap:break-word!important">
<div style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important">
You don't often get email from pearsonmr at ornl.gov. <a rel="nofollow" href="https://urldefense.us/v3/__https://aka.ms/LearnAboutSenderIdentification__;!!G_uCfscf7eWS!YcUTPmDYDjRARGQcG8kdCxk9O_YceB9eDgjThg3y6BPk8Mv-m0C-ahn2sGlKDtmXfXobBn8nKUCK60JfDTBFjl4h8CJ8Ww$" style="background:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; opacity:revert!important; visibility:revert!important">
Learn why this is important</a> </div>
</td>
<td valign="middle" align="left" width="75px" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 5px" color="#212121" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; width:75px!important; background-color:#EAEAEA!important; padding:7px 5px 7px 5px!important; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif!important; font-size:12px!important; font-weight:normal!important; color:#212121!important; text-align:left!important; word-wrap:break-word!important">
</td>
</tr>
</tbody>
</table>
<div>
<div class="x_WordSection1">
<p class="x_MsoNormal"><span style="font-size:11.0pt">Hi,</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Thanks for the link to the paper, it looks excellent.</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">I&#x2019;ve been interested in the use of containers for a while but I am very concerned about the overhead of setting up and maintaining the software infrastructure, so I&#x2019;d be interested to learn about the resources
 used to get to the stage of deploying IOCs this way on a production beamline (I see that the paper discusses some of this too).</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">More specifically, I have some questions on the practicalities:</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<ol start="1" type="1" style="margin-top:0in">
<li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Are there people dedicated to maintaining the software/IT infrastructure? Are these controls systems engineers or specialized DevOps type people?</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the workflow understandable for everyone in the group? I mean, if there is an issue can anyone start to investigate or is like a black box process that magically produces
 containerized IOCs?</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">How do non-developers work with the process? We have non-developers who create OPI screens and even basic IOC applications, and we&#x2019;re lucky if those even end up version controlled.
 (I know this is more an organizational issue &#x2013; but I&#x2019;m sure other sites have similar issues).</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Have you had any issues during operations related to the container infrastructure?</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">If you have an issue with an IOC in operations, requiring hands-on diagnosis with equipment in the field, how is the software edited and debugged? (I suppose people can still
 run up IOCs as needed on the base OS for troubleshooting?)</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">How are security patches managed (or monitored) for the software inside the containers?</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the extra staff and computing/software infrastructure worth the effort, over not doing this at all and just running IOCs in a normal virtualized OS environment?</span></li><li class="x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the main benefit a workflow driven by everything having to be version controlled and deployed that way (i.e., forcing everything to be version controlled &#x2013; the GitOps paradigm
 mentioned in the paper)? Rather than the other benefits of containers like OS isolation?
</span></li></ol>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Cheers,</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">Matt</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt; font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span style="font-size:11.0pt; font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>Andrea Michelotti via Tech-talk<br>
<b>Sent:</b> Friday, August 28, 2026 3:58 AM<br>
<b>To:</b> Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;; Knap, Giles (DLSLtd,RAL,CEO) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Subject:</b> [EXTERNAL] Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</span></p>
</div>
<p class="x_MsoNormal" style="margin-left:.5in">&nbsp;</p>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:1.0pt; color:white">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space with
 the &quot;epics-containers&quot; project, and has likely already solved (or at least</span></p>
</div>
<div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:1.0pt; color:white"></span></p>
</div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space
 with the &quot;epics-containers&quot; project, and has likely already solved (or at least characterized) the Pod-IP/rediscovery problem you're describing for CA and PVA even if we use a slight different approach. Also worth pinging Claudio Bisegni at SLAC directly if
 you haven't already &#x2014; He's working on k8s there and we are in touch. </span></p>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">On our side, we run what we call EPIK8S (EPICS on Kubernetes) successfully in production on four beamlines. Some info here if useful:
<a rel="nofollow" href="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$" originalsrc="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$">
https://iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010</a></span></p>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Happy to see you moving this way &#x2014; we think it really makes things much easier. Will follow up with more detail when I'm back if useful.
</span></p>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Best,
</span></p>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Andrea Michelotti</span></p>
<div id="x_ms-outlook-mobile-body-separator-line">
<div>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">--------------------</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">dr. Andrea Michelotti</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Head of Control Systems Service</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">INFN - Laboratori Nazionali di Frascati</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Accelerator Division,</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Bldg.2, Room 120</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Via Enrico Fermi, 40</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">00044 Frascati (RM)</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">e-mail: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="mailto:andrea.michelotti at infn.it"><span style="color:#479EF5">andrea.michelotti at infn.it</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">office: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694032272"><span style="color:#479EF5">(+39) 06.9403.2272</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">mobile: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694038203"><span style="color:#479EF5">(+39) 06.9403.8203</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">fax &nbsp; : &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694032256"><span style="color:#479EF5">(+39) 06.9403.2256</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Teams : &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="mailto:amichelo at infn.it"><span style="color:#479EF5">amichelo at infn.it</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">LinkedIn: </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$" originalsrc="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$"><span style="color:#479EF5">http://it.linkedin.com/in/michelotti</span></a></span><span style="font-size:12.0pt"></span></pre>
</div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
</div>
<div id="x_ms-outlook-mobile-signature">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:#212121">Inviato da
<a rel="nofollow" href="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$" originalsrc="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$">
Outlook per Android</a></span></p>
</div>
<div id="x_mail-editor-reference-message-container">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
<div class="x_MsoNormal" align="center" style="margin-left:.5in; text-align:center">
<span style="font-size:12.0pt">
<hr size="2" width="98%" align="center">
</span></div>
<div id="x_divRplyFwdMsg">
<p class="x_MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt">Da:</span></b><span style="font-size:11.0pt"> Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov">tech-talk-bounces at aps.anl.gov</a>&gt; per conto di Williams, Ernest L., Jr
 via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Inviato:</b> venerd&#xEC;, agosto 28, 2026 8:34:13 AM<br>
<b>A:</b> EPICS Tech Talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Oggetto:</b> EPICS IOCs in Kubernetes &#x2014; Community Experience?</span></p>
</div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Hi all,</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">At SLAC, we have started working on integrating EPICS services and IOCs into Kubernetes, and would be interested to hear from others in the EPICS community who are already
 running EPICS successfully in Kubernetes.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Our current environment includes EPICS Base 7.0.9, Channel Access, EPICS Base PVAccess, PVXS 1.5.2. And&nbsp;p4p 4.2.2.&nbsp; &nbsp;IOCs and other EPICS services run in Docker containers
 as Kubernetes Pods, with Kubernetes Services providing stable network endpoints. Our Kubernetes environment currently uses Cilium for the network layer.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">One area I am currently investigating is IOC recovery when Pods are restarted or replaced, particularly how CA and PVA clients rediscover an IOC when its Pod IP changes
 while the Kubernetes Service remains stable. This has raised some interesting questions around the interaction between EPICS discovery and the Kubernetes network layer.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">I would be very interested in hearing from anyone running EPICS IOCs or other EPICS services in Kubernetes:</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">What Kubernetes networking architecture are you using (for example, Cilium, Calico, Flannel, or another CNI)?</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">Are you running CA, PVA, p4p/Python PVA services, or some combination?</span></p>
</div>
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">How are you handling EPICS discovery within the cluster and between Kubernetes and external EPICS networks?
</span></p>
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">How do your clients and IOCs behave during Pod replacement, rolling updates, rescheduling, or other events where the Pod IP changes?
</span></p>
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">Are you using Kubernetes Services as stable endpoints for EPICS traffic?</span></p>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">What EPICS/Kubernetes integration problems have you encountered and solved?</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">I am mainly looking to compare experiences and learn what patterns are working well elsewhere in the community.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></p>
</div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></p>
<div id="x_Signature">
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Cheers,</span></p>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="color:black">Ernest Williams<br>
Dept. Head, Controls Software Engineering<br>
Instrumentation Division, Technology Innovation Directorate<br>
SLAC National Laboratory, Stanford University</span></p>
</div>
<p class="x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
</div>
</div>
</div>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00973.php</link>
      <author>Hu, Yong via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 19:14:01 GMT</pubDate>
      <guid isPermaLink="false">BLAPR09MB6034205929BC9B03C9C693FDAEAC2@BLAPR09MB6034.namprd09.prod.outlook.com</guid>
      <title>Re: Looking for legacy IMS MDrive V1.xxx (Pre-Schneider) MDI Firmware .bin / .hex</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Looking for legacy IMS MDrive V1.xxx (Pre&#45;Schneider) MDI Firmware .bin / .hex -->
<!--X-From-R13: "Vh, Kbat ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 19:14:01 +0000 -->
<!--X-Message-Id: BLAPR09MB6034205929BC9B03C9C693FDAEAC2@BLAPR09MB6034.namprd09.prod.outlook.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: ebd8d05e&#45;1204&#45;48a5&#45;9486&#45;397c20387415@robotworks&#45;eu.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Looking for legacy IMS MDrive V1.xxx (Pre-Schneider) MDI Firmware .bin / .hex</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Hu, Yong via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
Nathan Naveh &lt;<a href="mailto:navehnt%20at%20robotworks%20dash%20eu%20dot%20com">navehnt at robotworks-eu.com</a>&gt;, &quot;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 19:14:01 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->



<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Nathan,</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I&#x2019;m so glad to hear that people from my grandpa&#x2019;s generation are still active in the EPICS community. Amazing!</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I copied &amp; pasted your message with a tiny modification into ChatGPT (paid version) and Gemini (free version) to see what they could find. ChatGPT suggested a couple of potentially useful links such as:</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a rel="nofollow" href="https://urldefense.us/v3/__https://www.novantaims.com/downloads/software/obs_software.html__;!!G_uCfscf7eWS!eERYlxA2WuLAKbkOysYta6l6XNCkXUfkeP4IAu3Pu1-3svCFyUC7hMreGd1K8PIFNCevhsdWLivfXU9t$">https://www.novantaims.com/downloads/software/obs_software.html</a></div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a rel="nofollow" href="https://urldefense.us/v3/__https://www.kocomotion.de/en/produkt/produkt-348/__;!!G_uCfscf7eWS!eERYlxA2WuLAKbkOysYta6l6XNCkXUfkeP4IAu3Pu1-3svCFyUC7hMreGd1K8PIFNCevhsdWLuyUOQxI$">https://www.kocomotion.de/en/produkt/produkt-348/</a></div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Both ChatGPT and Gemini also suggested one alternative which might be worth trying:</div>
<p dir="ltr" style="text-align: left; text-indent: 0px;"><span style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><b>Alternative: Hardware Extraction (Cloning)</b>&nbsp;If you have access to another working machine with
 an identical V1 MDrive motor:</span></p>
<ul data-path-to-node="8" style="text-align: left;">
<li style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<p><b>Microcontroller Readout:</b>&nbsp;Desolder or hook up an in-system programmer (ISP/JTAG) to the onboard microcontroller on the motor's control board. If lock bits were not set by IMS during production, you can dump the full EEPROM/Flash image directly to a
<code>.hex</code>&nbsp;file to re-flash the bricked drive.</p>
</li></ul>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Good luck!</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Yong</div>
<div dir="ltr" style="font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="mail-editor-reference-message-container">
<div dir="ltr" class="ms-outlook-mobile-reference-message skipProofing"></div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="text-align: left; padding: 3pt 0in 0in; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor; font-family: Aptos; font-size: 12pt; color: black;">
<b>From: </b>Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt; on behalf of Nathan Naveh via Tech-talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Date: </b>Friday, August 28, 2026 at 2:50&#x202F;AM<br>
<b>To: </b>tech-talk at aps.anl.gov &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Subject: </b>Looking for legacy IMS MDrive V1.xxx (Pre-Schneider) MDI Firmware .bin / .hex</div>
<div dir="ltr" lang="en" id="pfptBannerw58fqwo" style="visibility: visible !important; opacity: 1 !important; max-width: none !important; max-height: none !important; display: block !important; text-align: left !important; margin: 0px 0px 10px !important; padding: 7px 16px 8px !important; border-radius: 4px !important; min-width: 200px !important; background-color: rgb(250, 223, 155); border-top: 4px solid rgb(242, 176, 4) !important;">
<div id="pfptBannerw58fqwo" style="visibility: visible !important; opacity: 1 !important; background-color: rgb(250, 223, 155); max-height: none !important; float: left !important; display: block !important; margin: 1px 0px !important; max-width: 600px !important;" dir="ltr">
<div id="pfptBannerw58fqwo" style="opacity: 1 !important; max-width: none !important; max-height: none !important; display: block !important; visibility: visible !important; background-color: rgb(250, 223, 155); color: rgb(0, 0, 0); font-family: Arial, sans-serif !important; font-weight: bold !important; font-size: 14px !important; line-height: 1.29 !important;" dir="ltr">
</div>
<div id="pfptBannerw58fqwo" style="font-weight: normal; opacity: 1 !important; max-width: none !important; max-height: none !important; display: block !important; visibility: visible !important; background-color: rgb(250, 223, 155); color: rgb(0, 0, 0); font-family: Arial, sans-serif !important; font-size: 12px !important; line-height: 1.5 !important; margin-top: 2px !important;" dir="ltr">
</div>
</div>
</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="font-family: Arial; font-size: 13px;">
Hello Tech-Talk,<br>
<br>
I am 80-years-old-still-working automation geezer.&nbsp;<br>
I am trying to rescue a legacy industrial machine that runs several original Intelligent Motion Systems (IMS) MDrive integrated stepper motors (V1.0xx MDI generation, pre-Schneider Electric era).<br>
One of our motors was mistakenly &quot;&quot;upgraded&quot;&quot; to V3... which made it a brick.<br>
Novanta IMS do not keep any V1 stuff.<br>
<br>
Does anyone happen to have a factory installation CD, floppy backup, or an old folder image containing the original V1.xxx firmware binaries (.bin or .hex) tucked away on a legacy lab drive or drawer? Any version of the V1 MDI firmware would be an absolute
 lifesaver.<br>
<br>
Thanks for your time and any file hoard checks!<br>
<br>
Nathan<br>
<br>
</div>
</div>



<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00974.php</link>
      <author>Heinz Junkes via Tech-talk</author>
      <pubDate>Fri, 28 Aug 2026 19:58:01 GMT</pubDate>
      <guid isPermaLink="false">CA5F885A-19A7-42DA-94A2-41D3109FDD38@fhi-berlin.mpg.de</guid>
      <title>Re: Short EPICS event waits under RTEMS</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: Re: Short EPICS event waits under RTEMS -->
<!--X-From-R13: Vrvam Xhaxrf ivn Frpu&#45;gnyx <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Fri, 28 Aug 2026 21:58:01 +0200 -->
<!--X-Message-Id: CA5F885A&#45;19A7&#45;42DA&#45;94A2&#45;41D3109FDD38@fhi&#45;berlin.mpg.de -->
<!--X-Content-Type: multipart/signed -->
<!--X-Reference: AS4PR01MB90161B2205A1C09DA4BFB302DDAC2@AS4PR01MB9016.eurprd01.prod.exchangelabs.com -->
<!--X-Derived: p7sR8DI4K1gbk.p7s -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: Short EPICS event waits under RTEMS</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
Heinz Junkes via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Wells, Alex (DLSLtd,RAL,TEC)&quot; &lt;<a href="mailto:alex%20dot%20wells%20at%20diamond%20dot%20ac%20dot%20uk">alex.wells at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
Jack Harper - STFC UKRI via Tech-talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Fri, 28 Aug 2026 21:58:01 +0200</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre></pre><pre>Hi Alex,
I&#x2019;ve been using RTEMS 6 and 7 with my VMEbus targets for some time now. I&#x2019;ve set the tick rate to 1000 there.
In epics-base, under configure/os/, you can find these settings:

CONFIG.Common.RTEMS-beatnik:OP_SYS_CFLAGS += -DCONFIGURE_MICROSECONDS_PER_TICK00

HTH,
Heinz

------------------------------------------------------------------------------
Fritz-Haber-Institut  | Phone: (+49 30) 8413-4270
Heinz Junkes          | VC: <a  rel="nofollow" href="https://zoom.fhi.berlin/junkes">https://zoom.fhi.berlin/junkes</a>
Faradayweg 4-6        | Visitors: Hittorfstrasse 29 (Bld S (Slough House) )
D - 14195 Berlin
------------------------------------------------------------------------------
&#x201C;Sorry I&#x2019;m a bit late, had a terrible time&#x2026;
All sort of things cropping up at the last moment. Uh, how are we for time?&#x201D;
&#x2014;Zarquon's address to Milliways

&gt; On 28. Aug 2026, at 16:48, Wells, Alex (DLSLtd,RAL,TEC) via Tech-talk &lt;tech-talk at aps.anl.gov&gt; wrote:
&gt;
&gt; Hi TechTalk,
&gt;
&gt; I'm having some difficulties when migrating from VxWorks to RTEMS around how timeouts seem to be handled for very short periods.
&gt;
&gt; Under VxWorks, I set a clock speed of 1000, i.e. 1kHz. I then had some events that had a timeout of 10 &quot;ticks&quot;, so a wall time of 10ms. This event was triggered when the associated hardware finishes its read/write cycle - it would send an interrupt, and in the handler I signal the waited-on event. Interrupts were also often turned off, to save CPU time, so the events would just timeout but this caused no issues as the hardware read/write would complete inside the 10ms.
&gt;
&gt; Under RTEMS, I have a different clock speed of 100Hz. I set the same timeout of 10ms (0.01s). I also have interrupts disabled so that the Event will never be signalled. I see different behaviour - some of my reads/writes now report errors, as though they are attempting to execute too fast and not actually waiting the 10ms for the hardware to act.
&gt;
&gt; This seems to be backed up by using EPICS' nanosecond timing functions. Using &quot;epicsTimeGetCurrent&quot; before and after the &quot;epicsEventWaitWithTimeout&quot; function, and then calling &quot;epicsTimeDiffInNS&quot; gives a mean and median duration of ~5ms between the before and after times. I suspect this means the EPICS Event Wait function is not actually waiting at all.
&gt;
&gt; Is this somehow to do with the fact I'm trying to wait for exactly one tick? Or is there some other explanation for why my wait time is not being reached?
&gt;
&gt; Thank you for any help,
&gt; Alex Wells
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
&gt; Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
&gt; Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.


</pre><p><strong>Attachment:
<a href="p7sR8DI4K1gbk.p7s" ><tt>smime.p7s</tt></a></strong><br>
<em>Description:</em> S/MIME cryptographic signature</p>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

    <item>
      <link>https://epics.anl.gov/tech-talk/2026/msg00975.php</link>
      <author>Knap, Giles (DLSLtd,RAL,DOD) via Tech-talk</author>
      <pubDate>Tue, 01 Sep 2026 10:31:41 GMT</pubDate>
      <guid isPermaLink="false">DU7PPF4A36C90FA1269C54F847AE1BF007CCCA82@DU7PPF4A36C90FA.eurprd01.prod.exchangelabs.com</guid>
      <title>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</title>
      <description><![CDATA[<!-- MHonArc v2.6.18 -->
<!--X-Subject: =?Windows&#45;1252?Q?Re:_EPICS_IOCs_in_Kubernetes_=97_Community_Experience=3F?= -->
<!--X-From-R13: "Yanc, Uvyrf \(RZEZgq,DOZ,RAR\) ivn Frpu&#45;gnyx" <grpu&#45;gnyxNncf.nay.tbi> -->
<!--X-Date: Tue, 1 Sep 2026 10:31:41 +0000 -->
<!--X-Message-Id: DU7PPF4A36C90FA1269C54F847AE1BF007CCCA82@DU7PPF4A36C90FA.eurprd01.prod.exchangelabs.com -->
<!--X-Content-Type: multipart/alternative -->
<!--X-Reference: BL4PR07MB10078A99318A13D8D9E0291FCF0AC2@BL4PR07MB10078.namprd07.prod.outlook.com -->
<!--X-Reference: 69AE2FA8&#45;03C1&#45;8B4F&#45;A9CA&#45;409D251C3FF1@hxcore.ol -->
<!--X-Reference: SA1PR09MB7342EC7144271E44178D9CB1DEAC2@SA1PR09MB7342.namprd09.prod.outlook.com -->
<!--X-Reference: PA1PPF323437A2B8E15B519F3297A8862FACCAC2@PA1PPF323437A2B.eurprd01.prod.exchangelabs.com -->
<!--X-Head-End-->
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<table border=0>
<tr>
<td align="right" valign="top">
<em>Subject</em>:</td>
<td align="left">
<b>Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</b></td>
</tr>

<tr>
<td align="right" valign="top">
<em>From</em>:</td>
<td align="left">
&quot;Knap, Giles \(DLSLtd,RAL,DOD\) via Tech-talk&quot; &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>To</em>:</td>
<td align="left">
&quot;Pearson, Matthew&quot; &lt;<a href="mailto:pearsonmr%20at%20ornl%20dot%20gov">pearsonmr at ornl.gov</a>&gt;, Andrea Michelotti &lt;<a href="mailto:andrea%20dot%20michelotti%20at%20lnf%20dot%20infn%20dot%20it">andrea.michelotti at lnf.infn.it</a>&gt;, &quot;Williams, Ernest L., Jr&quot; &lt;<a href="mailto:ernesto%20at%20slac%20dot%20stanford%20dot%20edu">ernesto at slac.stanford.edu</a>&gt;, EPICS Tech Talk &lt;<a href="mailto:tech%20dash%20talk%20at%20aps%20dot%20anl%20dot%20gov">tech-talk at aps.anl.gov</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Cc</em>:</td>
<td align="left">
&quot;Reynolds, Christopher \(DLSLtd,RAL,DOD\)&quot; &lt;<a href="mailto:christopher%20dot%20reynolds%20at%20diamond%20dot%20ac%20dot%20uk">christopher.reynolds at diamond.ac.uk</a>&gt;</td>
</tr>

<tr>
<td align="right" valign="top">
<em>Date</em>:</td>
<td align="left">
Tue, 1 Sep 2026 10:31:41 +0000</td>
</tr>

</table>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<table width="100%"><tr><td style="">


<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
As promised, some answers to Ernest and Matts Qs re EPICS in Kubernetes.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Matts Qs:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Are there people dedicated to maintaining the software/IT infrastructure? Are these controls systems engineers or specialized DevOps type people?</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Yes we have a team of 6 people that look after all our clusters.</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We have a cluster per beamline, a big central cluster, another for the accelerator and several staging clusters</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Note that more and more of our infra is moving to K8S so the amount of traditional support required is going down with time</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Is the workflow understandable for everyone in the group? I mean, if there is an issue can anyone start to investigate or is like a black box process that magically produces containerized IOCs?</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Yes, we have many of our traditional EPICS beamline support people converting their beamlines to K8S</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We have extensive documentation here:
<a rel="nofollow" href="https://urldefense.us/v3/__https://epics-containers.github.io/main/index.html__;!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L-V7VitVw$" id="OWA9288029a-e771-eee2-43f6-596db342c365" class="OWAAutoLink">
https://epics-containers.github.io/main/index.html</a></div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">On top of that we have internal docs with the specifics of the repos and clusters at DLS</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Many engineers have got up to speed using the docs alone</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">How do non-developers work with the process? We have non-developers who create OPI screens and even basic IOC applications, and we&#x2019;re lucky if those even end up version controlled. (I know this is more an organizational
 issue &#x2013; but I&#x2019;m sure other sites have similar issues).</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">For end users we have developed a Web UI called argoCD monitor that allows them to view logs, stop/start IOCs</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">It uses the ArgoCD API and is an alternative to the native UI which exposes too much of the underlying detail</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">See <a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-containers/argocd-monitor*example-screenshot__;Iw!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L_oUrCu9w$" id="OWA5fbd93f9-4922-7e2f-1f0c-add4b37f0b6a" class="OWAAutoLink">
https://github.com/epics-containers/argocd-monitor#example-screenshot</a>&nbsp;for an idea of what that looks like</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Have you had any issues during operations related to the container infrastructure?</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">This has not been an issue recently - one niggle that happened once is that our accelerator network is isolated and can't pull containers during the run - that's by design but we did get it wrong once</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We are protected by having a local container image cache called Harbour running so even when the internet is broken previously pulled images are still available</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">This is also how we manage the accelerator - its harbour is internet connected during shutdowns and can pull image updates, then use just the cached images during a run</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">If you have an issue with an IOC in operations, requiring hands-on diagnosis with equipment in the field, how is the software edited and debugged? (I suppose people can still run up IOCs as needed on the base
 OS for troubleshooting?)</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Two things.</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">Primary choice for easy access we use a developer container running on a workstation on the beamline subnet</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Second choice is debugging in cluster, we have some interesting solutions for this, even allowing temporary patching and compiling of code changes that survive a container restart (using PVCs and mounts)</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: square;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" role="presentation">This breaks the immutability of containers so is only used when absolutely needed</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" role="presentation">But the good thing is you can go into argoCD monitor and sort your IOC list by tracking branch. Anything that is not on main is to be addressed. Thus we don't forget that we've left IOCs in a debug state.</div>
</li></ul>
</ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">How are security patches managed (or monitored) for the software inside the containers?</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">This comes with the Infra - we have StackRox running on our clusters, constantly monitoring all live containers against the current CVE databases</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Most CVEs don't affect IOCs because they don't expose any sensitive ports. If they do then we can bump dependencies and rebuild our containers - as everything is defined in manifests it is easy to discover everything
 that is affected by a given dependency bump. Container builds all happen in CI anyway.</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Is the extra staff and computing/software infrastructure worth the effort, over not doing this at all and just running IOCs in a normal virtualized OS environment?</div>
</li></ul>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">I like to think of it as less infrastructure!</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We have tried very hard to make this Standard EPICS (using upstream base and support modules) and standard EPICS build system + a standard Kubernetes</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We keep the glue to a minimum</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We do add our IOC generation thing called ibek (Equivalent to DLS XmlBuilder which I expect you recall, Matt) but this is a completely optional layer on top</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">So if your infra ran on K8S already then you don't need anything extra to start deploying IOCs</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">We made epics-containers as FOSS with the idea that this could be adopted and shared by multiple facilities, reducing the maintenance burden. We do have INFN and Tau Systems collaborating on the project already.</div>
</li></ul>
</ol>
<ol start="1" data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: decimal;">
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">But I get that this is a rather idealist view and I can't honestly quantify the cost/reward on this</div>
</li></ul>
</ol>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">Is the main benefit a workflow driven by everything having to be version controlled and deployed that way (i.e., forcing everything to be version controlled &#x2013; the GitOps paradigm mentioned in the paper)? Rather than the other benefits
 of containers like OS isolation?</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">The continuous deployment of released assets is a big win.</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: square;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">I assert that a non EPICS expert (who knows a little K8S) can look at one of our beamlines and trace each IOC down to lines of code in github</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">But the isolation is also useful, one memory leaking&nbsp; or CPU hogging IOC no longer affects a whole server and such issues can be found and corrected much more easily</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">You also get centralized monitoring and logging</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">A very big win for us is that we can upgrade the OS on our servers without needing to recompile all of our IOCs.</div>
</li></ul>
</ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Ernest's general questions:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re CNI</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">We are moving to Cilium and I'm not sure if that's done yet Chris Reynolds ?</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re EPICS transport</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">We use CA and p4p</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re PV search</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">Discovery just works on hostNetwork - its identical to old server architecture network wise</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re pod moves:</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">IOCs that get moved just work in hostNetwork because broadcast reconnects them</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re Pod replacement:</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">we use statefulsets so that the old pod dies and drops any singleton device connections before the new one starts</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Re services for accessing IOCs:</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">no services for IOCs as hostNetwork</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">Some problems we have solved:</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">deciding to go host network (and providing Kyverno rules to make sure thats not a security hole)</div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: square;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">solved almost every issue we have had with CA/PVA and gigE camera streaming protocol</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">That's because IOCs networking looks exactly like it did in the old infrastructure</div>
</li></ul>
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation">see <a rel="nofollow" href="https://urldefense.us/v3/__https://epics-containers.github.io/main/explanations/epics_protocols.html__;!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L_adyIeig$">https://epics-containers.github.io/main/explanations/epics_protocols.html</a></div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation">The other thing we did is go for small IOCs, 1 per device typically and then manage them all with ArgoCD - meaning the state of each beamline and its history is described in a git repo. Example beamline:
<a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-containers/p47-services__;!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L9XW2dPPQ$" id="OWA78e8e4d4-c779-6438-6633-e41af889cc72" class="OWAAutoLink">
https://github.com/epics-containers/p47-services</a></div>
</li></ul>
</ul>
<div style="margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Ernest's specific question about when pods are restarted or replaced. The problem is that they may get a new IP address and a CA client that has established a channel with the pod will loose contact, CA client libraries assume that the can use DNS once to get
 an IP address and do not re-establish the channel when this happens.</div>
<div class="elementToProof" style="margin-top: 0px; margin-bottom: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation" style="margin-top: 0px; margin-bottom: 0px;">
The solution developed at INFN in Rome was to give every IOC a deterministic cluster IP address based on a hash of the Helm Release.</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation" style="margin-top: 0px; margin-bottom: 0px;">
We have this working for our IOCs that use cluster networking but generally don't use it because our production IOCs are host network</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation" style="margin-top: 0px; margin-bottom: 0px;">
Here is our implementation <a rel="nofollow" href="https://urldefense.us/v3/__https://github.com/epics-containers/ec-helm-charts/blob/090ef8b36d0fee6616d1bd825cca1ae83c28fa17/Charts/ioc-instance/templates/_service.tpl*L24-L26__;Iw!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L8fjxLYDA$">https://github.com/epics-containers/ec-helm-charts/blob/090ef8b36d0fee6616d1bd825cca1ae83c28fa17/Charts/ioc-instance/templates/_service.tpl#L24-L26</a></div>
</li><ul data-editing-info="{&quot;applyListStyleFromLevel&quot;:true}" style="margin-top: 0px; margin-bottom: 0px; list-style-type: circle;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div role="presentation" style="margin-top: 0px; margin-bottom: 0px;">This sets the cluster IP of the IOC to a deterministic address based on the helm release name.</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); margin-top: 0px; margin-bottom: 0px;">
<div class="elementToProof" role="presentation" style="margin-top: 0px; margin-bottom: 0px;">
Even if the pod is moved to a different machine it still gets the same address.&nbsp;</div>
</li></ul>
</ul>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Knap, Giles (DLSLtd,RAL,DOD) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Sent:</b> 28 August 2026 18:05<br>
<b>To:</b> Pearson, Matthew &lt;pearsonmr at ornl.gov&gt;; Andrea Michelotti &lt;andrea.michelotti at lnf.infn.it&gt;; Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;<br>
<b>Cc:</b> Knap, Giles (DLSLtd,RAL,DOD) &lt;giles.knap at diamond.ac.uk&gt;; Cobb, Tom (DLSLtd,RAL,DOD) &lt;tom.cobb at diamond.ac.uk&gt;<br>
<b>Subject:</b> Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</font>
<div>&nbsp;</div>
</div>

<div dir="ltr">
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi Ernest, Matt,</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I've made a brief answer to Ernest on Element and will respond to this email in detail on Tues morning BST.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
In short, much of what you both ask is discussed in our documentation here <a rel="nofollow" href="https://urldefense.us/v3/__https://epics-containers.github.io/__;!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L_GNkU_sw$" originalsrc="https://epics-containers.github.io/">
https://epics-containers.github.io/</a>.</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Cheers,</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
giles</div>
<div class="x_elementToProof" style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Pearson, Matthew &lt;pearsonmr at ornl.gov&gt;<br>
<b>Sent:</b> 28 August 2026 15:47<br>
<b>To:</b> Andrea Michelotti &lt;andrea.michelotti at lnf.infn.it&gt;; Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;; Knap, Giles (DLSLtd,RAL,DOD) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Subject:</b> RE: EPICS IOCs in Kubernetes &#x2014; Community Experience?</font>
<div>&nbsp;</div>
</div>

<div lang="EN-US" style="word-wrap:break-word">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="left" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; border:0!important; display:table!important; width:100%!important; table-layout:fixed!important; border-collapse:seperate!important; float:none!important; border-spacing:0px 0px!important">
<tbody style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; display:block!important">
<tr style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important">
<td valign="middle" width="1px" bgcolor="#A6A6A6" cellpadding="7px 2px 7px 2px" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; padding:7px 2px 7px 2px!important; background-color:#A6A6A6!important; width:0px!important">
</td>
<td valign="middle" width="100%" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 15px" color="#212121" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; width:100%!important; background-color:#EAEAEA!important; padding:7px 5px 7px 15px!important; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif!important; font-size:12px!important; font-weight:normal!important; color:#212121!important; text-align:left!important; word-wrap:break-word!important">
<div style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important">
You don't often get email from pearsonmr at ornl.gov. <a rel="nofollow" href="https://urldefense.us/v3/__https://aka.ms/LearnAboutSenderIdentification__;!!G_uCfscf7eWS!fQTGfrIGM-ERuiePEtR0SvWs9qkehqqv7EgvtfnJ4DtWXOQ3u8idvjf1cba_zt8Ws8yLFp0mWfPRltfrkQOM3L9VNK0L_A$" style="background:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; opacity:revert!important; visibility:revert!important">
Learn why this is important</a> </div>
</td>
<td valign="middle" align="left" width="75px" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 5px" color="#212121" style="background:revert!important; border:revert!important; bottom:revert!important; color:revert!important; direction:revert!important; display:revert!important; font-size:revert!important; height:revert!important; letter-spacing:revert!important; line-height:revert!important; margin:revert!important; opacity:revert!important; order:revert!important; outline:revert!important; overflow:revert!important; padding:revert!important; position:revert!important; tab-size:revert!important; table-layout:revert!important; text-align:revert!important; text-indent:revert!important; text-orientation:revert!important; text-overflow:revert!important; text-transform:revert!important; top:revert!important; vertical-align:revert!important; visibility:revert!important; white-space:revert!important; width:revert!important; word-break:revert!important; word-spacing:revert!important; writing-mode:revert!important; zoom:revert!important; width:75px!important; background-color:#EAEAEA!important; padding:7px 5px 7px 5px!important; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif!important; font-size:12px!important; font-weight:normal!important; color:#212121!important; text-align:left!important; word-wrap:break-word!important">
</td>
</tr>
</tbody>
</table>
<div>
<div class="x_x_WordSection1">
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">Hi,</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">Thanks for the link to the paper, it looks excellent.</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">I&#x2019;ve been interested in the use of containers for a while but I am very concerned about the overhead of setting up and maintaining the software infrastructure, so I&#x2019;d be interested to learn about the resources
 used to get to the stage of deploying IOCs this way on a production beamline (I see that the paper discusses some of this too).</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">More specifically, I have some questions on the practicalities:</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<ol start="1" type="1" style="margin-top:0in">
<li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Are there people dedicated to maintaining the software/IT infrastructure? Are these controls systems engineers or specialized DevOps type people?</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the workflow understandable for everyone in the group? I mean, if there is an issue can anyone start to investigate or is like a black box process that magically produces
 containerized IOCs?</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">How do non-developers work with the process? We have non-developers who create OPI screens and even basic IOC applications, and we&#x2019;re lucky if those even end up version
 controlled. (I know this is more an organizational issue &#x2013; but I&#x2019;m sure other sites have similar issues).</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Have you had any issues during operations related to the container infrastructure?</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">If you have an issue with an IOC in operations, requiring hands-on diagnosis with equipment in the field, how is the software edited and debugged? (I suppose people can
 still run up IOCs as needed on the base OS for troubleshooting?)</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">How are security patches managed (or monitored) for the software inside the containers?</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the extra staff and computing/software infrastructure worth the effort, over not doing this at all and just running IOCs in a normal virtualized OS environment?</span></li><li class="x_x_MsoListParagraph" style="margin-left:0in"><span style="font-size:11.0pt">Is the main benefit a workflow driven by everything having to be version controlled and deployed that way (i.e., forcing everything to be version controlled &#x2013; the GitOps
 paradigm mentioned in the paper)? Rather than the other benefits of containers like OS isolation?
</span></li></ol>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">Cheers,</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">Matt</span></p>
<p class="x_x_MsoNormal"><span style="font-size:11.0pt">&nbsp;</span></p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_x_MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt; font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span style="font-size:11.0pt; font-family:&quot;Calibri&quot;,sans-serif"> Tech-talk &lt;tech-talk-bounces at aps.anl.gov&gt;
<b>On Behalf Of </b>Andrea Michelotti via Tech-talk<br>
<b>Sent:</b> Friday, August 28, 2026 3:58 AM<br>
<b>To:</b> Williams, Ernest L., Jr &lt;ernesto at slac.stanford.edu&gt;; EPICS Tech Talk &lt;tech-talk at aps.anl.gov&gt;; Knap, Giles (DLSLtd,RAL,CEO) &lt;giles.knap at diamond.ac.uk&gt;<br>
<b>Subject:</b> [EXTERNAL] Re: EPICS IOCs in Kubernetes &#x2014; Community Experience?</span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in">&nbsp;</p>
<div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:1.0pt; color:white">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space
 with the &quot;epics-containers&quot; project, and has likely already solved (or at least</span></p>
</div>
<div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:1.0pt; color:white"></span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Hi, I'm on holiday right now so can't go into detail, but you should definitely talk to Giles Knap at Diamond Light Source (DLS) &#x2014; he's been a pioneer in this space
 with the &quot;epics-containers&quot; project, and has likely already solved (or at least characterized) the Pod-IP/rediscovery problem you're describing for CA and PVA even if we use a slight different approach. Also worth pinging Claudio Bisegni at SLAC directly if
 you haven't already &#x2014; He's working on k8s there and we are in touch. </span></p>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">On our side, we run what we call EPIK8S (EPICS on Kubernetes) successfully in production on four beamlines. Some info here if useful:
<a rel="nofollow" href="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$" originalsrc="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$" originalsrc="https://urldefense.us/v3/__https:/iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBEuyRiE$">
https://iopscience.iop.org/article/10.1088/1748-0221/21/04/P04010</a></span></p>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Happy to see you moving this way &#x2014; we think it really makes things much easier. Will follow up with more detail when I'm back if useful.
</span></p>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Best,
</span></p>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Andrea Michelotti</span></p>
<div id="x_x_ms-outlook-mobile-body-separator-line">
<div>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">--------------------</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">dr. Andrea Michelotti</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Head of Control Systems Service</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">INFN - Laboratori Nazionali di Frascati</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Accelerator Division,</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Bldg.2, Room 120</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Via Enrico Fermi, 40</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">00044 Frascati (RM)</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">e-mail: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="mailto:andrea.michelotti at infn.it"><span style="color:#479EF5">andrea.michelotti at infn.it</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">office: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694032272"><span style="color:#479EF5">(+39) 06.9403.2272</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">mobile: &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694038203"><span style="color:#479EF5">(+39) 06.9403.8203</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">fax &nbsp; : &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="tel:+390694032256"><span style="color:#479EF5">(+39) 06.9403.2256</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Teams : &nbsp; </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="mailto:amichelo at infn.it"><span style="color:#479EF5">amichelo at infn.it</span></a></span><span style="font-size:12.0pt; color:black"></span></pre>
<pre style="margin-left:.5in"><span style="font-size:12.0pt; color:black">LinkedIn: </span><span style="font-size:12.0pt; color:#479EF5"><a rel="nofollow" href="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$" originalsrc="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$" originalsrc="https://urldefense.us/v3/__http:/it.linkedin.com/in/michelotti__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuBV-AoJV$"><span style="color:#479EF5">http://it.linkedin.com/in/michelotti</span></a></span><span style="font-size:12.0pt"></span></pre>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
</div>
<div id="x_x_ms-outlook-mobile-signature">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:#212121">Inviato da
<a rel="nofollow" href="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$" originalsrc="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$" originalsrc="https://urldefense.us/v3/__https:/aka.ms/AAb9ysg__;!!G_uCfscf7eWS!YhtzG5mQjzCIxONqFS2WlbJbkwenNETRUCyp4gU4BcElvzBBSPd-4a0bQcx-Q_43Qd0CY3epWgFbNBmqpKwOqyGBzjPPuOL2_Lmb$">
Outlook per Android</a></span></p>
</div>
<div id="x_x_mail-editor-reference-message-container">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
<div class="x_x_MsoNormal" align="center" style="margin-left:.5in; text-align:center">
<span style="font-size:12.0pt">
<hr size="2" width="98%" align="center">
</span></div>
<div id="x_x_divRplyFwdMsg">
<p class="x_x_MsoNormal" style="margin-left:.5in"><b><span style="font-size:11.0pt">Da:</span></b><span style="font-size:11.0pt"> Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk-bounces at aps.anl.gov">tech-talk-bounces at aps.anl.gov</a>&gt; per conto di Williams, Ernest L.,
 Jr via Tech-talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Inviato:</b> venerd&#xEC;, agosto 28, 2026 8:34:13 AM<br>
<b>A:</b> EPICS Tech Talk &lt;<a rel="nofollow" href="mailto:tech-talk at aps.anl.gov">tech-talk at aps.anl.gov</a>&gt;<br>
<b>Oggetto:</b> EPICS IOCs in Kubernetes &#x2014; Community Experience?</span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Hi all,</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">At SLAC, we have started working on integrating EPICS services and IOCs into Kubernetes, and would be interested to hear from others in the EPICS community who are
 already running EPICS successfully in Kubernetes.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Our current environment includes EPICS Base 7.0.9, Channel Access, EPICS Base PVAccess, PVXS 1.5.2. And&nbsp;p4p 4.2.2.&nbsp; &nbsp;IOCs and other EPICS services run in Docker containers
 as Kubernetes Pods, with Kubernetes Services providing stable network endpoints. Our Kubernetes environment currently uses Cilium for the network layer.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">One area I am currently investigating is IOC recovery when Pods are restarted or replaced, particularly how CA and PVA clients rediscover an IOC when its Pod IP changes
 while the Kubernetes Service remains stable. This has raised some interesting questions around the interaction between EPICS discovery and the Kubernetes network layer.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">I would be very interested in hearing from anyone running EPICS IOCs or other EPICS services in Kubernetes:</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">What Kubernetes networking architecture are you using (for example, Cilium, Calico, Flannel, or another CNI)?</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">Are you running CA, PVA, p4p/Python PVA services, or some combination?</span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">How are you handling EPICS discovery within the cluster and between Kubernetes and external EPICS networks?
</span></p>
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">How do your clients and IOCs behave during Pod replacement, rolling updates, rescheduling, or other events where the Pod IP changes?
</span></p>
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">Are you using Kubernetes Services as stable endpoints for EPICS traffic?</span></p>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:1.0in; text-indent:-.25in"><span style="font-family:Symbol; color:black"><span style="mso-list:Ignore">&#xB7;<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-size:12.0pt; color:black">What EPICS/Kubernetes integration problems have you encountered and solved?</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">I am mainly looking to compare experiences and learn what patterns are working well elsewhere in the community.</span></p>
</div>
<div style="margin-top:12.0pt; margin-bottom:12.0pt">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">&nbsp;</span></p>
<div id="x_x_Signature">
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt; color:black">Cheers,</span></p>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="color:black">Ernest Williams<br>
Dept. Head, Controls Software Engineering<br>
Instrumentation Division, Technology Innovation Directorate<br>
SLAC National Laboratory, Stanford University</span></p>
</div>
<p class="x_x_MsoNormal" style="margin-left:.5in"><span style="font-size:12.0pt">&nbsp;</span></p>
</div>
</div>
</div>
</div>
</div>
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
 by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.<br>
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.<br>
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom.<br>


</td></tr></table>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
]]></description>
    </item>

  </channel>
</rss>
<!-- MHonArc v2.6.18 -->
