asynchronous readers and writers
play

Asynchronous Readers and Writers A Half-Synchronous Operator - PowerPoint PPT Presentation

Asynchronous Readers and Writers A Half-Synchronous Operator Overview Introduction of the together with the and ! and ? versus and and using Design Level Semantics of , and Example Application The Future


  1. Asynchronous Readers and Writers A Half-Synchronous Operator

  2. Overview Introduction of the ó together with the ¡ and ¿ ! and ? versus ¡ and ¿ ✌ ¡ and ¿ using ♥ Design Level Semantics of ó , ¡ and ¿ Example Application The Future AsynchronousReaders and Writers August 23, 2016 2 / 22

  3. Introduction, system overview AsynchronousReaders and Writers August 23, 2016 3 / 22

  4. ➓ ➓ ➓ ➓ Introduction ➓ Purpose: Asynchronous Writing and Reading. AsynchronousReaders and Writers August 23, 2016 4 / 22

  5. ➓ ➓ ➓ Introduction ➓ Purpose: Asynchronous Writing and Reading. ➓ In CSP writing over a channel is restricted to two processes interacting synchronously via an action containing the ! and the ? . AsynchronousReaders and Writers August 23, 2016 4 / 22

  6. ➓ ➓ Introduction ➓ Purpose: Asynchronous Writing and Reading. ➓ In CSP writing over a channel is restricted to two processes interacting synchronously via an action containing the ! and the ? . ➓ Proposal: a half-synchronous action which allows a process to write a value x over a channel c , AsynchronousReaders and Writers August 23, 2016 4 / 22

  7. ➓ Introduction ➓ Purpose: Asynchronous Writing and Reading. ➓ In CSP writing over a channel is restricted to two processes interacting synchronously via an action containing the ! and the ? . ➓ Proposal: a half-synchronous action which allows a process to write a value x over a channel c , ➓ without the requirement that the reading processes must be in a state where they can read the value x over a channel c . AsynchronousReaders and Writers August 23, 2016 4 / 22

  8. Introduction ➓ Purpose: Asynchronous Writing and Reading. ➓ In CSP writing over a channel is restricted to two processes interacting synchronously via an action containing the ! and the ? . ➓ Proposal: a half-synchronous action which allows a process to write a value x over a channel c , ➓ without the requirement that the reading processes must be in a state where they can read the value x over a channel c . ➓ Together with a half-synchronous parallel alphabetised operator. AsynchronousReaders and Writers August 23, 2016 4 / 22

  9. ➓ ➓ ➓ Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : AsynchronousReaders and Writers August 23, 2016 5 / 22

  10. ➓ ➓ Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : ➓ it eases the complexity of the design eliminating arguably complex process specifications: AsynchronousReaders and Writers August 23, 2016 5 / 22

  11. ➓ ➓ Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : ➓ it eases the complexity of the design eliminating arguably complex process specifications: - it is not necessary to use a buffer process in the model to achieve asynchronous writing and reading, AsynchronousReaders and Writers August 23, 2016 5 / 22

  12. ➓ ➓ Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : ➓ it eases the complexity of the design eliminating arguably complex process specifications: - it is not necessary to use a buffer process in the model to achieve asynchronous writing and reading, - the writes ( ¡ ) and reads ( ¿ ) are asynchronous, which makes it possible to have an order of writes and reads that, if synchronous ( ! , ? ), would lead to a deadlock, AsynchronousReaders and Writers August 23, 2016 5 / 22

  13. ➓ Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : ➓ it eases the complexity of the design eliminating arguably complex process specifications: - it is not necessary to use a buffer process in the model to achieve asynchronous writing and reading, - the writes ( ¡ ) and reads ( ¿ ) are asynchronous, which makes it possible to have an order of writes and reads that, if synchronous ( ! , ? ), would lead to a deadlock, ➓ by reducing the number of actions involved in this asynchronous writing and reading of the processes, improves the performance of the periodic hard real-time application, AsynchronousReaders and Writers August 23, 2016 5 / 22

  14. Introduction Advantages of the half-synchronous operator ó with half- synchronous actions containing ¡ or ¿ : ➓ it eases the complexity of the design eliminating arguably complex process specifications: - it is not necessary to use a buffer process in the model to achieve asynchronous writing and reading, - the writes ( ¡ ) and reads ( ¿ ) are asynchronous, which makes it possible to have an order of writes and reads that, if synchronous ( ! , ? ), would lead to a deadlock, ➓ by reducing the number of actions involved in this asynchronous writing and reading of the processes, improves the performance of the periodic hard real-time application, ➓ in a distributed computing system, for example a processor-coprocessor combination, the waiting time of the processor-coprocessor can be reduced. AsynchronousReaders and Writers August 23, 2016 5 / 22

  15. Overview Introduction of the ó together with the ¡ and ¿ ! and ? versus ¡ and ¿ ✌ ¡ and ¿ using ♥ Design Level Semantics of ó , ¡ and ¿ Example Application The Future AsynchronousReaders and Writers August 23, 2016 6 / 22

  16. ✏ Ñ Ñ Ñ Ñ ✏ Ñ Ñ Ñ Ñ ✏ ó Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ! and ? versus ¡ and ¿ Listing 1: Deadlock due to synchronous writing and reading A ✏ c ! x 1 Ñ c ! y 1 Ñ d ? x 2 Ñ d ? y 2 Ñ SKIP B ✏ c ? x 1 Ñ d ! x 2 Ñ c ? y 1 Ñ d ! y 2 Ñ SKIP AB ✏ A ⑤⑤ B AsynchronousReaders and Writers August 23, 2016 7 / 22

  17. ✏ Ñ Ñ Ñ Ñ ✏ Ñ Ñ Ñ Ñ ✏ ó Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ! and ? versus ¡ and ¿ Listing 1: Deadlock due to synchronous writing and reading A ✏ c ! x 1 Ñ c ! y 1 Ñ d ? x 2 Ñ d ? y 2 Ñ SKIP B ✏ c ? x 1 Ñ d ! x 2 Ñ c ? y 1 Ñ d ! y 2 Ñ SKIP AB ✏ A ⑤⑤ B trace: c . x 1 AsynchronousReaders and Writers August 23, 2016 7 / 22

  18. Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ ! and ? versus ¡ and ¿ Listing 1: Deadlock due to synchronous writing and reading A ✏ c ! x 1 Ñ c ! y 1 Ñ d ? x 2 Ñ d ? y 2 Ñ SKIP B ✏ c ? x 1 Ñ d ! x 2 Ñ c ? y 1 Ñ d ! y 2 Ñ SKIP AB ✏ A ⑤⑤ B trace: c . x 1 Listing 2: No deadlock due to asynchronous writing and reading A ✏ c ¡ x 1 Ñ c ¡ y 1 Ñ d ¿ x 2 Ñ d ¿ y 2 Ñ SKIP B ✏ c ¿ x 1 Ñ d ¡ x 2 Ñ c ¿ y 1 Ñ d ¡ y 2 Ñ SKIP AB ✏ A ó B AsynchronousReaders and Writers August 23, 2016 7 / 22

  19. ! and ? versus ¡ and ¿ Listing 1: Deadlock due to synchronous writing and reading A ✏ c ! x 1 Ñ c ! y 1 Ñ d ? x 2 Ñ d ? y 2 Ñ SKIP B ✏ c ? x 1 Ñ d ! x 2 Ñ c ? y 1 Ñ d ! y 2 Ñ SKIP AB ✏ A ⑤⑤ B trace: c . x 1 Listing 2: No deadlock due to asynchronous writing and reading A ✏ c ¡ x 1 Ñ c ¡ y 1 Ñ d ¿ x 2 Ñ d ¿ y 2 Ñ SKIP B ✏ c ¿ x 1 Ñ d ¡ x 2 Ñ c ¿ y 1 Ñ d ¡ y 2 Ñ SKIP AB ✏ A ó B many possible traces, for example: c ¡ x 1 Ñ c ¡ y 1 Ñ c ¿ x 1 Ñ d ¡ x 2 Ñ c ¿ y 1 Ñ d ¡ y 2 Ñ d ¿ x 2 Ñ d ¿ y 2 Ñ SKIP AsynchronousReaders and Writers August 23, 2016 7 / 22

  20. Overview Introduction of the ó together with the ¡ and ¿ ! and ? versus ¡ and ¿ ✌ ¡ and ¿ using ♥ Design Level Semantics of ó , ¡ and ¿ Example Application The Future AsynchronousReaders and Writers August 23, 2016 8 / 22

  21. ✌ ¡ and ¿ using ♥ G 1 c ¡ x 1 c ¡ y 1 d ¿ x 2 d ¿ y 2 G 2 c ¡ y 1 c ¡ x 1 c ¿ x 1 c ¿ x 1 c ¿ x 1 c ¡ y 1 d ¡ x 2 d ¡ x 2 d ¡ x 2 c ¡ y 1 d ¿ x 2 c ¿ y 1 c ¿ y 1 c ¿ y 1 d ¿ x 2 ✌ G 1 ♥ G 2 d ¡ y 2 d ¡ y 2 d ¡ y 2 d ¿ x 2 d ¿ y 2 AsynchronousReaders and Writers August 23, 2016 9 / 22

  22. Overview Introduction of the ó together with the ¡ and ¿ ! and ? versus ¡ and ¿ ✌ ¡ and ¿ using ♥ Design Level Semantics of ó , ¡ and ¿ Example Application The Future AsynchronousReaders and Writers August 23, 2016 10 / 22

  23. Ñ Ñ Ñ Ñ ⑤⑤ ⑤⑤ Ñ Ñ ó Design Level Separation of write/read actions in time AsynchronousReaders and Writers August 23, 2016 11 / 22

  24. Ñ Ñ Ñ Ñ ⑤⑤ ⑤⑤ Ñ Ñ ó Design Level Separation of write/read actions in time Needs a Buffer AsynchronousReaders and Writers August 23, 2016 11 / 22

  25. Ñ Ñ ó Design Level Separation of write/read actions in time Needs a Buffer A = write . x Ñ SKIP B = read . x Ñ SKIP Buffer = write . x Ñ read . x Ñ SKIP AB = A ⑤⑤ B ⑤⑤ Buffer AsynchronousReaders and Writers August 23, 2016 11 / 22

  26. Design Level Separation of write/read actions in time Needs a Buffer A = write . x Ñ SKIP B = read . x Ñ SKIP Buffer = write . x Ñ read . x Ñ SKIP AB = A ⑤⑤ B ⑤⑤ Buffer A = c ¡ x Ñ SKIP B = c ¿ x Ñ SKIP = A ó B AB AsynchronousReaders and Writers August 23, 2016 11 / 22

  27. Overview Introduction of the ó together with the ¡ and ¿ ! and ? versus ¡ and ¿ ✌ ¡ and ¿ using ♥ Design Level Semantics of ó , ¡ and ¿ Example Application The Future AsynchronousReaders and Writers August 23, 2016 12 / 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend