1 / 17

HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA. Matej Sekoranja, Mark Plesko J. Stefan Institute, Slovenia, e-mail: matej.sekoranja@ijs.si, http://kgb.ijs.si/KGB Marcel Grunder Paul Scherrer Institute, Switzerland, e-mail: marcel.grunder@psi.ch. Times have changed…. 1996. 2000.

euclid
Download Presentation

HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HIGH PERFORMANCE CONTROL APPLICATIONSWITH JAVA Matej Sekoranja, Mark Plesko J. Stefan Institute, Slovenia, e-mail: matej.sekoranja@ijs.si,http://kgb.ijs.si/KGB Marcel Grunder Paul Scherrer Institute, Switzerland, e-mail: marcel.grunder@psi.ch

  2. Times have changed… 1996 2000

  3. Java is state-of-the-art language • Object-oriented • Portable • Multi-threaded • Garbage collected • Dynamically loaded • Exception-handling • Powerful API

  4. … but Java can be slow, too! • Arrays are objects • Runtime checks (nulls, bounds, types) • Precise exception semantics • Small methods, frequent calls (OO programming) • Synchronization costs • Dynamic allocation, garbage collection • Accessing system interface Avoid these peculiarities!

  5. Let’s optimize! • … • Object pooling • Buffering & pre-buffering • … and many more

  6. Synoptic viewer • Displays CS of the Swiss Light Source • CDEV-EPICS communication (JNI used) • Graphics performance – problem !? • Double buffering – not enough! • Additional buffer added – ‘triple buffering’ Result  completely flicker-free drawing Powerful Java APIs make programming easier that ever!

  7. Alarm table • Monitors properties of all devices & reports possible alarm states (alarm = CORBA triggered event) • Approx. 1200 CORBA connections (whole CS of ANKA) • Goal: no blocking at critical situations! • Threads, buffering & pre-buffering, filters Using already optimized Abeans framework Java is able to run multi-connection, multi-threaded & event-enabled applications!

  8. Snapshot • Archiving client • SQL DB access • JDBC used • 100% pure Java & native protocol driver • Buffered transfer (usage of prepared SQL statements) Result  archiving (retrieving & transferring data) whole ANKA CS takes approx. 3s (with normal CS network traffic) Java is capable to do network tasks!

  9. Conclusion

  10. Which Java VM to choose?

  11. HotSpot VM • On-the-fly "adaptive" compilation • Method in-lining • Improved and redesigned object layout • Fast and fully accurate garbage collection • Ultra-fast thread synchronization HotSpot performance

  12. Numerical benchmark

  13. Network performance & scalability benchmark

  14. Memory usage

More Related