Get the insider’s tour of the implementation and the technologies used to enable Interactive Charts to plot hundreds of thousands data points and interact with them in real time. The Accelrys R&D Team will explain how the popular Interactive Charts were revamped to meet needs to handle Big Data visualization.
2. The information on the roadmap and future software development efforts are
intended to outline general product direction and should not be relied on in making
a purchasing decision.
3. Agenda
• Interactive charts in 8.5
• Requirements for new charts
• How we got there
– Charting data caching
– Server-side operations
– Charting service in Tomcat
– Binning in XY chart
• Performance comparison of charts in 9.0 vs. 8.5
• XY Chart enhancements
• Going forward
4. Interactive Charts in 8.5
• 8.5 charts are Flash-based
– Fail with large volumes of data
– Poor rendering and interactivity with 10K+ data points
– Not supported on iOS devices
5. New Charting Requirements
• Handle 100K+ data points
• Really interactive, even with large data volumes
• iOS-ready
6. Charting Data Caching
• In 8.5
– Charts create heavy nodes on data records. Writers read data
from data records and generate images
• In 9.0
– Charts write data to cache. Writers read data from cache and
generate chart images
– Minimizes Java/C++ data passing
– More efficient cache serialization
– Performance improvement affects all chart types
8. Server-side Operations
• In 8.5
– Interactive charts are Flash-based - data stored on the server,
processing done on the client
• In 9.0
– Interactive charts are images + JavaScript
– JavaScript translates user actions to web service calls
– Web service re-generates chart image or returns point
information (tooltip, link, HTML attributes)
9. Charting Service in Tomcat
• Initially, charting service was a protocol
• However…
– AEP server was overload with unnecessary scisvr processes
– Tomcat is part of standard AEP deployment
– Charting code is Java-based
– Java classes remain in Tomcat
– Response time and throughput of charting operations in Tomcat
meet requirements
• Decision: move charting service to Tomcat
12. Interactive Charting Architecture
scisvr Web Browser User
2. Generate initial chart 3. User action
5. Authenticate
6. Read
7. Regenerate chart
Charting Cache Tomcat Apache
13. Binning in XY Chart
• Binning only with large number of data points
• Binning on initial chart generation and on zoom
– Chart area is a grid of 3x3 pixel bins
– Bins filled with data points
– Two caches - all points and top points
• Top points cache used with most operations
• Only top points are drawn
• On zoom data is re-binned
14. Performance of XY Charts in 9.0 vs. 8.5
18
16
14
Response time (sec)
12
10
8
6
4
Failed
Failed
Failed
2
0
100 10000 100000 100 10000 100000 100 10000 100000 100 10000 100000
Protocol Run Browser Load Single Click Selection Multiple Selection
Response time in 8.5 0.05 1.5 16 0.5 10 0.5 0.5 0.5 13
Response time in 9.0 0.05 1 9 0.01 0.01 0.01 0.02 0.03 0.03 0.03 0.035 0.05
15. Other XY Chart Enhancements
• New toolbar
– Select
– Zoom
– Pan
– Reset
• Keyboard shortcuts
• Extended Scriptable Chart API
16. Demo
• Charts in 8.5 vs. 9.0
• New XY Chart features
17. Charts Using New Architecture
• XY Chart
• XY Chart (Categorical) – new!
• Histograms (Numerical and Categorical)
• Bar Chart
• Pie Chart
• Line Chart
• ...
18. Going Forward
• Convert remaining charts to new architecture
• Further optimizations
• HTML5
19. Summary
• Many charts in 9.0 use new charting architecture
• Converted charts handle 100K+ data points
• Related Tech Summit Sessions:
– (ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their
Impact on Administrators