+ All Categories
Home > Documents > HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Date post: 20-Jan-2016
Category:
Upload: euclid
View: 26 times
Download: 0 times
Share this document with a friend
Description:
HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA. Matej Sekoranja, Mark Plesko J. Stefan Institute, Slovenia, e-mail: [email protected], http://kgb.ijs.si/KGB Marcel Grunder Paul Scherrer Institute, Switzerland, e-mail: [email protected]. Times have changed…. 1996. 2000. - PowerPoint PPT Presentation
17
HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA Matej Sekoranja, Mark Plesko J. Stefan Institute, Slovenia, e-mail: [email protected], http://kgb.ijs.si/KGB Marcel Grunder Paul Scherrer Institute, Switzerland, e-mail: [email protected]
Transcript
Page 1: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

HIGH PERFORMANCE CONTROL APPLICATIONS WITH

JAVA

Matej Sekoranja, Mark PleskoJ. Stefan Institute, Slovenia, e-mail: [email protected], http://kgb.ijs.si/KGB

Marcel GrunderPaul Scherrer Institute, Switzerland, e-mail: [email protected]

Page 2: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Times have changed…

1996 2000

Page 3: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Java is state-of-the-art language

Object-oriented Portable Multi-threaded Garbage collected Dynamically loaded Exception-handling Powerful API

Page 4: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

… 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!

Page 5: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Let’s optimize!

… Object pooling Buffering & pre-buffering … and many more

Page 6: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

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’

Powerful Java APIs make programming easier that ever!

Result completely flicker-free drawing

Page 7: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA
Page 8: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

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

Java is able to run multi-connection, multi-threaded & event-enabled applications!

Using already optimized Abeans framework

Page 9: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA
Page 10: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

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!

Page 11: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA
Page 12: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Conclusion

Page 13: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Which Java VM to choose?

Page 14: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

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

Page 15: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Numerical benchmark

Page 16: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Network performance & scalability benchmark

Page 17: HIGH PERFORMANCE CONTROL APPLICATIONS WITH JAVA

Memory usage


Recommended