Chapter 3 Enabling Technologies

advertisement
Chapter 3 Enabling Technologies
Zhenlong Li, Qunying Huang and Zhipeng Gui
1
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Objective
Develop basic understanding of cloud computing
enabling technologies:
1.
2.
3.
4.
5.
Hardware advancements
Computing technologies
Virtualization
Distributed file system
Web x.0 technologies
2
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
3
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Hardware advancements:
Multi-core and Many-core Technologies
• Single-core and multi-thread computing model is
unable to meet the intensive computing demand
• Multi-core CPU was first used in late 1900s
• Characterized by low electricity consumption,
efficient space utilization, and favorable
performance
• Help cloud providers build energy-efficient and high
performance data centers
4
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Hardware advancements: Networking
• Cloud computing provides services in a multi-tenant
environment where network is serving as the “glue”
function.
 Cloud services are delivered to cloud consumers through
network.
 Private cloud, public cloud and hybrid cloud are defined
by the networking relationship between cloud consumers
and providers.
5
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Hardware advancements:
Storage and Smart Devices
• Cloud storage is a virtualized extensible resource.
• Cloud services usually need a large volume of storage
to ensure elastic support for consumers.
• The fast developing hard-drive technologies meet
the storage need of cloud computing.
• Smart devices accelerate the development of cloud
computing by enriching its access channels for cloud
consumers.
6
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
7
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Computing technologies:
Distributed Computing Paradigm
• Distributed computing: utilize computing capacity
from multiple distributed computers to address
larger computational problems.
• Distributed computing is the most obvious
predecessor technology that enabled the inception
of cloud computing.
• Distributed computing: an infrastructure that
delivers storage and compute resources.
• Cloud computing: make extensive and highly
virtualized resources easily available and scalable
over the Internet as services.
8
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Computing technologies:
Computing Architecture Model
• Client/Server (C/S) model
• offering a central repository of computers
• personal computers and workstations serving as
terminals
• Browser/Server (B/S) model
• web browser is used as the client program
• unifying different client programs in the C/S model
• simplifying the system development, maintenance and
usage
• B/S is the key computing architecture model in the
evolution of cloud computing
9
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited10
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Virtualization: Implementation
• Hypervisor establishes an abstraction layer between the VMs
and the underlying hardware.
• Hypervisor captures CPU instructions, and acts as a
coordinator for instructions to access hardware controllers
and peripherals.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited11
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Virtualization: Implementation
• Full virtualization
• Based on the host/guest paradigm
• Each guest runs on a virtual imitation of the hardware
layer
• Para-virtualization
• Attempts to provide most functions directly from the
underlying hardware instead of abstracting it
• Overcomes performance overhead introduced by the
hypervisor in a full virtualization approach
• Hardware virtualization
• A virtualization solution when the hypervisor is
embedded in the circuits of a hardware component
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited12
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Virtualization: Solutions
Hypervisor
Cloud Services
Virtualization Approach
Software Type
Xen
Amazon EC2, GoGrid,
21vianet CloudEx,
RackSpace Mosso
Para-virtualization
Open Source
KVM
CloudStack, Nimbus
Full-virtualization
Open Source
VirtualBox
VirtualBox
Full-virtualization
Open Source
SmartOS
Joyent
Open Source
Virtual PC
Microsoft Azure
A combination of
hardware and OS
virtualization
Para-virtualization
VMware
AT&T Synaptic, Verizon
CaaS
Full-virtualization
Commercial
Commercial
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited13
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited14
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Distributed File System (DFS)
• DFS allows access to files from multiple hosts, via a computer
network.
• DFS enables multiple machines to share files and storage
resources.
• DFS usually serves on the top of local file systems (lower level
file system).
• The client nodes do not have direct access to the
underlying block storage but interact over the network using
a protocol.
• Cloud computing utilizes the distributed data storage
technology to store data.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited15
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
DFS: Google File System(GFS)
• Developed by Google for large distributed dataintensive applications.
• Major difference compared to Network File
System(NFS)
 Bigger chunks: Google chunk size is 64MB. This design
is more suitable for big file and then provides better IO
performance.
 Multiple data replication: to guarantee the reliability,
GFS provides at least 3 data redundancies.
 Not local caching: unlike NFS which offer local caching
at client side, GFS doesn’t support local caching.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited16
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
DFS: Hadoop Distributed File System (HDFS)
• An open source distributed file system designed to run
on commodity hardware.
• HDFS is designed considering the following
characteristics:
 Failures are normal rather than the exception;
 Large data sets (huge file size, typical in GB to TB);
 Streaming data access, e.g., file is sequential read;
 Append to write;
 Hundreds of concurrent write accesses;
 Bandwidth is more important than latency;
 Moving computation is cheaper than moving data.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited17
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited18
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Web x.0: The evolution of Web
• Web 1.0
• emerged as early as 1993
• the web pages are static
• Web 2.0.
• first coined in 2004 ,
• the web pages are dynamic and editable
• Web 3.0
• aims to make the Web more intelligent
• also called Intelligence Web
• Web 4.0
• still a developing conception, no clear and exact definition is
formed yet
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited19
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Web x.0: Web Services
• A web service is a software system designed to support
interoperable machine-to-machine interaction over a
network
• SOAP-based web services:
• Web Services Description Language (WSDL)
• Simple Object Access Protocol (SOAP)
• XML is extensively used
• REST-based web services:
• retrieve information through simple HTTP methods such
as GET, POST, PUT and DELETE.
• E.g. Google APIs, Yahoo APIs and OGC services
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited20
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Web x.0: Service-Oriented Architecture (SOA)
• A SOA-based system is comprised of many loosely
coupled services.
• Benefits of using SOA:
• Component reusing
• Existing system integration
• Language and platform independent
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited21
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Web x.0: Cloud computing and SOA
• Cloud computing, to a large extent, leverages the
concept of SOA, especially in the SaaS and PaaS layers.
• They have different emphasis:
-- SOA is an architecture focusing on
answering the question of “how to
develop applications”.
-- Cloud computing is an infrastructure
emphasizing on the solution of
“how to deliver applications”.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited22
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Learning Modules
1. Hardware advancements
2. Computing technologies
3. Virtualization
4. Distributed file system
5. Web x.0 technologies
6. Discussion
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited23
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Discussion Questions
1. Please enumerate the key enabling technologies of cloud computing from the
aspects of hardware, computing, file system and the Web.
2. Why many-core technology could help cloud providers build energy-efficient
data centers?
3. Why networking is important to cloud computing?
4. What is virtualization and how it helps enable cloud computing? Please
enumerate five virtualization solutions.
5. What are the major differences between a distributed file system (DFS) and a
traditional file system? Please give two examples of DFS.
6. Please enumerate the development stages of the Web.
7. What are the characteristics of SOA and how SOA relates to cloud computing?
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited24
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Aghaei, S., M. A. Nematbakhsh, and H. K. Farsani. 2012. "Evolution Of The World Wide Web: From Web 1.0 To Web 4.0." International Journal of Web &
Semantic Technology (IJWesT) 3, no. 1 .
Benslimane, D., S. Dustdar, and A. Sheth. 2008. "Services mashups: The new generation of web applications." Internet Computing, IEEE 12, no. 5: 13-15.
Borthakur, D. 2007. "The hadoop distributed file system: Architecture and design." Hadoop Project Website 11: 21.
Chai, L., Q. Gao, and D. K. Panda. 2007. "Understanding the impact of multi-core architecture in cluster computing: A case study with intel dual-core
system." In Cluster Computing and the Grid, 2007. CCGRID 2007. Seventh IEEE International Symposium on, pp. 471-478. IEEE.
Foster, I., Y. Zhao, I. Raicu, and S. Lu. 2008. "Cloud computing and grid computing 360-degree compared." In Grid Computing Environments Workshop,
2008. GCE'08, pp. 1-10. Ieee.
Ghemawat, S., H. Gobioff, and S. Leung. 2003. "The Google file system." In ACM SIGOPS Operating Systems Review, vol. 37, no. 5, pp. 29-43. ACM.
Mell, P., and T. Grance. 2011. "The NIST definition of cloud computing (draft)." NIST special publication 800: 145.
Pase, D. M., and M. A. Eckl.2005. "A comparison of single-core and dual-core Opteron processor performance for HPC."IBM xSeries Performance
Development and Analysis.
Shvachko, K., H. Kuang, S. Radia, and R. Chansler. 2010. "The hadoop distributed file system." In Mass Storage Systems and Technologies (MSST),IEEE 26th
Symposium on, pp. 1-10. IEEE.
Sagona, P. 2009. "A preliminary performance analysis of medical image registration on single-core and multi-core clusters." Lecture Notes in Computer
Science. doi 10, no. 1.130: 1367.
Shakian, A. 2011. Oracle Cloud File System. Oracle White Paper.http://www.oracle.com/technetwork/products/cloud-storage/cloudfs-overview-wp279856.pdf? ssSourceSiteId=ocomen(Accessed March 12, 2013).
Sahoo, J., S. Mohapatra, and R. Lath. 2010. "Virtualization: A survey on concepts, taxonomy and associated security issues." In Computer and Network
Technology (ICCNT), 2010 Second International Conference on, pp. 222-226. IEEE.
T OGRAPH, B., and Y. RICHARD MORGENS. 2008. " Cloud computing." Communications of the ACM 51, no. 7.
Vaquero, L. M., L. Rodero-Merino, J. Caceres, and M. Lindner. 2008. " A break in the clouds: towards a cloud definition." ACM SIGCOMM Computer
Communication Review 39, no. 1: 50-55.
Youseff, L., M. Butrico, and D. D. Silva. 2008. "Toward a unified ontology of cloud computing." Grid Computing Environments Workshop.GCE'08.IEEE.
Yeager, P. S. "A distributed file system for distributed conferencing system." PhD diss., University of Florida, 2003.
Z. Li, Q. Huang and Z. Gui, 2013. Chapter 3 Enabling technologies, In Spatial Cloud Computing: a practical approach, edited25
by
C.Yang, Q. Huang, Z. Li, C. Xu, K. Liu, CRC Press: pp. 31-46.
Download