On 09.12.2012 15:59, Jack Smith wrote:
>> On Fri, Nov 23, 2012 at 2:48 PM, Ralph Lange <Ralph.Lange@gmx.de> 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 :
>> Real-time threadShow routines
>> Enhanced threadShow functions that print LWP ID, scheduling policy, and CPU
>> 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 188.8.131.52 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.
> I guess the purpose of MCoreUtils is to make Linux system (RT or not)
> more deterministic. Right?
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?
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 , describing
how to switch an IOC to use Posix real-time scheduling under Linux.
- Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao
- Utilities for EPICS on Multi-Core Linux Ralph Lange
- Re: Utilities for EPICS on Multi-Core Linux Jack Smith
- Navigate by Date:
Alcatel ACT 600T and 600TH turbo pumps Pierrick Hanlet
Re: Tektronix 3014 Tracing Problem Nicholas P. DiMonte
- Navigate by Thread:
Re: Utilities for EPICS on Multi-Core Linux Jack Smith
Re: Utilities for EPICS on Multi-Core Linux Shen, Guobao