Changeset cee82df in rtems


Ignore:
Timestamp:
Sep 2, 2015, 2:36:56 PM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
c4db18a
Parents:
06496fb
git-author:
Sebastian Huber <sebastian.huber@…> (09/02/15 14:36:56)
git-committer:
Sebastian Huber <sebastian.huber@…> (09/04/15 11:14:50)
Message:

smp: Documentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/user/smp.t

    r06496fb rcee82df  
    147147to provide an alternative task independent stack for this time frame.  This
    148148issue needs further investigation.
     149
     150@subsection Clustered Scheduling
     151
     152We have clustered scheduling in case the set of processors of a system is
     153partitioned into non-empty pairwise-disjoint subsets. These subsets are called
     154clusters.  Clusters with a cardinality of one are partitions.  Each cluster is
     155owned by exactly one scheduler instance.
     156
     157Clustered scheduling helps to control the worst-case latencies in
     158multi-processor systems, see @cite{Brandenburg, Björn B.: Scheduling and
     159Locking in Multiprocessor Real-Time Operating Systems. PhD thesis, 2011.
     160@uref{http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf}}.  The goal is to
     161reduce the amount of shared state in the system and thus prevention of lock
     162contention. Modern multi-processor systems tend to have several layers of data
     163and instruction caches.  With clustered scheduling it is possible to honour the
     164cache topology of a system and thus avoid expensive cache synchronization
     165traffic.  It is easy to implement.  The problem is to provide synchronization
     166primitives for inter-cluster synchronization (more than one cluster is involved
     167in the synchronization process). In RTEMS there are currently three means
     168available
     169
     170@itemize @bullet
     171@item events,
     172@item message queues, and
     173@item semaphores using the @ref{Semaphore Manager Multiprocessor Resource
     174Sharing Protocol} (MrsP).
     175@end itemize
     176
     177The clustered scheduling approach enables separation of functions with
     178real-time requirements and functions that profit from fairness and high
     179throughput provided the scheduler instances are fully decoupled and adequate
     180inter-cluster synchronization primitives are used.  This is work in progress.
     181
     182For the configuration of clustered schedulers see @ref{Configuring a System
     183Configuring Clustered Schedulers}.
     184
     185To set the scheduler of a task see @ref{Symmetric Multiprocessing Services
     186SCHEDULER_IDENT - Get ID of a scheduler} and @ref{Symmetric Multiprocessing
     187Services TASK_SET_SCHEDULER - Set scheduler of a task}.
    149188
    150189@subsection Scheduler Helping Protocol
Note: See TracChangeset for help on using the changeset viewer.