Respuesta :
Answer:
Part a: For optimal 4-way merging, initiate with one dummy run of size 0 and merge this with the 3 smallest runs. Than merge the result to the remaining 3 runs to get a merged run of length 6000 records.
Part b: The optimal 4-way merging takes about 249 seconds.
Explanation:
The complete question is missing while searching for the question online, a similar question is found which is solved as below:
Part a
For optimal 4-way merging, we need one dummy run with size 0.
- Merge 4 runs with size 0, 500, 800, and 1000 to produce a run with a run length of 2300. The new run length is calculated as follows [tex]L_{mrg}=L_0+L_1+L_2+L_3=0+500+800+1000=2300[/tex]
- Merge the run as made in step 1 with the remaining 3 runs bearing length 1000, 1200, 1500. The merged run length is 6000 and is calculated as follows
[tex]L_{merged}=L_{mrg}+L_4+L_5+L_6=2300+1000+1200+1500=6000[/tex]
The resulting run has length 6000 records.
Part b
For step 1
Input Output Time
Input Output Time is given as
[tex]T_{I.O}=\frac{L_{run}}{Size_{block}} \times Time_{I/O \, per\, block}[/tex]
Here
- L_run is 2300 for step 01
- Size_block is 100 as given
- Time_{I/O per block} is 2 sec
So
[tex]T_{I.O}=\frac{L_{run}}{Size_{block}} \times Time_{I/O \, per\, block}\\T_{I.O}=\frac{2300}{100} \times 2 sec\\T_{I.O}=46 sec[/tex]
So the input/output time is 46 seconds for step 01.
CPU Time
CPU Time is given as
[tex]T_{CPU}=\frac{L_{run}}{Size_{block}} \times Time_{CPU \, per\, block}[/tex]
Here
- L_run is 2300 for step 01
- Size_block is 100 as given
- Time_{CPU per block} is 1 sec
So
[tex]T_{CPU}=\frac{L_{run}}{Size_{block}} \times Time_{CPU \, per\, block}\\T_{CPU}=\frac{2300}{100} \times 1 sec\\T_{CPU}=23 sec[/tex]
So the CPU time is 23 seconds for step 01.
Total time in step 01
[tex]T_{step-01}=T_{I.O}+T_{CPU}\\T_{step-01}=46+23\\T_{step-01}=69 sec\\[/tex]
Total time in step 01 is 69 seconds.
For step 2
Input Output Time
Input Output Time is given as
[tex]T_{I.O}=\frac{L_{run}}{Size_{block}} \times Time_{I/O \, per\, block}[/tex]
Here
- L_run is 6000 for step 02
- Size_block is 100 as given
- Time_{I/O per block} is 2 sec
So
[tex]T_{I.O}=\frac{L_{run}}{Size_{block}} \times Time_{I/O \, per\, block}\\T_{I.O}=\frac{6000}{100} \times 2 sec\\T_{I.O}=120 sec[/tex]
So the input/output time is 120 seconds for step 02.
CPU Time
CPU Time is given as
[tex]T_{CPU}=\frac{L_{run}}{Size_{block}} \times Time_{CPU \, per\, block}[/tex]
Here
- L_run is 6000 for step 02
- Size_block is 100 as given
- Time_{CPU per block} is 1 sec
So
[tex]T_{CPU}=\frac{L_{run}}{Size_{block}} \times Time_{CPU \, per\, block}\\T_{CPU}=\frac{6000}{100} \times 1 sec\\T_{CPU}=60 sec[/tex]
So the CPU time is 60 seconds for step 02.
Total time in step 02
[tex]T_{step-02}=T_{I.O}+T_{CPU}\\T_{step-02}=120+60\\T_{step-02}=180 sec\\[/tex]
Total time in step 02 is 180 seconds
Merging Time (Total)
Now the total time for merging is given as
[tex]T_{merge}=T_{step-01}+T_{step-02}\\T_{merge}=69+180\\T_{merge}=249 sec\\[/tex]
Total time in merging is 249 seconds seconds
