EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Utilities for EPICS on Multi-Core Linux
From: Ralph Lange <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Mon, 10 Dec 2012 10:21:43 +0100
Hi Jack,

On 09.12.2012 15:59, Jack Smith wrote:
>> On Fri, Nov 23, 2012 at 2:48 PM, Ralph Lange <[email protected]> wrote:
>> MCoreUtils - Utilities for EPICS on Multi-Core Linux
>>
>> I recently started working on a collection of useful stuff for running IOCs
>> on multi-core (RT or not) Linux architectures. (*)
>>
>> The first two modules are now available on SourceForge [1]:
>>
>> Real-time threadShow routines
>> Enhanced threadShow functions that print LWP ID, scheduling policy, and CPU
>> affinity.
>>
>> Rule-based setting of real-time properties
>> Pattern matching engine that allows to set real-time properties of EPICS
>> threads (scheduling policy, priority, and CPU affinity) by regular
>> expression matching on thread names. Rules can be set in a config file or
>> from the iocShell, and will be applied to any thread started through the
>> libCom/OSI API of EPICS Base. This allows to restrict the complete IOC onto
>> a subset of CPUs, dedicate CPUs to specific (driver) threads, fine-tune
>> policies and priorities, etc.
>>
>> MCoreUtils need EPICS Base 3.15.0.1 or later, on a Linux platform.
>>
>> This project is in an early stage.
>> I know that more and more EPICS sites are using this family of platforms and
>> have to cope with similar things, so I would like to invite everybody to
>> step forward with ideas and suggestions (and code!). I hope we can manage to
>> minimize parallel developments, and combine efforts for a better real-time
>> behaviour and performance of EPICS.
>>
>> Cheers,
>> ~Ralph
>>
> I guess the purpose of MCoreUtils is to make Linux system (RT or not)
> more deterministic. Right?

Correct.
ITER's fast controllers run a RT-Linux (RHEL-based MRG-R), but the
general direction is a) to get more over-all deterministic behavior, and
b) to allow to run specific RT applications on dedicated cores, i.e.
restrict the IOC to a subset of the available cores.

> For EPICS base 3.14.x, how do the IOCs' threads use the CPU resources
> on a multi-core Linux system? Do the threads just randomly pick up any
> available CPU resource?

Basically, yes.
The default for EPICS Base is to not use Posix real-time scheduling, so
all EPICS IOC threads are using the Linux default scheduler, which will
distribute them onto available CPU resources according to its
implemented strategy. Which of course - strictly speaking - is not
randomly, but looks a lot like it... ;-)

There's a good page on the EPICS Wiki by Till Straumann [1], describing
how to switch an IOC to use Posix real-time scheduling under Linux.

Cheers,
~Ralph

[1]
https://wiki-ext.aps.anl.gov/epics/index.php/How_To_Use_Posix_Thread_Priority_Scheduling_under_Linux


Replies:
Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao
References:
Utilities for EPICS on Multi-Core Linux Ralph Lange
Re: Utilities for EPICS on Multi-Core Linux Jack Smith

Navigate by Date:
Prev: Alcatel ACT 600T and 600TH turbo pumps Pierrick Hanlet
Next: Re: Tektronix 3014 Tracing Problem Nicholas P. DiMonte
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Utilities for EPICS on Multi-Core Linux Jack Smith
Next: Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·