Detailing item 5.2.5
1 - Scheduler passes the username, program file (including path) and program parameters to IBL and executes IBL for each one of the means and standard deviations
2 - Scheduler grabs all the information from IBL executions and stores them in a XML file using the following format: <table-column-name></table-column-name> (for instance <bytes_in_avg>22.2</bytes_in_avg>) DON'T FORGET TO INCLUDE MEANS AND STANDARD DEVIATIONS
3 - Scheduler gets means and standard deviations from the table application for each process running in the environment (you can add a column in the table application with the application status: Running or Finished) and makes a select in the table process to count how many processes compose each running application. The Scheduler also gets where (computer_id from table computer) each process is running.
4 - Scheduler carries on generating the XML file using the information obtained from the tables application and process. The scheduler will generate something like (the same for the new application presented in the item 2 in this post):
<application gid="1">
<number_of_processes>4</number_of_processes>
<scheduled>
<process>0</process> ### notice the id inside this XML tag is the computer_id
<process>1</process> ### which defines where a certain process is running
<process>8</process>
<process>15</process>
</scheduled>
<bytes_in_avg>22.2</bytes_in_avg>
...
</application>
PS: The new application that has just started will also have the tag <scheduled> and <process> inside it, although the tags <process> will have the name computer_id, which is the id of the Scheduler which started the application.
5 - After generating all the means and standard deviations in the XML file (for each application) the Scheduler have to get the capacity of each computer in the environment. The table computer could have all the information about MIPS capacity, HD read-write throughput and Memory latency coeficients (2 for the main memory usage and 3 for the swap memory usage).
Getting such information from the table computer, the Scheduler must fill the XML file in the following way:
<computers>
<computer>
<mips>1000</mips>
<hd_read_throughput>10.2</hd_read_throughput>
<hd_write_throughput>8.7</hd_write_throughput>
<main_memory_coeficient_a>10.2</main_memory_coeficient_a>
<main_memory_coeficient_b>10.2</main_memory_coeficient_b>
<swap_memory_coeficient_a>10.2</swap_memory_coeficient_a>
<swap_memory_coeficient_b>10.2</swap_memory_coeficient_b>
<swap_memory_coeficient_c>10.2</swap_memory_coeficient_c>
</computer>
... # other computers in here
</computers>
6 - Now you make a simple program to convert the XML to the alloc.file format used by RouteGA
7 - Scheduler launches the conversion program and, then, calls RouteGA
8 - The RouteGA output is used by the Scheduler
Labels: task
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home