2-RPDR

QR Code Scanner In .NET FrameworkUsing Barcode Control SDK for VS .NET Control to generate, create, read, scan barcode image in VS .NET applications.

Group 0 1 before reorganization

QR Printer In .NETUsing Barcode encoder for .NET Control to generate, create QR-Code image in Visual Studio .NET applications.

Group 0 1 after reorganization

Denso QR Bar Code Scanner In .NET FrameworkUsing Barcode recognizer for .NET Control to read, scan read, scan image in VS .NET applications.

Figure 15.7 Reorganizing group 0 and 1 using the 2-RPDR algorithm

Bar Code Encoder In .NETUsing Barcode generation for VS .NET Control to generate, create barcode image in .NET framework applications.

Scalable Continuous Media Streaming Systems

Barcode Decoder In .NET FrameworkUsing Barcode decoder for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications.

Therefore, to employ m-RPDR the system will need to be designed with this load imbalance in mind to guarantee streaming performance.

QR-Code Encoder In Visual C#.NETUsing Barcode generator for VS .NET Control to generate, create QR Code 2d barcode image in .NET applications.

15.3.4 Performance Analysis

Print QR Code ISO/IEC18004 In VS .NETUsing Barcode maker for ASP.NET Control to generate, create QR Code image in ASP.NET applications.

In this section, we evaluate and compare the multi-row-permutated data reorganization algorithm with the round-robin [2] and the SCADDAR [3] algorithms, both originally proposed for disk arrays. The performance metrics used for comparison are data reorganization overhead and streaming load balance. The results are computed numerically for a media object of B = 4,000 blocks. Unless stated otherwise the system begins with a single node and then incrementally grows to 200 nodes by adding new nodes one by one. Each data point is averaged over 50 results obtained from using different random seeds for the random number generator (used in SCADDAR and the m-RPDR algorithms). 15.3.4.1 Data Reorganization Overhead Data reorganization overhead is de ned as the number of data blocks that need to be redistributed to bring the system back to streaming load balance. This metric can re ect the time, memory and bandwidth requirement incurred by the reorganization process. For a system with B blocks already evenly distributed to n nodes, the minimum number of blocks that need to be redistributed when a new node is added is equal to B/(n + 1), provided that perfect storage balance is to be maintained. Note that this lower bound does not consider streaming load balance. The SCADDAR algorithm in some cases incurs less overhead than the lower bound because SCADDAR does not guarantee storage balance. For round-robin placement, we can derive the approximate reorganization overhead analytically. Consider expanding a system from (n 1) nodes to n nodes. If we divide the media blocks into groups of LCM(n 1, n) blocks, where the function LCM(n 1, n) computes the least common multiple of n 1 and n, then the rst (n 1) blocks in each group will not need to be moved (see Figure 15.1 for an example). All other blocks in the group will need to be relocated. Therefore, the reorganization overhead in round-robin placement is given by B LCM(n 1, n) (n 1) LCM(n 1, n) =B (n 1)n (n 1) (n 1)n 1 n (15.1)

QR Creation In VB.NETUsing Barcode creator for VS .NET Control to generate, create QR-Code image in VS .NET applications.

= B 1

Encode Barcode In .NET FrameworkUsing Barcode encoder for .NET framework Control to generate, create bar code image in VS .NET applications.

For the SCADDAR algorithm the reorganization overhead has been shown to approach the theoretical lower bound of B/n and the exact values can be obtained from simulated calculations. Similarly, we also obtain the reorganization overhead of m-RPDR using simulated calculations. Figure 15.8 compares the reorganization overhead of round-robin, SCADDAR, and m-RPDR for m = 1, 2, 5, and 10. There are three observations. First, the round-robin algorithm and the SCADDAR algorithm have the highest and lowest reorganization overhead respectively. Moreover, the differences

Creating Code-128 In .NETUsing Barcode creator for Visual Studio .NET Control to generate, create Code 128C image in .NET applications.

Algorithms for System Expansion

Generating GTIN - 128 In .NETUsing Barcode drawer for Visual Studio .NET Control to generate, create EAN / UCC - 14 image in .NET framework applications.

10000 Round-Robin

Printing MSI Plessey In .NETUsing Barcode encoder for Visual Studio .NET Control to generate, create MSI Plessey image in .NET applications.

Reorganization Overhead (blocks)

Drawing Barcode In JavaUsing Barcode generation for Java Control to generate, create barcode image in Java applications.

1-RPDR 2-RPDR 5-RPDR SCADDAR 10-RPDR

GTIN - 128 Generation In Visual C#.NETUsing Barcode printer for VS .NET Control to generate, create EAN128 image in .NET applications.

10 0 50 100 System Size (nodes) 150 200

DataMatrix Printer In VB.NETUsing Barcode creator for .NET framework Control to generate, create ECC200 image in VS .NET applications.

Figure 15.8 Comparison of reorganization overhead versus system size

Bar Code Generation In VS .NETUsing Barcode drawer for ASP.NET Control to generate, create bar code image in ASP.NET applications.

increase when the system grows larger. This is because for the SCADDAR algorithm the overheads approximately equal to B/n and so decreases as the system grows. By contrast, overheads of the round-robin algorithm approach B as n increases (cf. equation (15.1)). Second, the reorganization overheads of the m-RPDR algorithms are lower than the roundrobin algorithm but higher than the SCADDAR algorithm. In particular, a larger value of m will result in lower reorganization overhead, thus providing a tool to trade off streaming load balance for lower reorganization overhead. Third, the 1-RPDR algorithm can achieve lower overhead than the round-robin algorithm and yet can still achieve perfect streaming load balance. Thus, the 1-RPDR algorithm can be used in place of the round-robin algorithm whenever perfect streaming load balance is required. So far we have assumed that the system is reorganized whenever a new node is added to the system. In practice, it may be desirable to add multiple nodes to the system at the same time to amortize the administrative overheads. Interestingly, performing data reorganization simultaneously for multiple nodes can also result in lower per-node reorganization overhead compared to adding them one by one. Figure 15.9 illustrates the potential savings from performing data reorganization for k = 1, 2, 3, and 5 new nodes. The results clearly show that the per-node reorganization overhead decreases signi cantly (note that the vertical axis is in logarithm scale) for larger values of k. Moreover, the savings are most signi cant when switching from k = 1 to k = 2, suggesting that adding nodes to the system two-at-a-time can be an ef cient strategy to expand the system incrementally.

Generating Code 128 Code Set B In VB.NETUsing Barcode maker for Visual Studio .NET Control to generate, create Code 128 image in .NET framework applications.

Paint Barcode In Visual Basic .NETUsing Barcode creation for .NET Control to generate, create barcode image in VS .NET applications.

Data Matrix ECC200 Printer In .NET FrameworkUsing Barcode maker for ASP.NET Control to generate, create ECC200 image in ASP.NET applications.