DB925799-CISC3018 Assignment
DB925799-CISC3018 Assignment
d cs =max
NF
,
{ F
u s min ( d i ) }
{ }
For N=5, d cs =max 5 ×20 , 20 =max {2.5,2 }=2.5
40 10
{ }
For N=10, d cs =max 10 ×20 , 20 =max {5,2 }=5
40 10
{ }
For N=20, d cs =max 20 ×20 , 20 =max {10,2 }=10
40 10
{ 40 10 }
For N=40, d =max 40× 20 , 20 =max { 20,2 }=20
cs
{ 40 10 }
For N=60, d =max 60 ×20 , 20 =max {30,2 }=30
cs
d P 2 P=max
F
{
,
F
,
NF
us min ( d i ) us + ∑ u i }
{ }
For N=5, d P 2 P=max 20 , 20 , 5× 20 =max { 0.5,2,1.5 }=2
40 10 40+ 5× 5
=max { , ,
40 10 40+ 10× 5 }
For N=10, d P 2 P 20 20 10× 20
=max { 0.5,2,2.2 }=2.2
=max { , ,
40 10 40+ 20× 5 }
For N=20, d P 2 P 20 20 20 ×20
=max { 0.5,2,2.9 }=2.9
=max { , ,
40 10 40+ 40 ×5 }
For N=40, d P 2 P 20 20 40 ×20
=max { 0.5,2,3 .3 }=3.3
=max { , ,
40 10 40+ 60× 5 }
For N=60, d P 2 P 20 20 60 ×20
=max { 0.5,2,3.5 }=3.5
(c) Comparing the two solutions, Client/Server model increases linearly when the
number of peer N increases, meaning the more the clients the longer the latency.
While for the Peer-to-Peer model, since all nodes can upload data, it will be more
efficient when the number of peer N increases, meaning the more the peer N, the
larger the performance improvement can be achieved with the model.
{ }
(d) For N=∞ , d cs =max ∞ ×20 , 20 =max { ∞ , 2 }=∞
40 10
1
{ }
For N=∞ , d P 2 P=max 20 , 20 , ∞ × 20 =max { 0.5,2,4 }=4
40 10 40+ ∞ × 5
Question 2:
In the CAP Theorem, due to the separated geographical locations, the three
important features are as followed:
"C" means Consistency. At anytime, all the distributed servers should be consistent
with each other, which means having a same copy of data. Consistency requires
synchronization among distributed servers, so reliable connectivity with low-latency
to achieve a timely synchronization.
"A" means Availability. At any time, non-failing distributed servers (even with the
data without being updated) should respond to users’ requests immediately, upon
receiving the requests.
"P" means Partition Tolerance. Practical communications among different servers are
imperfect such as latency and intermitted disconnection.
Based on the CAP Theorem, a distributed cannot achieve the consistency, availability,
and partition tolerance simultaneously. For example strictly requiring Availability
might be unable to guarantee Consistency, or vice versa, meaning the server without
its data updated should delay its response. Also, if we want to ensure Partition
Tolerance and Availability, Consistency cannot be ensured, which means we cannot
ensure that all users can get the same copies of the data at any time (or in other
words, a user cannot obtain the consistent solution from different servers). On the
other hand, if we want to ensure Partition Tolerance and Consistency, then we
cannot ensure Availability due to severs without being synchronized will not respond
to the users’ requests.
In conclusion, a distributed system can only achieve two out of three features. One of
the three features must be sacrificed for keeping the other two.
2
Question 3:
The advantages of Cloud Computing Services are as followed:
It is Cost-efficient as it is not necessary to keep the resource always standing by, On-
Demand resource usage is efficient and flexible. Also, it utilize the efficient resources.
Due to the fact that Cloud Computing Services share Infrastructure (resource) as a
pool with flexible resource, it allows allocation and collection of data to be more
utilized. Moreover, it is friendly for App. development, as it can focus more on
developing applications and managing data, instead of infrastructure and network
resources. Last but not least, the Service accessibility. Ubiquitous data access in
anytime, anywhere, so it is always be consistent to access data and resources.
On the other hand, the disadvantages are as followed:
Cloud Computing Services are highly Internet dependent, the performance will be
poor under low-speed internet connection. Furthermore, as it influence other
applications, it requires additional bandwidth-resource usage. Additionally, as it is
necessary to set up agreement involving in network connection and resource
availability at the pool with cloud provider in advance, so it rely highly for the service.
Also, as it disclose personal data and information for remote processing, which is
hard to control, so there is privacy issue in it. Lastly, migrating data from one cloud
platform to another cloud platform is hard, so the vendor migration is also a
problem.
3
Question 4:
(a) For a public cloud, the publicly shared virtualized resources, it support a large
number of customers. It only requires general Internet connectivity and so it is more
for providing security-insensitive services. On the other hand, for a private cloud,
virtualized resources are shared privately by only a limited number of authorized
customers, it requires general or special connectivity over Internet, through Fiber or
even private networks. It provides secure or confidential services. Organizations or
Businesses require deep control of the services, and data security.
4
Question 5:
Infrastructure as a Service (IaaS) provides end-customers various infrastructure
resources (mainly the hardware and the associated management systems), such as
computing resources CPU and GPU, memory and storage, on-shell servers,
networking and management systems. It is not necessary for the end-customer to
directly invest on and manage the onsite (always stand-by) infrastructures, which is
cost-efficient. It can also be flexibly increased or decreased the infrastructure
resources, for example CPU or GPU resources and storage units according to
requests. Furthermore, end-customers can focus on developing OS and all the
above.
Platform as a Service (PaaS) provides end-customers a virtual platform for their
application development and data management such as operation systems,
middleware, and running environment . A PaaS provider could be the customer of
another IaaS provider. Customers (especially small business) using the PaaS can focus
on developing their applications without concerning about the platform or
environment below so it is very cost-efficient.
Software as a Service (SaaS) provides end-customers with direct usage of the
software or applications as well as the data management, while end-customer does
not need anything other than the usage. Customers can access the software or
applications and data from any device, anytime, and anywhere with Internet. SaaS is
flexible and customer friendly as customer can access the software or applications
and data from any device, anytime, and anywhere with Internet, also the
performance strongly depends on the quality of Internet connection.
5
Question 6:
(a) The two approaches for implementing the hypervisor are the AWS approach and
the Google approach. The core service of AWS are leasing resources (compute units,
storage, CDN, database and networking) to customers (users). It build a (global)
resource pool (including networking) in advance and customers can obtain the
resources from the pool in an “on-demand” approach (for example by signing a
temporary agreement with AWS). On the other hand, the Google approach exploit
the global data centers (including computing and storage resources) as a virtual and
distributed “storage and caching” pool and provide Cloud service as a large-scale
distributed computing systems by using the distributed storage and caching pool.
(b) The VMware uses the AWS approach to implement its hypervisor. By using the
AWS approach, each customer runs its own OS on the virtual machine VM with
allocated resources according to the agreement. Furthermore, hypervisor manages
and coordinates different VMs to share the common resource pool. It enable the
dynamic resource allocation for improving efficiency, and reducing the cost (or
investment) when customers deliver their services.