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: Tue, 11 Dec 2012 23:27:11 +0100
Hi Guobao,

As the subject, the mail body, and the documentation say:     This is
for *LINUX*.
For the time being, the module only uses Posix calls, and might be
working on other Posix compliant platforms. This is not by specification
but by chance, though, and there are no plans to support anything other
than Linux. Thus the Makefile only creates the Library for Linux platforms.

Or do you refer to running Linux on Apple hardware?!

Cheers,
~Ralph


On 11.12.2012 20:21, Shen, Guobao wrote:
> Hi Ralph,
> After a short try, there are 2 compile problems on my Mac.
> 1. the Mac version of cp command does not support "-T" flag. Either I
> have to change it to use GNU cp, or remove T.
> 2. It compiles and install documentation only. No library is produced
> by default.
>
> Guobao
>
>
> On 12/10/12 4:21 AM, Ralph Lange wrote:
>> 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
Re: Utilities for EPICS on Multi-Core Linux Ralph Lange
Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao

Navigate by Date:
Prev: Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao
Next: "Connection refused" when running Ethernet/RS232 application 张德敏
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 Shen, Guobao
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 ·