module1 part1
module1 part1
Module 1
Distributed System Models and Enabling Technologies
Topics:
Over the past 60 years, computing technology has undergone a series of platform and
environment changes.
In this section, we assess evolutionary changes in machine architecture, operating system
platform, network connectivity, and application workload. Instead of using a centralized
computer to solve computational problems,
a parallel and distributed computing system uses multiple computers to solve large-scale
problems over the Internet.
Thus, distributed computing becomes data-intensive and network-centric.
This section identifies the applications of modern computer systems that practice parallel
and distributed computing. These large-scale Internet applications have significantly
enhanced the quality of life and information services in society today.
1
Cse bkec
Cloud computing
We have to upgrade data centers using fast servers, storage systems, and high-bandwidth
networks. The purpose is to advance network-based computing and web services with the
emerging new technologies.
FIGURE 1.1 Evolutionary trend toward parallel, distributed, and cloud computing with clusters,
MPPs, P2P networks, grids, clouds, web services, and the Internet of Things.
On the HTC side, peer-to-peer (P2P) networks are formed for distributed file sharing and
content delivery applications.
A P2P system is built over many client machines Peer machines are globally distributed
in nature.
P2P, cloud computing, and web service platforms are more focused on HTC applications
than on HPC applications.
2
Cse bkec
Cloud computing
Clustering and P2P technologies lead to the development of computational grids or data
grids.
3
Cse bkec
Cloud computing
Parallel computing In parallel computing, all processors are either tightly coupled with
centralized shared memory or loosely coupled with distributed memory. Some authors
refer to this discipline as parallel processing.
Distributed computing This is a field of computer science/engineering that studies
distributed systems. A distributed system consists of multiple autonomous computers,
each having its own private memory, communicating through a computer network.
Cloud computing An Internet cloud of resources can be either a centralized or a
distributed computing system. The cloud applies parallel or distributed computing, or
both. Clouds can be built with physical or virtualized resources over large data centers
that are centralized or distributed.
4
Cse bkec
Cloud computing
In addition, Moore’s law indicates that processor speed doubles every 18 months.
Although Moore’s law has been proven valid over the last 30 years, it is difficult to say
whether it will continue to be true in the future.
Almost all applications demand computing economics, web-scale data collection, system
reliability, and scalable performance. For example, distributed transaction processing is
often practiced in the banking and finance industry.
5
Cse bkec
Cloud computing
Transactions represent 90 percent of the existing market for reliable banking systems.
Users must deal with multiple database servers in distributed transactions. Maintaining
the consistency of replicated transaction records is crucial in real-time banking services. .
FIGURE 1.2 The vision of computer utilities in modern distributed computing systems.
6
Cse bkec
Cloud computing
Through a short period of disillusionment, the expectation may drop to a valley and then
increase steadily over a long enlightenment period to a plateau of productivity.
The number of years for an emerging technology to reach a certain stage is marked by
special symbols. The hollow circles indicate technologies that will reach mainstream
adoption in two years.
The gray circles represent technologies that will reach mainstream adoption in two to five
years. The solid circles represent those that require five to 10 years to reach mainstream
adoption, and the triangles denote those that require more than 10 years.
FIGURE 1.3 Hype cycle for Emerging Technologies, 2010.Hype Cycle Disclaimer
The Hype Cycle is copyrighted 2010 by Gartner, Inc. and its affiliates and is reused with
permission.
Hype Cycles are graphical representations of the relative maturity of technologies, IT
methodologies and management disciplines.
They are intended solely as a research tool, and not as a specific guide to action. Gartner
disclaims all warranties, express or implied, with respect to this research, including any
warranties of merchantability or fitness for a particular purpose.
This Hype Cycle graphic was published by Gartner, Inc. as part of a larger research note
and should be evaluated in the context of the entire report. The Gartner report is available
at.
The hype cycle in Figure 1.3 shows the technology status as of August 2010.
7
Cse bkec
Cloud computing
the Internet to everyday objects. We will only cover the basics of these concepts here; we
will discuss them in more detail in Chapter 9.
IoT extends the Internet to everyday objects, interconnecting devices, tools, and computers via
sensors, RFID, and GPS.
History: Introduced in 1999 at MIT, IoT enables communication between objects and people.
IPv6 Impact: With 2¹²⁸ IP addresses, IoT can assign unique addresses to all objects, tracking up
to 100 trillion static or moving objects.
Communication Models:
H2H (Human-to-Human)
H2T (Human-to-Thing)
T2T (Thing-to-Thing)
Development & Challenges:
IoT is in its early stages, mainly advancing in Asia and Europe.
Cloud computing is expected to enhance efficiency, intelligence, and scalability in IoT
interactions.
Smart Earth Vision: IoT aims to create intelligent cities, clean energy, better healthcare,
and sustainable environments.
8
Cse bkec
Cloud computing
With the concept of scalable computing under our belt, it’s time to explore hardware,
software, and network technologies for distributed computing system design and
applications.
In particular, we will focus on viable approaches to building distributed operating
systems for handling massive parallelism in a distributed environment.
Consider the growth of component and network technologies over the past 30 years. They
are crucial to the development of HPC and HTC systems. In Figure 1.4, processor speed
is measured in millions of instructions per second (MIPS) and network bandwidth is
measured in megabits per second (Mbps) or gigabits per second (Gbps). The unit GE
refers to 1 Gbps Ethernet bandwidth.
9
Cse bkec
Cloud computing
Multiple cores are housed in the same chip with an L2 cache that is shared by all cores. In
the future, multiple CMPs could be built on the same CPU chip with even the L3 cache
on the chip.
Multicore and multithreaded CPUs are equipped with many high-end processors,
including the Intel i7, Xeon, AMD Opteron, Sun Niagara, IBM Power 6, and X cell
processors. Each core could be also multithreaded.
For example, the Niagara II is built with eight cores with eight threads handled by each
core. This implies that the maximum ILP and TLP that can be exploited in Niagara is 64
(8 × 8 = 64). In 2011, the Intel Core i7 990x has reported 159,000 MIPS execution rate as
shown in the upper- most square in Figure 1.4.
FIGURE 1.5 Schematic of a modern multicore CPU chip using a hierarchy of caches, where L1
cache is private to each core, on-chip L2 cache is shared and L3 cache or DRAM Is off the chip.
10
Cse bkec
Cloud computing
The superscalar processor is single-threaded with four functional units. Each of the three
multithreaded processors is four-way multithreaded over four functional data paths.
In the dual-core processor, assume two processing cores, each a single-threaded two-way
superscalar processor.
FIGURE 1.6 Five micro-architectures in modern CPU processors, that exploit ILP and TLP
supported by multicore and multithreading technologies.
Instructions from different threads are distinguished by specific shading patterns for
instructions from five independent threads. Typical instruction scheduling patterns are
shown here. Only instructions from the same thread are executed in a superscalar
processor.
Fine-grain multithreading switches the execution of instructions from different threads
per cycle.
Course-grain multithreading executes many instructions from the same thread for quite
a few cycles before switching to another thread.
The multi core CMP executes instructions from different threads completely.
The SMT allows simultaneous scheduling of instructions from different threads in the
same cycle.
11
Cse bkec
Cloud computing
Unlike CPUs, GPUs have a throughput architecture that exploits massive parallelism by
executing many concurrent threads slowly, instead of executing a single long thread in a
conventional microprocessor very quickly.
12
Cse bkec
Cloud computing
FIGURE 1.7 The use of a GPU along with a CPU for massively parallel execution in hundreds or
thousands of processing cores.
13
Cse bkec
Cloud computing
The lower curve in Figure 1.10 plots the rapid growth of Ethernet bandwidth from 10
Mbps in 1979 to 1 Gbps in 1999, and 40 ~ 100 GE in 2011. It has been speculated that 1
Tbps network links will become available by 2013. According to Berman, Fox, and Hey
[6], network links with 1,000, 1,000, 100, 10, and 1 Gbps bandwidths were reported,
respectively, for international, national, organization, optical desktop, and copper desktop
connections in 2006.
An increase factor of two per year on network performance was reported, which is faster
than Moore’s law on CPU speed doubling every 18 months.
14
Cse bkec
Cloud computing
The implication is that more computers will be used concurrently in the future. High-
bandwidth networking increases the capability of building massively distributed systems.
The IDC 2010 report predicted that both InfiniBand and Ethernet will be the two major
interconnect choices in the HPC arena. Most data centers are using Gigabit Ethernet as
the inter connect in their server clusters.
FIGURE 1.12 Three VM architectures in (b), (c), and (d), compared with the traditional physical
machine shown in (a). C
In Figure 1.12, the host machine is equipped with the physical hardware, as shown at the
bottom of the figure. An example is an x-86 architecture desktop running its installed
Windows OS, as shown in part (a) of the figure. The VM can be provisioned for any
15
Cse bkec
Cloud computing
hardware system. The VM is built with virtual resources managed by a guest OS to run a
specific application.
Between the VMs and the host platform, one needs to deploy a middleware layer called a
virtual machine monitor (VMM). Figure 1.12(b) shows a native VM installed with the
use of a VMM called a hypervisor in privileged mode. For example, the hardware has x-
86 architecture running the Windows system.
The guest OS could be a Linux system and the hypervisor is the XEN system developed
at Cambridge University. This hypervisor approach is also called bare-metal VM,
because the hypervisor handles the bare hardware (CPU, memory, and I/O) directly.
Another architecture is the host VM shown in Figure 1.12(c). Here the VMM runs in
nonprivileged mode.
The host OS need not be modified. The VM can also be implemented with a dual mode,
as shown in Figure 1.12(d). Part of the VMM runs at the user level and another part runs
at the supervisor level. In this case, the host OS may have to be modified to some extent.
Multiple VMs can be ported to a given hardware system to support the virtualization
process.
The VMM provides the VM abstraction to the guest OS. With full virtualization, the
VMM exports a VM abstraction identical to the physical machine so that a standard OS
such as Windows 2000 or Linux can run just as it would on the physical hardware. Low-
level VMM operations are indicated by Mendel Rosenblum [41] and illustrated in Figure
1.13.
Multiplexing: Multiple VMs run on a single hardware machine. Suspension
& Storage: VM state is saved for later use. Resumption: Suspended VM can be restored
on a different machine.
16
Cse bkec
Cloud computing
A large data center may be built with thousands of servers. Smaller data centers are
typically built with hundreds of servers. The cost to build and maintain data center
servers has increased over the years.
According to a 2009 IDC report typically only 30 percent of data center costs goes
toward purchasing IT equipment (such as servers and disks), 33 percent is attributed to
the chiller, 18 percent to the uninterruptible power supply (UPS), 9 percent to computer
room air conditioning (CRAC), and the remaining 7 percent to power distribution,
lighting, and transformer costs.
Thus, about 60 percent of the cost to run a data center is allocated to management and
maintenance. The server purchase cost did not increase much with time. The cost of
electricity and cooling did increase from 5 percent to 14 percent in 15 years.
High-end switches or routers may be too cost-prohibitive for building data centers. Thus,
using high-bandwidth networks may not fit the economics of cloud computing.
Given a fixed budget, commodity switches and networks are more desirable in data
centers.
Similarly, using commodity x86 servers is more desired over expensive mainframes. The
software layer handles network traffic balancing, fault tolerance, and expandability.
Currently, nearly all cloud computing data centers use Ethernet as their fundamental
network technology.
17
Cse bkec
Cloud computing
Distributed and cloud computing systems are built over a large number of autonomous
computer nodes. These node machines are interconnected by SANs, LANs, or WANs in a
hierarchical manner.
With today’s networking technology, a few LAN switches can easily connect hundreds of
machines as a working cluster. A WAN can connect many local clusters to form a very
large cluster of clusters. In this sense, one can build a massive system with millions of
computers connected to edge networks.
Massive systems are considered highly scalable, and can reach web-scale connectivity,
either physically or logically. In Table 1.2, massive systems are classified into four
groups: clusters, P2P networks, computing grids, and Internet clouds over huge data
centers. In terms of node number, these four system classes may involve hundreds,
thousands, or even millions of computers as participating nodes.
These machines work collectively, cooperatively, or collaboratively at various levels. The
table entries characterize these four system classes in various technical and application
aspects.
18
Cse bkec
Cloud computing
Figure 1.15 shows the architecture of a typical server cluster built around a low-latency,
high-bandwidth interconnection network.
This network can be as simple as a SAN (e.g., Myrinet) or a LAN (e.g., Ethernet). To
build a larger cluster with more nodes, the interconnection network can be built with
multiple levels of Gigabit Ethernet, Myrinet, or InfiniBand switches.
Through hierarchical construction using a SAN, LAN, or WAN, one can build scalable
clusters with an increasing number of nodes.
The cluster is connected to the Internet via a virtual private network (VPN) gateway. The
gateway IP address locates the cluster.
The system image of a computer is decided by the way the OS manages the shared cluster
resources.
19
Cse bkec
Cloud computing
Most clusters have loosely coupled node computers. All resources of a server node are
managed by their own OS.
Thus, most clusters have multiple system images as a result of having many autonomous
nodes under different OS control.
FIGURE 1.15 A cluster of servers interconnected by a high-bandwidth SAN or LAN with shared
I/O devices and disk arrays; the cluster acts as a single computer attached to the Internet.
Greg Pfister [38] has indicated that an ideal cluster should merge multiple system images
into a single-system image (SSI).
Cluster designers desire a cluster operating system or some middleware to support SSI at
various levels, including the sharing of CPUs, memory, and I/O across all cluster nodes.
An SSI is an illusion created by software or hardware that presents a collection of
resources as one integrated, powerful resource.
SSI makes the cluster appear like a single machine to the user. A cluster with multiple
system images is nothing but a collection of independent computers.
we will discuss cluster design principles for both small and large clusters. Clusters
exploring massive parallelism are commonly known as MPPs. Almost all HPC clusters in
the Top 500 list are also MPPs.
The building blocks are computer nodes (PCs, workstations, servers, or SMP), special
communication software such as PVM or MPI, and a network interface card in each
computer node. Most clusters run under the Linux OS.
The computer nodes are interconnected by a high-bandwidth network (such as Gigabit
Ethernet, Myrinet, InfiniBand, etc.).
Special cluster middleware supports are needed to create SSI or high availability (HA).
Both sequential and parallel applications can run on the cluster, and special parallel
environments are needed to facilitate use of the cluster resources.
20
Cse bkec
Cloud computing
For example, distributed memory has multiple images. Users may want all distributed
memory to be shared by all servers by forming distributed shared memory (DSM).
Many SSI features are expensive or difficult to achieve at various cluster operational
levels. Instead of achieving SSI, many clusters are loosely coupled machines. Using
virtualization, one can build many virtual
Like an electric utility power grid, a computing grid offers an infrastructure that couples
computers, software/middleware, special instruments, and people and sensors together.
The grid is often constructed across LAN, WAN, or Internet backbone networks at a
regional, national, or global scale.
Enterprises or organizations present grids as integrated computing resources. Personal
computers, laptops, and PDAs can be used as access devices to a grid system. Figure 1.16
shows an example computational grid built over multiple resource sites owned by
different organizations.
The grid is built across various IP broadband networks including LANs and WANs
already used by enterprises or organizations over the Internet. The grid is presented to
21
Cse bkec
Cloud computing
users as an integrated resource pool as shown in the upper half of the figure.
FIGURE 1.16 Computational grid or data grid providing computing utility, data, and information
services through resource sharing and cooperation among participating organizations.
22
Cse bkec
Cloud computing
In a P2P system, every node acts as both a client and a server, providing part of the
system resources. Peer machines are simply client computers connected to the Internet.
All client machines act autonomously to join or leave the system freely.
This implies that no master-slave relationship exists among the peers. No central
coordination or central database is needed. In other words, no peer machine has a global
view of the entire P2P system. The system is self-organizing with distributed control.
Figure 1.17 shows the architecture of a P2P network at two abstraction levels. Initially,
the peers are totally unrelated.
The physical network is simply an ad hoc network formed at various Internet domains
randomly using the TCP/IP and NAI protocols. Thus, the physical network varies in size
and topology dynamically due to the free membership in the P2P network.
FIGURE 1.17 The structure of a P2P system by mapping a physical IP network to an overlay
network built with virtual links.
Data items or files are distributed in the participating peers. Based on communication or
file-sharing needs, the peer IDs form an overlay network at the logical level.
23
Cse bkec
Cloud computing
This overlay is a virtual network formed by mapping each physical machine with its ID,
logically, through a virtual mapping as shown in Figure 1.17.
When a new peer joins the system, its peer ID is added as a node in the overlay network.
When an existing peer leaves the system, its peer ID is removed from the overlay
network automatically.
Therefore, it is the P2P overlay network that characterizes the logical connectivity among
the peers.
There are two types of overlay networks: unstructured and structured. An unstructured
overlay network is characterized by a random graph. There is no fixed route to send
messages or files among the nodes. Often, flooding is applied to send a query to all nodes
in an unstructured overlay, thus resulting in heavy network traffic and nondeterministic
search results
Based on application, P2P networks are classified into four groups, as shown in Table
1.5. The first family is for distributed file sharing of digital contents (music, videos, etc.)
on the P2P network. This includes many popular P2P networks such as Gnutella, Napster,
and BitTorrent, among others.
Collaboration P2P networks include MSN or Skype chatting, instant messaging, and
collaborative design, among others. The third family is for distributed P2P computing in
specific applications. For example, SETI@home provides 25 Tflops of distributed
computing power, collectively, over 3 million Internet host machines.
Other P2P platforms, such as JXTA, .NET, and FightingAID@home, support naming,
discovery, communication, security, and resource aggregation in some P2P applications.
24
Cse bkec
Cloud computing
sending the computations (programs) to the data, rather than copying the data to the
workstations.
This reflects the trend in IT of moving computing and data from desktops to large data
centers, where there is on-demand provision of software, hardware, and data as a service.
This data explosion has promoted the idea of cloud computing.
FIGURE 1.18 Virtualized resources from data centers to form an Internet cloud, provisioned
with hardware, software, storage, network, and services for paid users to run their applications
25
Cse bkec
Cloud computing
The following list highlights eight reasons to adapt the cloud for upgraded Internet
applications and web services:
1. Desired location in areas with protected space and higher energy efficiency
2. Sharing of peak-load capacity among a large pool of users, improving overall utilization
3. Separation of infrastructure maintenance duties from domain-specific application development
4. Significant reduction in cloud computing cost, compared with traditional computing
paradigms5. Cloud computing programming and application development
6. Service and data discovery and content/service distribution
7. Privacy, security, copyright, and reliability issues
8. Service agreements, business models, and pricing policies
26
Cse bkec