Upload
accelrys
View
598
Download
1
Embed Size (px)
DESCRIPTION
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.
Citation preview
(ATS04-PLAT07) Interactive Charts Revamped
Olga Ignatova
Senior Manager, Platform R&D
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.
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
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
New Charting Requirements
• Handle 100K+ data points
• Really interactive, even with large data volumes
• iOS-ready
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
• Data caching in 9.0 charts
Demo
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)
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
Response Time of Charting Operations in Tomcat
1 5 10 20 50 1 5 10 20 50 1 5 10 20 50
100 10000 100000
Fetch Tooltip 5.46 17.1 37.44 84.24 265.195 5.616 17.16 37.44 96.72 233.995 5.93 16.38 43.679 102.96 241.8
Select 29.177 63.97 135.74 268.36 725.44 33.23 79.56 162.248 355.687 904.76 47.73 121.67 246 475 1302.54
0
200
400
600
800
1000
1200
1400
Re
spo
nse
tim
e (
ms)
Throughput of Charting Operations in Tomcat
1 5 10 20 50 1 5 10 20 50 1 5 10 20 50
100 10000 100000
Fetch Tooltip 183.15 291.38 267.1 237.42 188.54 178.07 291.38 267.1 206.79 213.68 168.69 305.26 228.94 194.25 206.79
Select 34.27 78.16 73.67 74.53 68.92 30.09 62.84 61.63 56.23 55.26 20.95 41.09 40.57 36.63 38.38
0
50
100
150
200
250
300
350
Thro
ugh
pu
t (r
eq
/se
c)
Interactive Charting Architecture
2. Generate initial chart
Web Browser scisvr
3. User action
Charting Cache
7. Regenerate chart
5. Authenticate
User
6. Read
Tomcat Apache
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
Performance of XY Charts in 9.0 vs. 8.5
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
Faile
d
Faile
d
Faile
d
0
2
4
6
8
10
12
14
16
18
Re
spo
nse
tim
e (
sec)
Other XY Chart Enhancements
• New toolbar
– Select
– Zoom
– Pan
– Reset
• Keyboard shortcuts
• Extended Scriptable Chart API
• Charts in 8.5 vs. 9.0
• New XY Chart features
Demo
• XY Chart
• XY Chart (Categorical) – new!
• Histograms (Numerical and Categorical)
• Bar Chart
• Pie Chart
• Line Chart
• ...
Charts Using New Architecture
Going Forward
• Convert remaining charts to new architecture
• Further optimizations
• HTML5
• 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
Summary