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 Ralph Lange
- 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
- Navigate by Date:
- Prev:
RE: Passive Scanning processing Dalesio, Leo
- Next:
Re: Utilities for EPICS on Multi-Core Linux Ralph Lange
- 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
- Navigate by Thread:
- Prev:
Re: Utilities for EPICS on Multi-Core Linux Ralph Lange
- Next:
Re: Utilities for EPICS on Multi-Core Linux Ralph Lange
- 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
|