Simple asynchronous remote invocations for distributed real-time Java

747 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
747
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Simple asynchronous remote invocations for distributed real-time Java

  1. 1. Simple Asynchronous Remote Invocations for Distributed Real-Time Java* Pablo Basanta-Val, Marisol García- Valls, and Iria Estévez-AyresJornadas de tiempo real 2010- Granada 4 y 5 de febrero de 2010 * Trabajo publicado en IEEE Trans. on Industrial Informatics
  2. 2. Outline• Context – Synchronous models • Synchronous remote invocations – Proposed asynchronous model • Client-side remote invocations • Server-side remote invocations• Some results• Conclusions and future work JTR-2010 2
  3. 3. Real-time Java in industrial environments• The use of Java in industrial application is challenging – E.g. garbage collection, byte-code portability• Giving a well-balanced to these challenges is essential to be have a successful technology – The better the architectonical challenges are solved, the better infrastructure available JTR-2010 3
  4. 4. Asynchronous communications for distributed real-time Java• Idea: • “A remote invocation where a client does not wait for a response of a server” • Ideal for signaling purposes• Current status: • DRTSJ supports distributed event – However they are implemented using synchronous remote invocations • CORBA supports the model – One-way invocations and AMI (Asynchronous Method Invocation) • Solutions well-known in other domains [Volker 06] – FIRE-AND-FORGET, SYNC-WITH-SERVER, POLL-OBJECT, and RESULT-CALLBACK• Therefore: • Lets add some [simple] support for [simple] cases in DRT-Java [ FIRE-AND-FORGET, SYNC-WITH-SERVER, RESULT-CALLBACK, and POLL-OBJECT] JTR-2010 4
  5. 5. Current [synchronous]remote invocations Model: (1→2→3→4→5→6→7) Invocation Rate: I .R.sync = C1 +C2 +C3 +C14 +C5 +C6 +C7 5 JTR-2010
  6. 6. Client-side asynchronousremote invocations Model: ((1→2→6→7)||(3→4→5)). Invocation Rate: I .R.client − async = 1 C1 + C 2 + C6 + C7 JTR-2010 6
  7. 7. Server-side asynchronousremote invocations Model: ((1→2→3’→5’’→6→7)||(3′→4→5’)). Invocation Rate: I .R.server − async = C1 +C2 +C1+C3 + C5 6 JTR-2010 7
  8. 8. Middleware Specific Extensions• Language (RMI Spec) issues – Changes in the semantics of a remote exception ( they are not transferred back in async. Invocations)• New methods required and policies – setAync, getAsync methods – A-A, A-S, S-A and S-S JTR-2010 8
  9. 9. Middleware Specific Extensions• Changes in the JRMP protocol RTCall RTACK• Client and server side implementation diagrams client server JTR-2010 9
  10. 10. Empirical results• Goals – I.R.sync vs I.R.async – Client vs server async• Taking into account • response time, • memory allocated, • bandwidth JTR-2010 10
  11. 11. Best platform results: <0,0,0> BandwidthResponse-time Memory JTR-2010 11
  12. 12. Response-time: data,<latency,work>Client-side Asynch <0-2 ms,0 >, Server-side Asynch <0,0-2 ms > Server-side Asynch <0-2 ms ,0 >Client-side Asynch <0,0-2 ms > 8 4.5 2.4 7 N.I.R. 4 N.I.R. 2.2 N.I.R 6 3.5 2 5 96 77 1.8 1 4 3 58 20 1 39 39 20 1.6 3 Sent Do ubles 58 39 2.5 20 77 58 1 1.4Sent Do ubles 2 96 77 0 1000 2000 delay + Sent Do ubles 2 96 2000 1000 0 delay wo rk 2000 1000 wo rk 0 2-3 3-4 4-5 5-6 6-7 7-8 2-2.5 2.5-3 3-3.5 3.5-4 4-4.5 1.4-1.6 1.6-1.8 1.8-2 2-2.2 2.2- JTR-2010 12
  13. 13. Client vs. Server-side async N.I.R. client-side/N.I.R. server-side<0-2000us,0> N.I.R. client-side/N.I.R. server-side<0,0-2000 us> 6 1.8 5 5-6 1.6 4 4-5 1.6-1.8ratio 3 Ratio 1.4 1.4-1.6 3-4 2 1.2 1.2-1.4 1 2-3 1 1-1.2 1 1-2 11 21 2000 1 11 31 21 31 2000 41 51 1000 41 61 51 61 1000 71 81 0 delay 71 81 work 0 Sent Doubles 91 91 Sent Doubles JTR-2010 13
  14. 14. Conclusions and future work• Analyzed the integration of asynchronism in DRTJava – Changes required not too complex – Client response-time strongly depends on the [sync, async]remote invocation model used• Ongoing work – POOL-OBJECT and RESULT-CALLBACK – IEC-61499 and RTSJ JTR-2010 14

×