Title: Live Reorderable Accordion Drawing LiveRAC
1Live Reorderable Accordion Drawing (LiveRAC)
- Peter McLachlan
- MSc Thesis Presentation
- September, 2006
2Presentation Overview
- Motivation
- Related Work
- LiveRAC Overview and Implementation
- Discussion
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
LiveRAC
3Problem Domain
- Managed Hosting Services, data center
operations staff
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
4Network Devices
- Network device any electronic device that
connects to a computer network - Most network devices can be monitored
- Network Operation Centre (NOC) facility for
monitoring large numbers of network devices
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
5Monitored Data
- Most data collected from network devices is
time-series data - time stamp and value
- Two types of time-series objects collected
- performance metrics
- 10 AUG 2006 95237, CPU, 95
- alarm data
- 10 AUG 2006 95237, MAJOR, HIGH TEMP
- Key difference for visualization
- performance metrics quantitative
- alarms categorical
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
6Detail Overload
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
7RRDTool
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
- Database system with statistical graphics
- Monitors individual hosts
- 6-inch view
- Basis for many related applications
http//oss.oetiker.ch/rrdtool/
8Ganglia
- Cluster monitoring tool, uses RRDtool back-end
- Provides aggregate charts, 100-mile high overview
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
http//ganglia.sourceforge.net/
9OpenNMS
- Aggregates SNMP data from multiple hosts, uses
RRDtool back-end - Alarm management
- 1000-mile high overviews
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
http//opennms.org
10Visualization Solution Requirements
- Scale to large, dynamic datasets
- thousands of devices
- dozens of data channels
- multiple time scales
- Three levels of activity
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
Back-end DB
LiveRAC
11Our solution LiveRAC
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
- Interactive user-directed exploration of overview
detail - Second to sub-second timeframe
12Our solution LiveRAC
- Reorderable matrix
- rows of network devices
- columns of time-series objects
- Semantic zooming and aggregation for cells
- large cells show time-series charts
- compact representations in reduced areas
- aggregate spatial representation shown in highly
compressed regions
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
13Visual Introduction to LiveRAC
14Research Contributions
- A scalable visualization system called LiveRAC
using real world data - Algorithms and code to support dynamic and
reorderable data elements in accordion drawing - Infrastructure and algorithms for user-definable
semantic zoom in accordion drawing
Motivation Overview Problem Domain Devices
Data Domain Tools Requirements Our
Solution Related Work LiveRAC Discussion
15Information Visualization
- Human visual channel is highest-bandwidth
perceptual system Norretranders, 1999 - Information visualization field of study whose
object is to aid cognition through the graphic
representation of abstract data - displays relevant information graphically to
assist in memory tasks - supports data exploration through direct
interaction - assists in pattern finding through the display of
overview and detail, search, and user-directed
reordering
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
16Information Visualization Techniques - A few
examples
Pre-attentive visual cues
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
17Information Visualization Techniques - A few
examples
Pre-attentive visual cues
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
18Time-Series Data
- Extensively explored in information visualization
- Many techniques cluster similar time-series data
points together, e.g. work by van Wijk et al. - LiveRAC provides many small-multiples views of
time-series data
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
J. van Wijk, E. Van Selow. Cluster and calendar
based visualization of time series data. Proc.
IEEE Symposium on Information Visualization, pp 4.
J. Lin, E. Keogh, S. Lonardi, J. Lankford, D.
Nystrom. Visually mining and monitoring massive
time series. SIGKDD 2004, 460-469.
19Statistical Graphics
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
- Statistical graphics
- projection of abstract shapes representing
observed quantitative data - in use for centuries in various forms Beniger,
1978 - used throughout science and industry in commonly
available tools like Excel
20Reorderable Visualizations
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
- Supports user-directed pattern finding when
patterns are not known a priori Bertin, 1981 - allows users to group and sort data to identify
or confirm patterns - supports an intuition-driven model for
interacting with data - LiveRAC adds reordering to accordion drawing
E.Mäkinen, H. Siirtola. Reordering the
Reorderable Matrix as an Algorithmic Problem.
Theory and Application of Diagrams. 2000, 453467.
21Semantic zooming
- Semantic zooming represents data differently at
different zoom levels Perlin, 1993 - Optimize representation for available space
- Allow multiple levels of detail
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
R. Bade, S. Schlechtweg, S. Miksch. Connecting
Time-Oriented Data and Information to a Coherent
Interactive Visualization. CHI 2004, pp 105-112.
22Accordion Drawing
- Information visualization technique
- Stretch-and-squish navigation
- enlarge some areas while retaining surrounding
context - Guaranteed visibility
- important landmarks remain visible
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
Munzner, Guimbretiere, Tasiran, Zhou, and Zhang.
TreeJuxtaposer Scalable Tree Comparison using
FocusContext with Guaranteed Visibility.
SIGGRAPH 2003, 453-462.
23PowerSetViewer
- Dynamic accordion drawing
- insert and remove data at run time
- Limitations
- domain-specific solution
- not user-reorderable
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
Qiang Kong. Visual mining of power sets with
large alphabets. UBC CS, Masters thesis, May
2006.
24PRISAD
- Introduces the concept of per-frame partitioning
of data into screen-visible regions - Reduces n data nodes to p where p is bounded by
the number of display pixels - Provides an API for developing accordion drawing
applications - Limitation
- static data structures
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
Slack, Hildebrand, and Munzner.Partitioned
Rendering Infrastructure for Scalable Accordion
Drawing (Extended Version) Information
Visualization, 5(2), p. 137-151, 2006.
25SWIFT
- SWIFT is a set of data storage, aggregation and
visualization tools that integrate multiple data
sources Koutsofios, 1999 - Developed at ATT Labs, fully deployed in a
production role - Data sources include SNMP, intrusion detection
systems, Windows system monitors, and custom
written daemons - Highly scalable
- Optimized for streaming data
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
26SWIFT Front-ends
- Existing views
- Geographic views
- Node-link diagrams
- Raw data text
- Limitations
- Cannot compare between large numbers of
time-series objects - LiveRAC reorderable matrix visualization for
SWIFT
Motivation Related Work InfoVis Time-series
Statistical Graphics Reorderable Vis Semantic
Zoom Accordion Drawing SWIFT LiveRAC Discussio
n
Koutsofios, North, Truscott, and Keim.
Visualizing large-scale telecommunication
networks and services.IEEE Visualization 1999,
457-461
27LiveRAC Architecture
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
28LiveRAC Architecture - PRISAD
- Uses and enhances the PRISAD accordion drawing
API - PRISAD provides
- well-established scalability
- pixel-bounded rendering performance
- extensive infrastructure
- Contributions
- fully dynamic generic data structures
- add, remove and reorder
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
29LiveRAC Architecture - SWIFT
- SWIFT back-end provides
- unified interface for multiple collected data
sources - temporal aggregation
- Separate rendering and data-service threads allow
interaction during data retrieval - Time window can be selected to display historical
or live data
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
30Semantic Zooming
- CPU usage at several levels of detail
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
31Variable LOD Charts
- jGLChartUtil High-performance OpenGL statistical
graphics library - Several data representations
- line charts
- scatter charts
- bar charts
- histograms
- sparklines
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
32Variable LOD Charts
- Optimizes chart representation for best use of
available space - scales fonts
- best fit axis labeling
- modifies chart grid
- Representation and size selected by application,
not library
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
33Defining Semantic Zoom Levels
- Bundle specification of how to draw cells in a
column - defines graphical representation at different
cell sizes - can contain single or multiple time-series
objects - pre-defined in configuration file
- Generic bundles provide defaults
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
34Aggregation
- At lowest level of detail, multiple rows are
aggregated to single visual representation - convey single useful value for large quantity of
information - Aggregated representation is colored box with
varying saturation - for alarms, color indicates highest severity
alarm - gray indicates metric data
- saturation is a function of density
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
35LiveRAC Semantic Zooming
Semantic Zooming Video
36Reordering
- LiveRAC allows rows and columns to be reordered
- rows sorted by device name, or by customer
identifier and sub-sorted by device name, or
ordered arbitrarily - columns ordered arbitrarily, locations specified
by user - Required significant extensions to PRISAD to
provide dynamic data structures
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
37Reordering Rows and Columns - Visual Example
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
Reordering Video
38LiveRAC Data Playback
- Playback consists of advancing the time window by
a configurable duration at regular intervals - Historical data can be viewed faster than
real-time - Current data can be viewed in real-time
Motivation Related Work LiveRAC Architecture
Semantic Zoom Reordering Playback Discussion
39(No Transcript)
40Discussion Results
- LiveRAC was deployed using real world data at
ATT Labs - LiveRAC proved to be scalable
- interactive frame rates
- 4000 device rows
- dozens of performance/alarm columns
Motivation Related Work LiveRAC Discussion
Results Future Work Conclusion
41LiveRAC Case Study
Case study video
42User Feedback
- Demo feedback was positive
- users familiar with the old system were able to
quickly recognize customers based on familiarity
with the data - LiveRAC identified by domain managers as possible
next-generation tool for data center usage - users had numerous suggestions for the system, a
good indication that they were excited by the
possibilities
Motivation Related Work LiveRAC Discussion
Results Future Work Conclusion
43Future Work
- Interaction
- field study LiveRAC in real-world environment
- support alternative navigation options
- auto-expanding search region
- hot-keying groups of devices or metrics
- expand data representation library
- Data processing
- computational correlation of alarm and metric
data - Performance
- lazy evaluation during reordering
Motivation Related Work LiveRAC Discussion
Results Future Work Conclusion
44Conclusion
- Contributions
- working system for interactive visualization of
large real-world time-series data sets - algorithms for reorderable accordion drawing
- infrastructure for semantic zoom in accordion
drawing
Motivation Related Work LiveRAC Discussion
Results Future Work Conclusion
45(No Transcript)
46(No Transcript)
47(No Transcript)
48Targeted User Activities
- Overview
- Situational awareness
- Critical alarm notification
- Detail
- Incident investigation
- Capacity planning
- Trend analysis
Motivation Related Work LiveRAC Architecture
Visual Encoding Aggregation Semantic Zoom
Reordering Playback Discussion Future
Work Conclusion
49Monitoring Large-scale Systems A Difficult
Problem
- Many disparate data sources
- Different platforms
- Different protocols
- Different services
- Lack of integrated solutions
- Lack of context in standard tools
- Shortage of integrated visualization solutions
Motivation Related Work LiveRAC Architecture
Visual Encoding Aggregation Semantic Zoom
Reordering Playback Discussion Future
Work Conclusion
50Semantic Zooming in LiveRAC
- LiveRAC semantic zooming
- provides an area-aware graphical representation
- modifies the graphic to best fit the available
space - does not increase or decrease polygon count, or
scale a graphic linearly, but changes graphic
attributes, and may change the graphic entirely
Motivation Related Work LiveRAC Architecture
Visual Encoding Aggregation Semantic Zoom
Reordering Playback Discussion Future
Work Conclusion
51SWIFT Limitations
- Visualizations for SWIFT only provide node-link
and geographic views - These views are good for mapping physical
relationships
Motivation Related Work LiveRAC Architecture
Visual Encoding Aggregation Semantic Zoom
Reordering Playback Discussion Future
Work Conclusion
52SWIFT Architecture
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
53LiveRAC handles rows and columns differently
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
- Large number of rows in a typical data view
(thousands) - Comparatively small number of columns (dozens)
54Performance Requirements
- LiveRAC must maintain interactive frame rates
while modifications to the grid are taking place - We need to draw guaranteed visible zones first to
provide landmarks - The system needs to scale to thousands of
devices, and tens of categories of monitored
alarms metrics - The system must support a large number of data
points for alarms metrics
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
55Split Line Performance
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
56Charting Performance
- System 3Ghz Pentium-IV
- Chart 3 data series, 100 points each series
- First draw 50ms
- Subsequent redraws after modification lt5ms
- Redraw from cached OpenGL display list lt1ms
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
57Statistical Graphics
Line chart
Bar chart
Scatter plot
Pie chart
58LiveRAC Visual Encoding
- Matrix view
- rows of devices
- columns of metrics and alarms time-series
objects - a cell contains a representation for a set of
values of any time-series object - at highest density, cells are colored boxes
- at lower densities cells can contain text, or
graphical representations
Motivation Related Work LiveRAC Architecture
Visual Encoding Aggregation Semantic Zoom
Reordering Playback Discussion Future
Work Conclusion
59Accordion Drawing Split Line Structure
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Future
Work Conclusion
Split lines
Slack. Partitioned Rendering Infrastructure For
Stable Accordion NavigationM.Sc. Thesis
60Accordion Drawing Split Line Structure
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Future
Work Conclusion
Slack. Partitioned Rendering Infrastructure For
Stable Accordion NavigationM.Sc. Thesis
61Static Split Lines
- Previous accordion drawing implementations used
static, ordered lists of split lines - Insert, remove and reorder operations were O(n)
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
62Dynamic Split Lines
- Dynamic split lines are required for maintaining
interactive frame rates while adding/removing
rows or columns to the matrix - Client-server streaming architecture implies that
new devices, alarms and metrics will be a common
occurrence - Dynamic split lines support reordering of data
- In the future, direct user modification of the
data set can be supported
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
63Dynamic Split Line Requirements
- Requirements
- Worst case logarithmic insert and remove
operations - O(log n) worst case path to any node from the
root - Linear scalability in memory usage
- Support for arbitrary ordering with enumeration
- Can we use a red-black tree?
- Red-black trees address the first three
requirements - How can we avoid re-enumeration of keys if we
allow nodes to be manipulated arbitrarily?
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
64Dynamic Split Lines Solution
Solution Maintain sub-tree sizes
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
Find node index 3
3 lt (31), descend left
3 gt (1 1), descend right
found index 3
1 2 3 4
5
65Reordering Rows and Columns Implementation
- For rows, we can swap pointers from split lines
to devices without changing the split line
structure - O(1)
- Preserves layout topology
- For columns, we use a global ordering list,
mapping a bundle/metric/alarm name to an index
number, changes to this list affects rendering of
all columns - A hash map is maintained to back map column name
to index numbers for O(1) lookups during
rendering, this must also be fixed during a
reorder - Swapping columns is O(c), where c is the number
of columns, typically lt 100
Motivation Related Work LiveRAC Overview
Architecture Dynamic Structure Reordering
Aggregation Semantic Zoom Performance Discussio
n Future Work Conclusion
66(No Transcript)