[PATCH 1/4] smp: Documentation

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 4 06:35:22 UTC 2015



On 03/09/15 16:59, Gedare Bloom wrote:
> On Thu, Sep 3, 2015 at 8:01 AM, Sebastian Huber
> <sebastian.huber at embedded-brains.de>  wrote:
>> >---
>> >  doc/user/smp.t | 38 ++++++++++++++++++++++++++++++++++++++
>> >  1 file changed, 38 insertions(+)
>> >
>> >diff --git a/doc/user/smp.t b/doc/user/smp.t
>> >index 1b4849a..ba700e0 100644
>> >--- a/doc/user/smp.t
>> >+++ b/doc/user/smp.t
>> >@@ -147,6 +147,44 @@ another processor.  So if we enable interrupts during this transition we have
>> >  to provide an alternative task independent stack for this time frame.  This
>> >  issue needs further investigation.
>> >
>> >+ at subsection Clustered/Partitioned Scheduling
>> >+
>> >+We have clustered scheduling in case the set of processors of a system is
>> >+partitioned into non-empty pairwise-disjoint subsets. These subsets are called
>> >+clusters.  Clusters with a cardinality of one are partitions.  Each cluster is
>> >+owned by exactly one scheduler instance.
>> >+
>> >+Clustered/partitioned scheduling helps to control the worst-case latencies in
>> >+the system, see @cite{Brandenburg, Björn B.: Scheduling and Locking in
>> >+Multiprocessor Real-Time Operating Systems. PhD thesis, 2011.
>> >+ at uref{http://www.cs.unc.edu/~bbb/diss/brandenburg-diss.pdf}}.  The goal is to
>> >+reduce the amount of shared state in the system and thus prevention of lock
>> >+contention. Modern multi-processor systems tend to have several layers of data
>> >+and instruction caches. With clustered/partitioned scheduling it is possible to
>> >+honour the cache topology of a system and thus avoid expensive cache
>> >+synchronization traffic.  It is easy to implement.  The problem is to provide
>> >+synchronization primitives for inter-partition synchronization. In RTEMS there
>> >+are currently three means available
>> >+
>> >+ at itemize @bullet
>> >+ at item events,
>> >+ at item message queues, and
>> >+ at item semaphores using the @ref{Semaphore Manager Multiprocessor Resource
>> >+Sharing Protocol} (MrsP).
>> >+ at end itemize
>> >+
>> >+The clustered/partitioned scheduling approach enables separation of functions
>> >+with real-time requirements and functions that profit from fairness and high
>> >+throughput provided the scheduler instances are fully decoupled and adequate
>> >+intra-partition synchronization primitives are used.  This is work in progress.
> inter-partition? inter-partition doesn't make sense. Also, to be
> general, it should really be inter-cluster, which goes for the above
> use of "inter-partition" as well. Because of the use of partition in
> Partitioned Scheduling, we have to be careful about the use of
> partition in other places related to SMP scheduling, unfortunately.
>

Would it be better to replace "clustered/partitioned scheduling" with 
"clustered scheduling" throughout the manual and just mention that 
partitions are clusters with exactly one processor? So we have 
"inter-cluster synchronization" for synchronization that involves more 
than more cluster and "intra-cluster synchronization" for 
synchronization that involves exactly one cluster.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list