Cloud Computing 601-Module 1
1. Explain the concept of Scalable Computing over the Internet. Describe its
evolutionary trends, major paradigms, and the differences among centralized,
parallel, distributed, and cloud computing
Answer:-
Scalable Computing over the Internet
Scalable computing means solving big problems efficiently by using many computers connected
through the Internet. Instead of using one single centralized computer, we now use parallel and
distributed systems to handle large-scale tasks. These systems have improved the quality of
modern life by powering services like Google Search, social media, online shopping, and more.
Evolution of Computing Platforms
Computers have evolved over five generations:
1. 1950–1970 – Mainframes (e.g., IBM 360): Used by big companies and governments.
2. 1960–1980 – Minicomputers (e.g., PDP-11): Used in colleges and small businesses.
3. 1970–1990 – Personal Computers: Built using microprocessors (VLSI).
4. 1980–2000 – Portable Devices: Laptops, mobiles in wired/wireless networks.
5. Since 1990 – Clusters, Grids & Clouds: Use High Performance and High Throughput
systems.
These systems form the backbone of modern Internet services, using shared
resources and parallel processing to handle massive workloads.
1
PREPARED BY: DR. JUNID
High-Performance Computing (HPC)
• Focuses on speed and raw power.
• Used in scientific simulations, engineering, weather forecasting, etc.
• Measured in floating point operations per second (FLOPS).
• Examples: Supercomputers.
High-Throughput Computing (HTC)
• Focuses on completing many tasks at once.
• Used in web services, search engines, data centers.
• Measures number of jobs completed per second.
• Prioritizes cost, energy efficiency, and reliability.
2
PREPARED BY: DR. JUNID
2. Explain GPU computing and its evolution towards Exascale computing. Describe how
GPUs work, the GPU programming model, power efficiency
Answer:-
GPU Computing to Exascale and Beyond
• A GPU (Graphics Processing Unit) is a graphics coprocessor used mainly for handling heavy
tasks like video editing. It is placed on the graphics card of a computer and helps reduce
the load on the CPU.
• The first GPU was GeForce 256, released by NVIDIA in 1999. It could process up to 10
million polygons per second. Now, GPUs are available in almost every computer.
• CPUs generally have fewer cores (example: Xeon X5670 has 6 cores), while modern GPUs
can have hundreds of cores, allowing them to run thousands of threads at the same time.
How GPUs Work
• Earlier, GPUs acted as coprocessors to the CPU. Modern GPUs, like those from NVIDIA, can
have 128 cores, and each core can handle 8 threads. This gives up to 1024 threads
running together on a single chip, which shows true massive parallelism.
• Unlike CPUs (which focus on speed), GPUs are designed for throughput. They are used
not only in graphics but also in HPC (High Performance Computing) systems to perform
heavy floating-point calculations.
GPUs are commonly used in:
• Mobile phones
• Game consoles
• Embedded systems
• PCs and servers
Special GPUs like CUDA Tesla and Fermi are used in GPU clusters for scientific computing.
GPU Programming Model
In GPU programming (like NVIDIA CUDA):
• CPU is a traditional multicore processor with limited parallelism.
3
PREPARED BY: DR. JUNID
• GPU is a many-core chip where each core runs one or more threads.
• The CPU sends instructions to the GPU to handle large data calculations.
• Bandwidth between main memory and GPU memory must be matched properly.
In the future, GPUs with thousands of cores will be used in Exascale systems, which can perform
up to 10¹⁸ FLOPS (ExaFLOPS).
Challenges in Exascale Computing
As per DARPA (2008), the 4 major challenges are:
1. Energy and power
2. Memory and storage
3. Concurrency and locality
4. System resiliency
Power Efficiency of GPUs
According to Bill Dally (Stanford University):
• GPUs provide more power efficiency than CPUs.
• A CPU uses about 2 nJ/instruction, while a GPU uses 200 pJ/instruction (10× less).
• In 2010:
o CPU: Less than 1 Gflop/watt per core
o GPU: About 5 Gflops/watt per core
4
PREPARED BY: DR. JUNID
To improve future systems, we need:
• Better storage and memory design
• Self-aware operating systems
• Locality-aware compilers and auto-tuners
3. Explain Virtual Machines and Virtualization Middleware with its types,
operations, and benefits.
Answer:-
Virtual Machines and Virtualization Middleware
A Virtual Machine (VM) is a software-based computer that runs an operating system and
applications like a real computer. VMs help solve problems like:
• Underutilized hardware
• Software incompatibility
• Poor manageability
• Security concerns
A normal computer has one OS tightly connected to hardware. But with VMs, multiple OSes and
apps can run independently on the same hardware using a technology called virtualization.
Virtualization
Virtualization means creating virtual versions of hardware like:
• Virtual CPU
• Virtual memory
• Virtual storage
5
PREPARED BY: DR. JUNID
• Virtual networks
These virtual parts are managed by a software layer called VMM (Virtual Machine
Monitor) or Hypervisor.
Types of VM Architecture
There are 3 types of VM setups:
1. Native or Bare-Metal VM
o VMM (Hypervisor) runs directly on hardware
o Example: XEN hypervisor with Linux guest OS
2. Hosted VM
o VMM runs inside the Host OS
o Host OS is not modified
o Example: VirtualBox running Linux on a Windows host
3. Dual-mode VM
o VMM runs partly in user mode and partly in supervisor mode
o May need to modify the host OS slightly
With this setup, multiple VMs can run on one system, each having its own OS and apps. This helps
in moving applications easily from one system to another.
VM Primitive Operations
Important VM operations include:
1. Multiplexing – Many VMs share the same hardware
2. Suspend – Save a VM’s state to storage
3. Resume – Start a suspended VM again
4. Migrate – Move a running VM to another system
6
PREPARED BY: DR. JUNID
These features allow flexibility, better hardware usage, and easy application transfer.
Benefits of VMs
• Higher server utilization: Usage increases from 5–15% to 60–80%
• Hardware independence: VMs can run on different machines
• Server consolidation: Many services run on one physical machine
• Improved flexibility and efficiency: Applications can be quickly moved and managed
Virtual Infrastructure:
Virtual Infrastructure is the connection between:
• Physical hardware (bottom layer)
• Virtual Machines (top layer)
• Applications running in VMs
It helps reduce cost and increase performance. It is widely used in:
• Clusters
• Grids
• Cloud computing
4. Discuss in detail about distributed system models
Answer:-
Distributed System Models
Distributed computing systems are built over a large number of autonomous computer nodes
that are connected via SANs, LANs, or WANs. These systems are highly scalable and support
7
PREPARED BY: DR. JUNID
massive web-scale connectivity. Based on architecture, functionality, and application domains,
distributed systems are broadly classified into four models:
1. Cluster Computing Model
• Definition: A cluster is a group of loosely coupled, interconnected computers that work
together as a single unified computing resource.
• Architecture: Clusters use low-latency, high-bandwidth interconnection networks
(LAN/SAN) and are often built using commodity hardware.
• Key Features:
o High-performance computing
o Middleware for job management and load balancing
o Can be used for both sequential and parallel applications
• Challenges:
o Achieving a single-system image (SSI)
o Fault tolerance
o Efficient resource sharing
2. Grid Computing Model
• Definition: Grid computing allows distributed resources (hardware, software, data) from
multiple administrative domains to be shared to solve large-scale problems.
• Architecture: Grids are geographically distributed across networks (LAN, WAN, Internet)
and combine resources like clusters, servers, and databases.
• Key Features:
o Supports distributed supercomputing and virtual organizations
o Enables large-scale scientific and engineering applications
• Challenges:
o Middleware standardization
o Resource discovery and scheduling
o Security and administrative policies
3. Peer-to-Peer (P2P) Computing Model
• Definition: In a P2P system, each node (peer) acts both as a client and server, without
centralized coordination.
• Architecture:
o Ad hoc physical network
o Logical overlay network (structured or unstructured)
• Key Features:
o File sharing, collaboration, distributed computing
o Self-organizing and scalable
• Challenges:
8
PREPARED BY: DR. JUNID
o Data integrity, routing, trust management
o Vulnerable to security threats and piracy
4. Cloud Computing Model
• Definition: Cloud computing provides on-demand access to virtualized computing
resources over the Internet.
• Architecture: Based on virtualization of hardware and software resources across large-
scale data centers.
• Service Models:
o IaaS: Infrastructure as a Service
o PaaS: Platform as a Service
o SaaS: Software as a Service
• Deployment Models: Public, Private, Hybrid, Managed
• Key Features:
o Elasticity, scalability, cost-efficiency
o Supports multiple applications simultaneously
• Challenges:
o Security, data privacy, SLA management
9
PREPARED BY: DR. JUNID
5. Explain the Basic Cluster Architecture with a Neat Diagram
Answer:-
Definition of Cluster Computing:
A cluster is a group of interconnected stand-alone computers that work together as a single
system. These systems are often used for handling heavy workloads and processing large
datasets.
Cluster Architecture:
A typical cluster architecture consists of the following:
1. Multiple independent computers (nodes) – These can be PCs, workstations, or servers.
2. Each node has its own operating system and manages its own resources.
3. All nodes are connected through a high-speed interconnection network, such as:
o SAN (Storage Area Network)
o LAN (Local Area Network) using Gigabit Ethernet
o InfiniBand
4. Clusters can be scaled up by connecting more nodes using multi-level switches.
5. The entire cluster connects to the Internet through a VPN gateway.
6. The system image depends on how the OS manages shared resources:
o Most clusters have multiple system images, since each node operates
independently.
o Some advanced clusters try to provide a Single System Image (SSI) through
special middleware or cluster OS.
10
PREPARED BY: DR. JUNID
Figure : “Architecture of a Typical Server Cluster”
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
6. Write short notes on Peer-to-Peer (P2P) Network Families
Answer:-
A Peer-to-Peer (P2P) network is a distributed system where each computer (peer) can act
as both a client and a server. There is no central control, and peers can join or leave the network
freely.
P2P Systems:
• In P2P, each node shares its own resources (like storage, CPU, or files).
• There is no master-slave or client-server relationship.
• The network is self-organizing with distributed control.
• The physical network is formed by peers using normal Internet protocols (TCP/IP, NAI).
• The topology and size keep changing dynamically based on active peers
Overlay Networks:
P2P networks work in two layers:
a. Physical Layer:
• The actual connection of peers on the Internet.
b. Logical Layer (Overlay Network):
• A virtual structure formed by mapping peer IDs.
• There are two types of overlays:
o Unstructured – Random connections; uses flooding to find data; not efficient.
o Structured – Uses fixed rules and routing techniques; more organized and faster.
11
PREPARED BY: DR. JUNID
P2P Application Families:
There are four main types of P2P applications:
P2P Family Examples / Use
File Sharing Gnutella, Napster, BitTorrent (for sharing music, videos, etc.)
Collaboration Skype, MSN Messenger (for chatting, messaging, teamwork)
Distributed Computing SETI@home (shared computing power from many users)
Platform Services JXTA, .NET P2P, FightingAID@home (for naming, discovery, security)
Challenges in P2P Computing:
• Hardware Differences – Too many device types and architectures.
• Software Compatibility – OS and software differences cause problems.
• Network Diversity – Different protocols and speeds affect communication.
• Routing Efficiency – It depends on how well peers manage routing.
• Security Issues – Peers are strangers; lack of trust, privacy, and virus risks.
• Fault Tolerance – Systems must handle node failures and load balancing.
• Scalability – The system should grow with more users and still work efficiently.
• Data Management – Data must be located and replicated properly for performance.
7. Explain Service-Oriented Architecture (SOA) with its layered architecture, tools, evolution,
and comparison between Grids and Clouds
Answer:-
Service-Oriented Architecture (SOA) is a method of designing and building software
systems using services. Each service performs a specific task and communicates with other
services over a network.
Layered Architecture of SOA
• SOA is built on OSI layers, and on top of that, it uses software like .NET, Apache
Axis, or Java Virtual Machine.
• Communication happens using tools like:
o WSDL for Web Services
o RMI for Java
12
PREPARED BY: DR. JUNID
o IDL/IIOP for CORBA
• Common communication protocols: SOAP, HTTP, TCP/IP, JMS, etc.
• Middleware like WebSphere MQ handles routing, messaging, and fault recovery.
• Security is managed using standards like IPSec, SSL, etc.
• Registry and discovery services: JNDI, UDDI, LDAP, ebXML
• Management services handle the lifetime and state of services.
Tools Used in SOA
There are two popular approaches:
1. Web Services (SOAP-based):
o Uses SOAP messages to send/receive data.
o Fully specifies all parts of a service.
o Example tool: Apache Axis.
2. RESTful Services:
o Simpler, lightweight, and uses HTTP + XML/JSON.
o Header is minimal; most data is in the message body.
o Faster and better for fast-changing environments.
Evolution of SOA
• Early systems used Java and CORBA.
• Modern SOA supports clouds, grids, and even inter-clouds.
13
PREPARED BY: DR. JUNID
• Raw data is collected from sensors (SS) like phones, PCs, or ZigBee.
• Filter Services (fs) clean the data before use.
• Filtered data is passed through:
o Compute Cloud
o Storage Cloud
o Discovery Cloud
• At the end, the processed data reaches a portal used by users.
• Examples of portals: OGFCE, HUBzero.
8. Explain the different Parallel and Distributed Programming Models with
examples
Answer:-
Parallel and distributed programming models help in developing scalable applications that run
across multiple computers or nodes. These models are important for grid systems, cloud
computing, and high-performance environments.
Here are some common models:
1. Message-Passing Interface (MPI)
• MPI is a standard programming model for writing parallel programs in C or FORTRAN.
• Used in clusters, grids, and P2P systems.
• MPI allows multiple computers to communicate by sending and receiving messages.
• Example: Scientific simulations or high-performance computing tasks.
2. MapReduce
• MapReduce is a model used for processing large data sets.
• Created by Google, used in web-scale search and cloud computing.
• It has two main steps:
o Map: Breaks data into key-value pairs.
o Reduce: Combines all values for the same key.
• Can process terabytes of data using thousands of machines.
3. Hadoop
• Hadoop is an open-source framework developed by Yahoo.
• It implements MapReduce and provides HDFS (Hadoop Distributed File System).
• Used to store and process large data (even petabytes) efficiently.
• Runs across many low-cost (commodity) computers.
• It is reliable and automatically manages failures.
4. Open Grid Services Architecture (OGSA)
14
PREPARED BY: DR. JUNID
• OGSA is a standard model for grid computing.
• Supports distributed applications with:
o Execution environments
o Security
o Trust management
• Genesis II is a system based on OGSA.
• It helps in resource sharing and secure communication in grid systems.
5. Globus Toolkit
• Globus is a middleware library for grid systems.
• Developed by Argonne National Lab and USC.
• Implements OGSA standards for:
o Resource discovery
o Authentication
o Secure communication
• GT 4 is the widely used version.
• IBM extended Globus for business applications.
9. Discuss system attacks and threats to cyberspace resulting in four types of losses
Answer:-
Cloud computing, clusters, grids, and peer-to-peer (P2P) networks are widely used in modern
digital systems. However, these systems face various threats and security risks. System attacks
can cause serious problems, including loss of data, service interruptions, and unauthorized
access. There are four major types of losses that can result from these threats.
1. Loss of Confidentiality
This happens when private or sensitive information is exposed to unauthorized users. It can be
caused by information leaks, hacking, or virus attacks. Once confidentiality is lost, the data is no
longer secure.
2. Loss of Data Integrity
Data integrity is affected when the original content of data is changed or modified without
permission. This can happen due to Trojan horse programs, user alterations, or service spoofing
attacks. As a result, users may get incorrect or misleading information.
3. Loss of System Availability
This refers to the situation when systems or services become unavailable to users. It is mainly
caused by Denial of Service (DoS) or Distributed Denial of Service (DDoS) attacks. These attacks
overload the system, blocking access to legitimate users.
4. Loss of Access Control (Authentication and Authorization)
15
PREPARED BY: DR. JUNID
When authentication or authorization fails, unauthorized users may get access to system
resources. This leads to the illegal use of computing resources, like servers, storage, or internet
services. It can also allow attackers to cause further damage inside the system.
• Network viruses and worms can create large-scale damage by spreading quickly and
affecting routers and servers.
• Open resources like clouds, clusters, grids, and P2P systems become targets without
proper security.
• System vulnerabilities must be handled using defense technologies and proper security
practices.
Defense Mechanisms:
1. First Generation: Tools like cryptography and access control to prevent attacks.
2. Second Generation: Technologies such as firewalls, Intrusion Detection Systems (IDS),
and PKI services to detect attacks and respond in time.
3. Third Generation: Advanced, intelligent systems for automatic response to threats.
Security Responsibilities in Cloud Models:
• SaaS: Provider is fully responsible for all security.
• PaaS: Provider manages data integrity and availability; user handles confidentiality.
• IaaS: User is mostly responsible for security, especially confidentiality.
16
PREPARED BY: DR. JUNID