Live Reorderable Accordion Drawing (LiveRAC) Peter McLachlan MSc Thesis Presentation September, 2006.

Slides:



Advertisements
Similar presentations
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Advertisements

Microsoft Excel 2013 An Overview. Environment Quick Access Toolbar Customizable toolbar for one-click shortcuts Tabs Backstage View Tools located outside.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Scalable Visualization with Accordion Drawing Tamara Munzner University of British Columbia Department of Computer Science joint work with James Slack,
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 10 Performance Tuning.
JOURNAL OF HUMAN–COMPUTER INTERACTION 2010 Ji Soo Yi, Niklas Elmqvist, and Seungyoon Lee.
1 Information Visualization with Accordion Drawing Tamara Munzner University of British Columbia.
For Mapping Biodiversity Data Data Management Options.
1 Presented by Jean-Daniel Fekete. 2  Motivation  Mélange [Elmqvist 2008] Multiple Focus Regions.
Prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005.
Xyleme A Dynamic Warehouse for XML Data of the Web.
Composite Rectilinear Deformation for Stretch and Squish Navigation James Slack, Tamara Munzner University of British Columbia November 1, 2006 Imager.
Classifier Decision Tree A decision tree classifies data by predicting the label for each record. The first element of the tree is the root node, representing.
Evaluation Adam Bodnar CPSC 533C Monday, April 5, 2004.
Interactive Dynamic Aggregate Queries Kenneth A. Ross Junyan Ding Columbia University.
Extensible Scalable Monitoring for Clusters of Computers Eric Anderson U.C. Berkeley Summer 1997 NOW Retreat.
Live Re-orderable Accordion Drawing (LiveRAC) Peter McLachlan, Tamara Munzner Eleftherios Koutsofios, Stephen North AT&T Research Symposium August, 2007.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Visually Mining and Monitoring Massive Time Series Amy Karlson V. Shiv Naga Prasad 15 February 2004 CMSC 838S Images courtesy of Jessica Lin and Eamonn.
Table Lens Introduction to the Table Lens concept Table Lens Implementation Projected Usage Scenarios Usage Comparison with Splus Critical Analysis.
04 | Building Stellar Data Visualizations Using Power View.
GTECH 201 Lecture 03 Data measurements Data errors.
Partitioned Rendering Infrastructure with Stable Accordion Navigation James Slack MSc Thesis Presentation April 4, 2005.
1 PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack, Kristian Hildebrand, Tamara Munzner University of British.
Info Vis: Multi-Dimensional Data Chris North cs3724: HCI.
WPI Center for Research in Exploratory Data and Information Analysis From Data to Knowledge: Exploring Industrial, Scientific, and Commercial Databases.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
MS Access Advanced Instructor: Vicki Weidler Assistant:
Data Mining Chun-Hung Chou
By LaBRI – INRIA Information Visualization Team. Tulip 2010 – version Tulip is an information visualization framework dedicated to the analysis.
Information Design and Visualization
MCTS Guide to Microsoft Windows 7
C51BR Applications of Spreadsheets 1 Chapter 16 Getting Started Making Charts.
Data Analysis and Security 11 Session Version 1.0 © 2011 Aptech Limited.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
ARO–MURI Thoughts on Visualization for Cyber Situation Awareness MURI Meeting July 8–9, 2015 Christopher G. Healey Lihua Hao Steve E. Hutchinson CS Department,
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Designing the User Interface: Strategies for Effective Human-Computer.
Computational Biology, Part E Basic Principles of Computer Graphics Robert F. Murphy Copyright  1996, 1999, 2000, All rights reserved.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Designing the User Interface: Strategies for Effective Human-Computer.
Advanced Project Plan Formatting Lesson 14. Skills Matrix SkillsMatrix Skill Customize the calendar view Format bar styles for tasks in the Calendar view.
Visual Analysis of Hierarchical Management Data Zhao Geng 1, Gaurav Gathania 2, Robert S.Laramee 1 and ZhenMin Peng 1 1 Visual Computing Group, Computer.
Towards a Universal Client for Grid Monitoring Systems Towards a Universal Client for Grid Monitoring Systems Design and Implementation of the Ovid Browser.
Key Applications Module Lesson 21 — Access Essentials
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
1 CS430: Information Discovery Lecture 18 Usability 3.
Copyright © 2005, Pearson Education, Inc. Slides from resources for: Designing the User Interface 4th Edition by Ben Shneiderman & Catherine Plaisant Slides.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
VizDB A tool to support Exploration of large databases By using Human Visual System To analyze mid-size to large data.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
INTRODUCTION TO GIS  Used to describe computer facilities which are used to handle data referenced to the spatial domain.  Has the ability to inter-
Visualization Four groups Design pattern for information visualization
Data Visualization Fall Information Visualization Fall 2015Data Visualization2 Upon now, we dealt with scientific visualization (scivis) Scivis.
Towards Unifying Vector and Raster Data Models for Hybrid Spatial Regions Philip Dougherty.
1 Presentation Methodology Summary B. Golden. 2 Introduction Why use visualizations?  To facilitate user comprehension  To convey complexity and intricacy.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
Statistical Fundamentals: Using Microsoft Excel for Univariate and Bivariate Analysis Alfred P. Rovai Charts Overview PowerPoint Prepared by Alfred P.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
Wednesday NI Vision Sessions
An Evaluation of Pan & Zoom and Rubber Sheet Navigation with and without an Overview Dmitry Nekrasovski, Adam Bodnar, Joanna McGrenere, François Guimbretière,
1 INTRODUCTION TO COMPUTER GRAPHICS. Computer Graphics The computer is an information processing machine. It is a tool for storing, manipulating and correlating.
From LSE-30: Observatory System Spec.
AESA – Module 8: Using Dashboards and Data Monitors
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
Open Source distributed document DB for an enterprise
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
Information Design and Visualization
Analysis models and design models
Database Systems Instructor Name: Lecture-3.
Information Visualization (Part 1)
CHAPTER 7: Information Visualization
Presentation transcript:

Live Reorderable Accordion Drawing (LiveRAC) Peter McLachlan MSc Thesis Presentation September, 2006

2 Presentation Overview Motivation Related Work LiveRAC Overview and Implementation Discussion LiveRAC Motivation Overview Problem Domain Devices & Data Domain Tools Requirements Our Solution Related Work LiveRAC Discussion

3 Problem Domain “Managed Hosting Services”, data center operations staff Motivation Overview Problem Domain Devices & Data Domain Tools Requirements Our Solution Related Work LiveRAC Discussion

4 Network 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

5 Monitored 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 :52:37, CPU, 95% ] –alarm data [ 10 AUG :52:37, 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

6 Detail Overload Motivation Overview Problem Domain Devices & Data Domain Tools Requirements Our Solution Related Work LiveRAC Discussion

7 RRDTool Database system with statistical graphics Monitors individual hosts –6-inch view Basis for many related applications Motivation Overview Problem Domain Devices & Data Domain Tools Requirements Our Solution Related Work LiveRAC Discussion

8 Ganglia 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

9 OpenNMS 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

10 Scale to large, dynamic datasets –thousands of devices –dozens of data channels –multiple time scales Three levels of activity Visualization Solution Requirements Motivation Overview Problem Domain Devices & Data Domain Tools Requirements Our Solution Related Work LiveRAC Discussion Active regionTime scale# of items Total databaseDays to yearsBillions In memorySeveral secondsMillions On screenSub-secondThousands LiveRAC Back-end DB

11 Our 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

12 Our 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

13 Visual Introduction to LiveRAC

14 Research 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

15 Information 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 Discussion

16 Information Visualization Techniques - A few examples Small multiplesPre-attentive visual cues Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

17 Information Visualization Techniques - A few examples Small multiplesPre-attentive visual cues Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

18 Time-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 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, Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

19 Statistical Graphics 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™ Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

20 Reorderable Visualizations 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, 453–467. Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

21 Semantic zooming Semantic zooming represents data differently at different zoom levels [Perlin, 1993] Optimize representation for available space Allow multiple levels of detail R. Bade, S. Schlechtweg, S. Miksch. Connecting Time-Oriented Data and Information to a Coherent Interactive Visualization. CHI 2004, pp Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

22 Accordion Drawing Information visualization technique Stretch-and-squish navigation –enlarge some areas while retaining surrounding context Guaranteed visibility –important landmarks remain visible Munzner, Guimbretiere, Tasiran, Zhou, and Zhang. TreeJuxtaposer: Scalable Tree Comparison using Focus+Context with Guaranteed Visibility. SIGGRAPH 2003, Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

23 PowerSetViewer Dynamic accordion drawing –insert and remove data at run time Limitations: –domain-specific solution –not user-reorderable Qiang Kong. Visual mining of power sets with large alphabets. UBC CS, Master’s thesis, May Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

24 PRISAD 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 Slack, Hildebrand, and Munzner. Partitioned Rendering Infrastructure for Scalable Accordion Drawing (Extended Version) Information Visualization, 5(2), p , Motivation Related Work InfoVis Time-series Statistical Graphics Reorderable Vis Semantic Zoom Accordion Drawing SWIFT LiveRAC Discussion

25 SWIFT SWIFT is a set of data storage, aggregation and visualization tools that integrate multiple data sources [Koutsofios, 1999] Developed at AT&T 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 Discussion

26 SWIFT Front-ends Koutsofios, North, Truscott, and Keim. Visualizing large-scale telecommunication networks and services. IEEE Visualization 1999, 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 Discussion

27 LiveRAC Architecture Motivation Related Work LiveRAC Architecture Semantic Zoom Reordering Playback Discussion

28 LiveRAC 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

29 LiveRAC 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

30 Semantic Zooming CPU usage at several levels of detail Motivation Related Work LiveRAC Architecture Semantic Zoom Reordering Playback Discussion

31 Variable 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

32 Variable 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

33 Defining 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

34 Aggregation 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

35 LiveRAC Semantic Zooming Semantic Zooming Video

36 Reordering 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

37 Reordering Rows and Columns - Visual Example Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion Reordering Video

38 LiveRAC 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

40 Discussion & Results LiveRAC was deployed using real world data at AT&T Labs LiveRAC proved to be scalable –interactive frame rates device rows dozens of performance/alarm columns Motivation Related Work LiveRAC Discussion Results Future Work Conclusion Active regionTime scale# of items Total database3 MonthsMillions In memory<5 seconds80,000 On screen10-15 FPSThousands

41 LiveRAC Case Study Case study video

42 User 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

43 Future 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

44 Conclusion 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

46

47

48 Targeted 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

49 Monitoring 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

50 Semantic 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

51 SWIFT 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

52 SWIFT Architecture Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

53 LiveRAC handles rows and columns differently Large number of rows in a typical data view (thousands) Comparatively small number of columns (dozens) Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

54 Performance 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 Discussion Future Work Conclusion

55 Split Line Performance Split Line Tree OperationComplexity Find split line boundsO(1) (cached) Find split line by indexO(log n) Find index of nodeO(log n) Insert split lineO(9 log n) Delete split lineO(12 log n) Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

56 Charting Performance System: 3Ghz Pentium-IV Chart: 3 data series, 100 points each series –First draw: ~50ms –Subsequent redraws after modification: <5ms –Redraw from cached OpenGL display list: <1ms Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

57 Statistical Graphics Line chartBar chart Scatter plotPie chart

58 LiveRAC 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

59 Accordion Drawing Split Line Structure Slack. Partitioned Rendering Infrastructure For Stable Accordion Navigation M.Sc. Thesis Split lines Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Future Work Conclusion

60 Accordion Drawing Split Line Structure Slack. Partitioned Rendering Infrastructure For Stable Accordion Navigation M.Sc. Thesis Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Future Work Conclusion

61 Static 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 Discussion Future Work Conclusion

62 Dynamic 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 Discussion Future Work Conclusion

63 Dynamic 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 Discussion Future Work Conclusion

64 Dynamic Split Lines: Solution Solution: Maintain sub-tree sizes Find: node index 3 3 < (3+1), descend left 3 > (1 + 1), descend right found index 3 Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

65 Reordering 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 < 100 Motivation Related Work LiveRAC Overview Architecture Dynamic Structure Reordering Aggregation Semantic Zoom Performance Discussion Future Work Conclusion

66