10.07.2015 Views

An Architecture for Dynamic Allocation of Compute Cluster Bandwidth

An Architecture for Dynamic Allocation of Compute Cluster Bandwidth

An Architecture for Dynamic Allocation of Compute Cluster Bandwidth

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1D. ThroughputAs stated, the goal <strong>of</strong> this proposed architecture is tomaximize bandwidth usage <strong>for</strong> batch data transfers. The delaytime to the start <strong>of</strong> the transfer is secondary to maximizingutilization <strong>of</strong> available bandwidth. However, the wait time toacquire a node can affect the overall system throughput. Figure8 shows this.Figure 8: Single Client ThroughputIn the experiment we used the Zero-Idle GRAM policy andrepeatedly ran a single client transfer request <strong>of</strong> a 1 GByte file,one hundred times in sequence. We measured the overallthroughput used by the system as a function <strong>of</strong> an increasingqueue wait times. The maximum possible bandwidth available<strong>for</strong> consumption is one Gbit/s. Our results show that we onlyachieve 20% <strong>of</strong> the maximum with no wait, and as the waittime increases the bandwidth utilization decreases. Thehistograms in Figure 9 provide insight into why. Peak transferrates are reached only over the small interval after a backendservice is allocated to a transfer and be<strong>for</strong>e the transfer isfinished. The peak times are followed by idle intervalsspanning the wait time plus the connection time. The longerthe wait time, the longer the network idle time and thus thelower overall throughput.E. CachingOne approach to eliminating the time gaps between transfersinvolves using the Time Cache policy. We demonstrate thiswith an experiment using four backends and four clientmachines. A client is run on each machine transferring a series<strong>of</strong> one Gigabyte files in serial. Each backend service has awallclock time <strong>of</strong> one minute.Figure 9: Single Client Transfer HistogramsThe graph in Figure 10 shows the results <strong>of</strong> the first 60seconds <strong>of</strong> this experiment. Each colored bar represents thethrough put achieved by a client machine in a two secondstime step. Figure 10 shows the network is only idle at thebeginning when we are requesting new nodes. The remainder<strong>of</strong> the time the backend services are cached and there<strong>for</strong>eready to per<strong>for</strong>m transfer requests immediately. Were theexperiment to continue on <strong>for</strong> another minute we would seeanother drop in per<strong>for</strong>mance as the cached backends wallclocktime expired. This ratio <strong>of</strong> cached time to fetch time can beadjusted by requesting longer and shorter wallclock times.Longer wallclock times will result in higher overall bandwidthutilization under heavy client loads. Conversely, shorterwallclock times reduce the potential backend idle time underlightclientloads.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!