Check out the new USENIX Web site. next up previous
Next: Optimal System Design Up: Service Time Model Previous: Service Time Model

Model and Simulation Comparisons

To compare our model with the performance of a prototypical probe-based storage device we conducted experiments using the Pantheon simulator from HP. We used a probe-based storage device simulator that implements the architecture and layout described in Section 3 [22], using a variant of the unconstrained sled model [10,22]. We used four workloads: 1992 cello (4% sequential, /news partition, most requests smaller than 8KB, sector size is 256 bytes) [15], 1992 snake (23% sequential, /usr2 partition, most requests smaller than 8KB, sector size is 512 bytes) [15], 1999 cello (disk 128, 30% sequential, large requests where more than half are larger than 8KB, sector size is 1024 bytes) [22] and 1999 tpcd (disk 80, which accounted for 12.5% of the requests). All traces recorded one week of activity. In our simulations, we issue the requests at the original times they occur in the traces, so queuing behavior in the original workloads will not be as pronounced on the faster probe-based storage devices.

All original traces were recorded by HP Laboratories. The average request size and runlength for each workload are shown in Table 2.


Table 2: Average request size and runlength values for workloads used in our simulations.
Workload Average Runlength
  request size  
cello92 6.4 KB   6.5 KB
snake 6.8 KB   8.9 KB
cello99 6.8 KB   7.2 KB
tpcd 29.3 KB 252.0 KB


Figure 5: Graphs of service time of the simulated snake, cello92 and cello99 workloads and values calculated with our probe-based storage model. The initial configuration used had a 40$ \mu $m movement range in both $ X$ and $ Y\!$, 320 active tips and 10 tips in $ Y$ per cluster. (a) varying the movement range in $ X\!$; (b) varying the movement range in $ Y\!$; (c) varying the number of active tips; (d) varying the number of tips in $ Y$ per cluster.
\includegraphics[height=2.2in]{figures/rl_movx.eps} \includegraphics[height=2.2in]{figures/rl_movy.eps}
(a) (b)
\includegraphics[height=2.2in]{figures/rl_tipsiny.eps} \includegraphics[height=2.2in]{figures/rl_activetips.eps}
(c) (d)

Figure 6: Graphs of the service time of the simulated tpcd workload and values calculated using our probe-based storage model. The initial configuration used had a 40$ \mu $m movement range in both $ X$ and $ Y\!$, 320 active tips and 10 tips in $ Y$ per cluster. (a) varying the movement range in $ X\!$. (b) varying the movement range in $ Y\!$. (c) varying the number of active tips. (d) varying the number of tips in $ Y$ per cluster.
\includegraphics[height=2.2in]{figures/rlt_movx.eps} \includegraphics[height=2.2in]{figures/rlt_movy.eps}
(a) (b)
\includegraphics[height=2.2in]{figures/rlt_tipsiny.eps} \includegraphics[height=2.2in]{figures/rlt_activetips.eps}
(c) (d)

We used as default physical parameter values from Table 1 and varied configurable parameters one at a time within the ranges shown in same table. These ranges were selected because they represent reasonable variation around default values for which behavior is well understood [22].


Table 3: Comparison of the service time of several simulated workloads to our model as both a percentage difference and a root mean squared difference, as we vary several parameters.
Varied Workload
parameter cello99 cello92 snake tpcd
  mean error RMS error mean error RMS error mean error RMS error mean error RMS error
$ \delta_x$ 2.2 % 0.03 ms 8.0 % 0.10 ms 7.8 % 0.09 ms 1.4 % 0.02 ms
$ \delta_y$ 0.8 % 0.01 ms 6.2 % 0.07 ms 8.3 % 0.08 ms 1.4 % 0.02 ms
$ A$ 1.1 % 0.02 ms 6.0 % 0.07 ms 8.4 % 0.08 ms 3.2 % 0.03 ms
$ T_y$ 1.6 % 0.02 ms 6.6 % 0.07 ms 6.7 % 0.06 ms 1.4 % 0.02 ms


Figures 5a-d show the results we obtained for snake, cello92, and cello99 workloads, and 6a-d show our results for the tpcd workloads. In Figure 5a, we see that for snake and cello92, as $ \delta_x$ increases, the predicted service time deviates more from the experimental values. This is because the original disk from which the traces are taken is smaller than the probe-storage devices we are mapping those requests to. Thus, seeks occur over only a small fraction of the movement range in $ X$, and our model overestimates the seek time as the device capacity increases. For cello99 and tpcd, traces taken from disks with higher capacity, this effect is much smaller. In fact, the error decreases in the case of the tpcd workload, as we can see from Figure 6a.

In general, model error decreases as we increase movement range in $ Y$ (Figure 5b). Because the sectors are ordered vertically, seeks are distributed across the entire $ Y$ movement range during the workload simulation. Thus the seek time predicted by our model better approximates the experimentally obtained values. This error becomes even smaller for higher movement ranges in $ Y\!$, when seeks in $ Y$ dominate those in $ X\!$. We can see from Figure 5b that when the movement range in $ Y$ is greater than 20$ \mu $m, service time for cello92, snake and cello99, which have similar request sizes and runlengths, does not change significantly. Increasing the movement range in $ Y$ increases the average number of bytes that can be read before the mover must turnaround, however, these workloads with small requests do not benefit from this. In contrast, tpcd has a much larger request size and runlength, hence its service time is minimized for greater values of the movement range in $ Y\!$, as shown in Figure 6b.

Figures 5c and 6c confirm our expectation that the number of tips in $ Y$ per cluster has a negligible effect on performance at values greater than two.

Finally, Figures 5d and 6d show that increasing the number of active tips increases the level of parallelism inside the device, decreasing transfer time. The smaller transfer time at higher numbers of active tips makes errors in seek time more pronounced, causing the deviation between models and simulation.

We show the model error for each configurable parameter in Table 3. The percent error is calculated by computing the average percentage difference of the model-predicted values from the simulated values at each data point. The RMS difference is the root-mean squared vertical difference between the model predictions and the simulated workload value (in ms). The data in Table 3 show that our model closely approximates the simulated service time for all four workloads. Even though we mapped workloads to devices with different capacities and assumed random distribution of requests, our model was within 8% of the simulated values.

Figure 7: Performance of configuration minimizing service time when capacity and request sizes are fixed. Above: Graph of the service time for a range of values for the movement range in $ Y$ for the simulated trace workloads. The movement range in $ X$ was adjusted at each point to keep the capacity at 2GB. Below: Experimentally obtained and predicted service times for the four workloads, and optimal configurations.
\includegraphics[height=2.2in]{figures/optimum_graph_1.eps}
 
 
Optimal
Configuration cello99 cello92 tpcd snake
   $ \delta_x$($ \mu $m) 9 9 5 9
   $ \delta_y$($ \mu $m) 22 22 40 22
    $ T_{active}$ 2560 2560 2560 2560
Service time        
   simulated (ms) 0.52 0.51 0.26 0.38
   predicted (ms) 0.50 0.52 0.22 0.42
   error 3.8% 1.9% 15.4% 13.5%
Default
Configuration cello99 cello92 tpcd snake
Service time        
   simulated (ms) 0.98 0.91 1.31 0.79
   predicted (ms) 0.97 1.00 1.38 0.85
Difference        
from optimal        
   simulated 88% 78% 403% 108%
   predicted 94% 92% 527% 102%
 

Figure 8: Performance of configuration minimizing service time for a fixed number of active tips. Above: Graph of the service time for a range of values for the movement range in $ Y$ for the simulated trace workloads. Below: Experimentally obtained and predicted service times for the four workloads and optimal configurations.
\includegraphics[height=2.2in]{figures/optimum_graph_3.eps}
 
 
Optimal
Configuration cello99 cello92 tpcd snake
   $ \delta_x$($ \mu $m) 5 5 5 5
   $ \delta_y$($ \mu $m) 29 27 80 32
    $ T_{active}$ 320 320 320 320
Service time        
   simulated (ms) 0.80 0.83 1.08 0.70
   predicted (ms) 0.77 0.78 1.06 0.69
   error 3.8% 6.0% 1.9% 1.4%
Default
Configuration cello99 cello92 tpcd snake
Service time        
   simulated (ms) 0.98 0.91 1.31 0.79
   predicted (ms) 0.97 1.00 1.38 0.85
Difference        
from optimal        
   simulated 23% 9.6% 21.3% 13%
   predicted 26% 28.2% 30.2% 23%
 


next up previous
Next: Optimal System Design Up: Service Time Model Previous: Service Time Model
Ivan Dramaliev 2003-01-06