path: root/c-user/symmetric_multiprocessing_services.rst
diff options
Diffstat (limited to '')
1 files changed, 4 insertions, 9 deletions
diff --git a/c-user/symmetric_multiprocessing_services.rst b/c-user/symmetric_multiprocessing_services.rst
index 1fcc361..7ddfd33 100644
--- a/c-user/symmetric_multiprocessing_services.rst
+++ b/c-user/symmetric_multiprocessing_services.rst
@@ -185,10 +185,8 @@ clusters. Clusters with a cardinality of one are partitions. Each cluster is
owned by exactly one scheduler instance.
Clustered scheduling helps to control the worst-case latencies in
-multi-processor systems, see *Brandenburg, Bjorn B.: Scheduling and Locking in
-Multiprocessor Real-Time Operating Systems. PhD thesis,
-2011.*. The goal is to
-reduce the amount of shared state in the system and thus prevention of lock
+multi-processor systems, see :cite:`Brandenburg:2011:SL`. 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 scheduling it is possible to honour the
cache topology of a system and thus avoid expensive cache synchronization
@@ -204,7 +202,7 @@ available
- semaphores using the :ref:`Priority Inheritance` protocol (priority
boosting), and
-- semaphores using the :ref:`Multiprocessor Resource Sharing Protocol` (MrsP).
+- semaphores using the Multiprocessor Resource Sharing Protocol :cite:`Burns:2013:MrsP`.
The clustered scheduling approach enables separation of functions with
real-time requirements and functions that profit from fairness and high
@@ -235,10 +233,7 @@ priority queue in the FIFO is selected. Then the first priority queue is
removed from the FIFO. In case the previously first priority queue is not
empty, then it is appended to the FIFO. So there is FIFO fairness with respect
to the highest priority task of each scheduler instances. See also
-*Brandenburg, Bjorn B.: A fully preemptive multiprocessor semaphore protocol
-for latency-sensitive real-time applications. In Proceedings of the 25th
-Euromicro Conference on Real-Time Systems (ECRTS 2013), pages 292-302,
Such a two level queue may need a considerable amount of memory if fast enqueue
and dequeue operations are desired (depends on the scheduler instance count).