Performance Monitor for Complex, Distributed ORB Instances

advertisement
Performance Monitor for Complex,
Distributed ORB Instances
Orrington United
Chen Chen, Kaijian Liu, Hui Long, Gabe Plank
Aug. 29, 2010
Problem: Assuming massive data flow and
complex ORB systems, how can problems be
identified and performance analyzed?
Scenarios:
• Consider: Millions of Strong Motion
measurements along a pipeline. One 3C
accelerometer every 10m for 1000km at 40 SPS,
equals 12Million samples per second!
OR
• Consider: Millions of data points per second from
mobile GPS devices.
2
Who Cares ?
Currently tools exist to monitor performance of
one ORB at a time. For a complex
organization, this would be useless:
Who Cares ?
• Tools also exist to monitor large networks but
these are complicated and time consuming to
implement.
• As such, a lightweight tool for basic
performance analysis would be useful.
4
Implementation Sketch
Implement ORB
performance algorithm
using Matlab Antelope
toolkit
Manage Antelope RT
Start and Stop.
Develop algorithms to detect
potential problems to system.
User interface
(Matlab/GUI)
5
User Interface
• A graphical tool to design synthetic ORB hierarchies and
read/write configurations
• Option to load a pre-specified configuration file, for existing
real systems (implies no data added).
• Two slider bars to control size/# of data packets.
• View adjustments for looking at subsets of ORBs.
• Per-ORB dynamic performance graphs.
• Whole-system statistics such as average performance.
6
Performance Testing
Algorithm
• Stream data to the system according to user inputs.
• For each ORB, determine CPU usage, Packet Latency,
Read/Write time, Disk Access.
• Multi-thread each performance query so that all data is
returned in real time.
• Data returned from threads added to a common data
structure or a list of structures accessible by graphing and
analysis routines.
7
Manage Antelope
1. Format Antelope rtexec files from Matlab, to configure run
time parameters such as ORB port.
2. Launch Antelope real time instances Using Matlab ‘system’
call.
3. Provide process ID storage mechanism for shutting down
the processes when Matlab application exits.
ORB ports
.......
Antelope
Matlab
GUI
Start/Stop
8
Detect potential problems
Instance
1
Instance 2
Instance 4
Instance 3
1. Infinite data loops.
2. Exceeding the buffer capacity and
potential data loss.
3. Hardware problems.
9
Discussion and Questions
1. How to determine & implement meaningful wholesystem statistics?
2. Possible automated runs with notification problems do Matlab users run Matlab-based applications as
services?
3. Are ORB type buffers scalable to handle massive,
distributed data loads?
10
Summary
1. Real time data sources are growing, and so is
telemetry bandwidth.
2. Datacenters should consider the potential need for
distributed processing nodes and the means to monitor
them.
3. This project attempts a first pass specification for a
Matlab-based, performance analysis and monitoring
system for high volume, distributed real time systems.
11
Download