1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: PV Update performance |
From: | <[email protected]> |
To: | <[email protected]>, <[email protected]>, <[email protected]> |
Date: | Tue, 11 Nov 2014 09:46:29 +0000 |
Slight miscalculation in Nick’s analysis (3ms per update of 470 PVs is 6 us per PV per update), but the essential point remains. I would guess that 6us for
a single PV update including the associated network traffic is pretty reasonable. To update 24,000 pvs at 120Hz is ... demanding. That’s 350ns per PV per update. Um. Simply throwing EPICS at this challenge isn’t going to work. I’d start with an end-to-end analysis of what you’re trying to achieve. I imagine that these
PVs are actually distributed across a network of machines, I think you’ll have to consider where the data is going to go, and how it’s going to be stored. You may want to separate the data capture part of the problem from the control part. I’m reluctant to say more without more insight into what you’re doing,
but it does sound like EPICS isn’t the complete answer! From: [email protected] [mailto:[email protected]]
Hi, If there is only one core involved, and if you are really updating each PV every cycle, then currently each of your each of PV updates takes about 100 nsec
(3msec/60/470), which is only 125 clock cycle times. I suspect you aren’t updating every one – in my experience a record update takes a few microseconds per core, depending on the architecture). They key to this is the essence of your system design. If each of your 24000 PV’s have to be updated at 120 Hz, you can’t possibly do it on a single VME6100.
You either have to ensure they only do any processing when they change by a significant amount, or you need more processing power – either via additional CPUs, or maybe a front-end FPGA. You can’t do the impossible. Cheers, Nick Rees Principal Software Engineer Phone: +44 (0)1235-778430 Diamond Light Source Fax: +44 (0)1235-446713 From:
김영욱 [mailto:[email protected]]
Hello all, i'm working lately on an EPICS machine, where the number of PVs is 470 at the moment and they need to be updated
regularly at 60Hz. The EPICS machine consists of the stuffs as: . VME6100 (Mototorla VME CPU @1.25GHz) . RTEMS . EPICS (base-R3-14-12) Currently all these updates for the 470 PVs is taken about 2-3.5 msec; which needs to be improved in a great
manner for my 'real' project with about 23,980 PVs, to be updated regularly at 120Hz, after all. Is here anyone who can give me some advice on this 'huge' improvement i need? Best Regards Young-Wuk KIM -- 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. |