java based visualizer for beosim michael bassily clemson university advisor: dr. ligon sure 2004

Post on 16-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java Based Visualizer Java Based Visualizer for BeoSim for BeoSim

Michael BassilyMichael BassilyClemson UniversityClemson UniversityAdvisor: Dr. LigonAdvisor: Dr. LigonSURE 2004SURE 2004

OutlineOutline

Background Background

Description of ProblemDescription of Problem

Visualizer ComponentsVisualizer Components

ConclusionConclusion

BackgroundBackground

BeoSimBeoSim– A mini-grid A mini-grid

simulatorsimulator Mini-grid: a Mini-grid: a

collection of collection of clusters limitedclusters limitedto campus wide to campus wide settingsetting

– Event DrivenEvent Driven

Background (more)Background (more)

BeoSimBeoSim– Used for testing of Used for testing of

meta-scheduling meta-scheduling algorithmsalgorithms

Higher level Higher level distributed distributed scheduling scheduling process, through process, through which actions of all which actions of all local schedules are local schedules are coordinated on a coordinated on a grid wide basesgrid wide bases

Background (more Background (more more)more)

BeoSim output file formatBeoSim output file format

Header#clusters N1 N2 ... NmTimeStamp: numJobsRunning [clusterID,jobID]<NC1,NC2,..,NCm> Nq

1Nq2 .. Nqm

...

...

...FooteravRunTime avNumInQueue avQueueTime avRunTime avUtilizationavRunTime avNumInQueue avQueueTime avRunTime avUtilization......

Background (more…)Background (more…)

BeoSim output file formatBeoSim output file format

Header#clusters N1 N2 ... NmTimeStamp: numJobsRunning

[clusterID,jobID]<NC1,NC2,..,NCm> ... Nq1 Nq2 .. Nqm

Description of ProblemDescription of Problem

BeoSim needs a BeoSim needs a GUI Visualizer to GUI Visualizer to provide the user provide the user with a with a visualization of visualization of the data the data generated from generated from the output filethe output file

Description of ProblemDescription of Problem

Panel 1 - should Panel 1 - should depict each depict each cluster in the grid cluster in the grid as a grouped as a grouped collection of collection of nodes nodes

Description of ProblemDescription of Problem

Panel 2 - should Panel 2 - should show a plot of show a plot of the node-time the node-time graph of job graph of job allocations in the allocations in the gridgrid

Description of ProblemDescription of Problem

Panel 3 - should Panel 3 - should provide bar provide bar graphs that show graphs that show queue depths in queue depths in each cluster as each cluster as well as waiting well as waiting timestimes

Description of ProblemDescription of Problem

Panel 4 - should Panel 4 - should provide provide numerical numerical information information related to related to statistics statistics provided by the provided by the simulator outputsimulator output

Description of ProblemDescription of Problem

And finallyAnd finally

……. The Visualizer needs to be . The Visualizer needs to be FAST!!!FAST!!!

Why? Because the past Visualizer is Why? Because the past Visualizer is very slowvery slow

Visualizer ComponentsVisualizer Components

Data StructureData Structure– TimeSack.javaTimeSack.java– TimeSlice.javaTimeSlice.java– JobeNode.javaJobeNode.java

ParserParser– BeoParse.jjBeoParse.jj

GUI InterfaceGUI Interface– BeoVizGui.javaBeoVizGui.java– ……

Visualizer ComponentsVisualizer Components

The Data The Data structure:structure:– JobNode.java: JobNode.java:

holds data about holds data about each specific jobeach specific job

– TimeSlice.java: TimeSlice.java: holds data about holds data about each time stampeach time stamp

– TimeSack.java: TimeSack.java: holds data about holds data about the entire parsethe entire parse

TimeSack.java

TimeSlice.java

TimeSlice.java

TimeSlice.java

JobNode.java

Visualizer ComponentsVisualizer Components

The Parser: BeoParse.jjThe Parser: BeoParse.jj– Based on sun standard compiler Based on sun standard compiler

compilercompiler JavaccJavacc

– Based on regular expressions, i.e.:Based on regular expressions, i.e.:

("\n" | "\r")* Header() Body(currentData) Footer(currentData) ("\n" | "\r")* Header() Body(currentData) Footer(currentData) <EOF><EOF>

Header():Header():<HDR> ("\n" | "\r") <NUM>+ ("\n" | "\r")<HDR> ("\n" | "\r") <NUM>+ ("\n" | "\r")

Visualizer ComponentsVisualizer Components

The Parser: Javacc auto generates BNF file into The Parser: Javacc auto generates BNF file into BeoParseBNF.htmlBeoParseBNF.htmlBNF for BeoParse.jj (NON-TERMINALS)BNF for BeoParse.jj (NON-TERMINALS)

Input::=("\n" | "\r")* Input::=("\n" | "\r")* HeaderHeader BodyBody FooterFooter <EOF> <EOF>Header::=<HDR> ("\n" | "\r") (<NUM>)+ ( "\n" | "\r" )Header::=<HDR> ("\n" | "\r") (<NUM>)+ ( "\n" | "\r" )Body::=Body::=BeoLineBeoLine ( "\n" | "\r" ) ( ( "\n" | "\r" ) (BodyBody)*)*BeoLine::=BeoLine::=DblTypeDblType <COLON> <NUM> ( <COLON> <NUM> ( JobInfoJobInfo )* )*

( <NUM> )+( <NUM> )+JobInfo::=<LBRACKET> <NUM> <COMMA> <NUM> JobInfo::=<LBRACKET> <NUM> <COMMA> <NUM>

<RBRACKET> <LT> <NUM> (<COMMA> <NUM>)* <RBRACKET> <LT> <NUM> (<COMMA> <NUM>)* <GT><GT>

Footer::=<FTR> ( "\n" | "\r" ) ( Footer::=<FTR> ( "\n" | "\r" ) ( FtrObjectFtrObject ( "\n" | "\r" ) ) ( "\n" | "\r" ) )++

FtrObject::=FtrObject::=DblTypeDblType DblTypeDblType DblTypeDblType ( (DblTypeDblType | | <NUM>)<NUM>)

DblType::=( <NUM> )? <DOT> <NUM>DblType::=( <NUM> )? <DOT> <NUM>

Visualizer ComponentsVisualizer Components

GUI InterfaceGUI Interface– BeoVizGuie.java: main frame holderBeoVizGuie.java: main frame holder– Sub files for each inner frame:Sub files for each inner frame:

ClusterFrame.javaClusterFrame.java JobAllocFrame.javaJobAllocFrame.java QueueFrame.javaQueueFrame.java StatsFrame.javaStatsFrame.java

ConclusionConclusion

OLD OLD Used 3Used 3rdrd party party

graphic graphic packagepackage

JFreeChartJFreeChart Large data Large data

structurestructure

New New All Native java:All Native java:

AWT and SWING AWT and SWING

Data structure Data structure at most the size at most the size of number of of number of time stamps time stamps

ConclusionConclusion

ConclusionConclusionRun TimesRun Times

*time to complete parsing *time to complete parsing and displaying 1and displaying 1stst data on data on GUIGUI

OLDOLD NEWNEW

FileFile lineslines Load Load timetime

StructStruct

SIZESIZE

(MB)(MB)

Load Load timetime

StructStruct

SIZESIZE

(MB)(MB)data_shortdata_short 1515 33 3333 22 2828

visual_data1visual_data1 8585 88 3434 22 2929

visual_data2visual_data2 306306 2424 3636 33 2929

visual_data3visual_data3 20020055

520520 5353 44 3030

ConclusionConclusion

The NEW Visualizer is much The NEW Visualizer is much speedier than before!!!speedier than before!!!

Questions?Questions?

top related