Presentation is loading. Please wait.

Presentation is loading. Please wait.

Håkan Sundell, Chalmers University of Technology 1 Space Efficient Wait-free Buffer Sharing in Multiprocessor Real-time Systems Based.

Similar presentations


Presentation on theme: "Håkan Sundell, Chalmers University of Technology 1 Space Efficient Wait-free Buffer Sharing in Multiprocessor Real-time Systems Based."— Presentation transcript:

1 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 1 Space Efficient Wait-free Buffer Sharing in Multiprocessor Real-time Systems Based on Timing Information Håkan Sundell Philippas Tsigas Computing Science Chalmers University of Technology

2 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 2 Schedule Real-Time System Synchronization Algorithm Bounding Examples Conclusions Future work

3 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 3 Real-Time System Multiprocessor system Interconnection Network Shared memory, possibly non- uniform CPU

4 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 4 Real-Time System Cooperating Tasks Timing constraints Need synchronization –Shared Data Objects In this paper: Atomic Shared Buffer

5 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 5 Synchronization Synchronization methods –Lock Uses semaphores, spinning, disabling interrupts Negative –Blocking –Priority inversion –Risk of deadlock Positive –Execution time guarantees easy to do, but pessimistic Take lock... do operation... Release lock

6 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 6 Synchronization Synchronization methods –Lock-free Retries until not interfered by other operations Usually uses some kind of shared flag variable Write flag with unique value... do operation... Check flag value and maybe retry

7 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 7 Synchronization Synchronization methods –Lock-free Negative –No execution time guarantees, can continue forever - thus can cause starvation Positive –Avoids blocking and priority inversion –Avoids deadlock –Fast execution when low contention

8 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 8 Synchronization Synchronization methods –Wait-free Uses atomic synchronization primitives Uses shared memory Negative –Complex algorithms –Memory consuming Test&SetCompare&SwapCopyingHelpingAnnouncingSplitoperation???

9 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 9 Synchronization Synchronization methods –Wait-free Positive –Execution time guarantees –Fast execution –Avoids blocking and priority inversion –Avoids deadlock –Avoids starvation –Same implementation on both single- and multiprocessor systems

10 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 10 Algorithm Constructing an Atomic Buffer N-readers and N-writers Constraints, non-uniform memory Constructing of simple components - register that can be written by processor i and read by processor j

11 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 11 Algorithm Wait-Free Atomic Shared Buffer by Vitanyi et. al A Matrix of 1-reader 1-writer registers... R 21 R 22 … R 11 R 12... Readers Writers R ij - written by i read by j

12 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 12 Algorithm One reader/writer task on each processor Each registers contains a value/tag pair encoded as one value Readers scans its column for highest tag and returns the corresponding value Writers scan its column and writes the next tag together with the new value to its row

13 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 13 Algorithm The tag increases with each write operation Unbounded maximum size for the tag field in the value/tag pair Assume 8 writer tasks with 10 ms period –Maximum tag after one hour is 2880000 which needs 22 bits! Memory size is very important, 8 bit computers are still most common

14 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 14 Bounding Recycling of the tags is necessary Timing information is available in real-time systems (J. Chen, A. Burns) Analysing the maximum difference between tags possible observable by a task at two consecutive invocations of the algorithm Using notations from the standard response time analysis for periodic fixed priority scheduling

15 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 15 Bounding In any possible execution: Where –T max is the longest period –R max is the longest response time –T wr is the period of the writer tasks

16 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 16 Bounding Analyse how to recycle the tags Newer tags can restart from zero when we reach a certain tag value In order to be able to decide if newer tags are newer we need to have:

17 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 17 Examples Example Task Scenario on 8 processors TaskPeriodTaskPeriod Wr11000Rd1500 Wr2900Rd2450 Wr3800Rd3400 Wr4700Rd4350 Wr5600Rd5300 Wr6500Rd6250 Wr7400Rd7200 Wr8300Rd8150

18 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 18 Examples T max = R max = 1000 MaxTagDiff = 38 TagFieldSize = 76 TagFieldBits = 7 Unbounded algorithm would have reached tag 68400 in one hour, needing >16 bits

19 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 19 Conclusions We have presented an atomic n-reader n- writer shared buffer. Usage of timing information enables us to recycle the tags and thus bound the memory usage The modified algorithm has small space requirements

20 Håkan Sundell, phs@cs.chalmers.se Chalmers University of Technology 20 Future work Investigations of other wait-free synchronization methods Implementations in RTOS kernels


Download ppt "Håkan Sundell, Chalmers University of Technology 1 Space Efficient Wait-free Buffer Sharing in Multiprocessor Real-time Systems Based."

Similar presentations


Ads by Google