Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Based Visualizer for BeoSim Michael Bassily Clemson University Advisor: Dr. Ligon SURE 2004.

Similar presentations


Presentation on theme: "Java Based Visualizer for BeoSim Michael Bassily Clemson University Advisor: Dr. Ligon SURE 2004."— Presentation transcript:

1 Java Based Visualizer for BeoSim Michael Bassily Clemson University Advisor: Dr. Ligon SURE 2004

2 Outline Background Background Description of Problem Description of Problem Visualizer Components Visualizer Components Conclusion Conclusion

3 Background BeoSim BeoSim –A mini-grid simulator Mini-grid: a collection of clusters limited to campus wide setting Mini-grid: a collection of clusters limited to campus wide setting –Event Driven

4 Background (more) BeoSim BeoSim –Used for testing of meta-scheduling algorithms Higher level distributed scheduling process, through which actions of all local schedules are coordinated on a grid wide bases Higher level distributed scheduling process, through which actions of all local schedules are coordinated on a grid wide bases

5 Background (more more) BeoSim output file format BeoSim output file format Header #clusters N1 N2... Nm TimeStamp: numJobsRunning [clusterID,jobID] Nq 1Nq2.. Nqm... Footer avRunTime avNumInQueue avQueueTime avRunTime avUtilization...

6 Background (more…) BeoSim output file format BeoSim output file format Header #clusters N1 N2... Nm TimeStamp: numJobsRunning [clusterID,jobID]... Nq1 Nq2.. Nqm

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

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

9 Description of Problem Panel 2 - should show a plot of the node-time graph of job allocations in the grid Panel 2 - should show a plot of the node-time graph of job allocations in the grid

10 Description of Problem Panel 3 - should provide bar graphs that show queue depths in each cluster as well as waiting times Panel 3 - should provide bar graphs that show queue depths in each cluster as well as waiting times

11 Description of Problem Panel 4 - should provide numerical information related to statistics provided by the simulator output Panel 4 - should provide numerical information related to statistics provided by the simulator output

12 Description of Problem And finally And finally …. The Visualizer needs to be FAST!!! Why? Because the past Visualizer is very slow

13 Visualizer Components Data Structure Data Structure –TimeSack.java –TimeSlice.java –JobeNode.java Parser Parser –BeoParse.jj GUI Interface GUI Interface –BeoVizGui.java –…

14 Visualizer Components The Data structure: The Data structure: –JobNode.java: holds data about each specific job –TimeSlice.java: holds data about each time stamp –TimeSack.java: holds data about the entire parse TimeSack.java TimeSlice.java JobNode.java

15 Visualizer Components The Parser: BeoParse.jj The Parser: BeoParse.jj –Based on sun standard compiler compiler Javacc Javacc –Based on regular expressions, i.e.: ("\n" | "\r")* Header() Body(currentData) Footer(currentData) ("\n" | "\r")* Header() Body(currentData) Footer(currentData) Header(): ("\n" | "\r") + ("\n" | "\r") ("\n" | "\r") + ("\n" | "\r")

16 Visualizer Components The Parser: Javacc auto generates BNF file into BeoParseBNF.html The Parser: Javacc auto generates BNF file into BeoParseBNF.html BNF for BeoParse.jj (NON-TERMINALS) Input::=("\n" | "\r")* Header Body Footer Input::=("\n" | "\r")* Header Body Footer HeaderBodyFooterHeaderBodyFooter Header::= ("\n" | "\r") ( )+ ( "\n" | "\r" ) Body::=BeoLine ( "\n" | "\r" ) (Body)* BeoLineBodyBeoLineBody BeoLine::=DblType ( JobInfo )* ( )+ DblTypeJobInfoDblTypeJobInfo JobInfo::= ( )* JobInfo::= ( )* Footer::= ( "\n" | "\r" ) ( FtrObject ( "\n" | "\r" ) )+ FtrObject FtrObject::=DblType DblType DblType (DblType | ) DblType DblType::=( )? DblType::=( )?

17 Visualizer Components GUI Interface GUI Interface –BeoVizGuie.java: main frame holder –Sub files for each inner frame: ClusterFrame.java ClusterFrame.java JobAllocFrame.java JobAllocFrame.java QueueFrame.java QueueFrame.java StatsFrame.java StatsFrame.java

18 Conclusion OLD Used 3 rd party graphic package Used 3 rd party graphic package JFreeChart JFreeChart Large data structure Large data structureNew All Native java: All Native java: AWT and SWING Data structure at most the size of number of time stamps Data structure at most the size of number of time stamps

19 Conclusion

20

21

22

23

24

25 Conclusion Run Times *time to complete parsing and displaying 1 st data on GUI OLDNEW Filelines Load time StructSIZE(MB) StructSIZE(MB) data_short visual_data visual_data visual_data

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

27 Questions?


Download ppt "Java Based Visualizer for BeoSim Michael Bassily Clemson University Advisor: Dr. Ligon SURE 2004."

Similar presentations


Ads by Google