# ReSQoV: A Scalable Resource Allocation Model for QoS-Satisfied Cloud Services
## 3 Proposed Approach
### Scalable Resource Allocation
Figure 1a demonstrates that both \(\lambda\) and \(\sigma\) are zero so as to achieve linear scalability or maximum efficiency. Figure 1b indicates \(\lambda\) is zero, while \(\sigma\) is more significant than zero, which leads to non-linear scalability or some efficiency loss. Cloud applications transactions are relatively small and independent, ideally working in parallelism on multi-core cloud infrastructure. The capacity function \(C(p)\) is throughput achieved using \(p\)-cores \(Xp\), relative to throughput on a single-core \(X1\). Ideally, the scale-up capacity is given by the ratio  
\[C(p)=\frac{X_{p}}{X_{1}} \tag{3}\]  
Suppose single-core performs operations at 100% utilization (i.e., no Contention and coherence-delay) and completes \(N_{1}\) transactions with response time \(T_{1}\). The single-core throughput is as follows  
\[X_{1}=\frac{N_{1}}{T_{1}} \tag{4}\]  
Figure 1: Scalability performance for throughput: (**a**) linear scalability; (**b**) non-linear scalability. The effect of scale-up on response time means that, while double the size of the workload and twice the number of Pes, the dual-cores capacity is expected to be twice the value. \[C_{2}=2C_{1} \tag{5}\]  
However, from the contention \(\sigma\) and coherence-delay (\(\lambda\)), and from the measurements on real multi-core systems, it can be seen that the dual-core processor performs transactions slightly less than 2N1 in time T1. I suppose that the increase in response time alpha (\(\alpha\)) for the multi-core is some fraction \(\sigma\)T1 of the single-core response time: following Figure 2 shows that in multi-core processors additional time added for coherence delay, contention and serialization that doesn't exist in single-core processor. \[T_{2}=T_{1}+\alpha T_{1} \tag{6}\]  
Since the dual-core time \(T_{2}\) is longer than \(T_{1}\), it will impact throughput and be less than expected. The following equations derive the explicit dual-processor throughput. \[X_{1}=\frac{N_{2}}{T_{2}} \tag{7}\]  
\[X_{2}=\frac{2C_{1}}{T_{1}+\alpha T_{1}} \tag{8}\]  
\[X_{2}=\frac{2C_{1}}{T_{1}+\alpha T_{1}} \tag{9}\]  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]0  
Which is simplified as  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]1  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]2 Effect of multiuser scale-up increases response time in accordance to multi-core processors. It proves that for any nonzero value of \(\alpha\), the dual-core throughput capacity is less than twice that of the single-core system. Assuming that \(\alpha\) is only 4% of \(T1\), then the dual-core processor scale-up capacity \(C\) (\(2\)) = \(X2/X^{\prime}1\) is only 1.92 of the capacity of the single-core. Consequently, if a single-core is capable of 100 transactions/sec, the dual-core will accomplish 192 transactions/sec instead of 200 transactions/sec as the expected result of naive parallelism. By expending the argument analogy with (11), the four-core response time increases each time for every core increment \(\alpha T1\)  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]3  
So the corresponding throughput for \(X_{4}\) would be  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]4  
By generalizing Equation (13), the throughput for a p-core system would be as follows  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]5  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]6  
And the p-core scale-up is derived as  
\[C(csv)=\frac{U}{1+\sigma(U-1)} \tag{2}\]7  
It is, therefore, possible to evaluate the optimum scalability by using Equation (2) by adjusting the values of contention and coherence presented in Equation (16). However, the viability of the USL method are detailed in section three onwards, after the identification and resource allocation processes.