You are on page 1of 20

Centralized computing:

Centralized computing is a type of computing architecture where all or most of the


processing/computing is performed on a central server. Centralized computing enables the
deployment of all of a central server's computing resources, administration and management. The
central server, in turn, is responsible for delivering application logic, processing and providing
computing resources (both basic and complex) to the attached client machines.
In a purely Centralized model, all computing resources reside at the primary Datacenter. This
includes Domain Authentication Services, Email, Applications, and Share Files. Remote Sites
would access these resources using Thin Client devices (as opposed to PCs) and bandwidthfriendly enablers such as Citrix XenApp, Microsoft Terminal Services, or VMware Virtual
Desktop technologies.

The benefits of a Centralized model are lower capital and operational cost (minimal hardware at
each site), security (all data stored in a secured datacenter), less administrative overhead (fewer
resources needed since all equipment is in one location), less backup complexity, and greater
control over potential risk areas such as Internet access.
The disadvantage of this system is that this system of computing relies totally on
the central computer, should the central computer crash, the entire system will be
unavailable (go down). Accessing network may also be slow.

Distributed computing:
Distributed computing is a computing concept that, in its most general sense, refers to multiple
computer systems working on a single problem. In distributed computing, a single problem is
divided into many parts, and each part is solved by different computers. As long as the computers
are networked, they can communicate with each other to solve the problem. If done properly, the
computers perform like a single entity.
The ultimate goal of distributed computing is to maximize performance by connecting users and
IT resources in a cost-effective, transparent and reliable manner. It also ensures fault tolerance
and enables resource accessibility in the event that one of the components fails.

Advantages

Share ability
Expandability
Local autonomy
Improved performance
Improved reliability and
availability

Potential cost reductions

Disadvantages

Network reliance
Complexities
Security
Multiple point of failure

Parallel computing:
Parallel computing is the use of two or more processors (cores, computers) in
combination to solve a single problem.

1. Types of Parallelism
There are various forms of parallel processing:
- Bit Level Parallelism, each bit of a word is processed at the same time
- Instruction Level Parallelism, execute multiple instructions simultaneously
- Data Parallelism, (a.k.a. loop level parallelism) focuses on distributing the data across
different parallel processing units
- Task Parallelism, (a.k.a. functional parallelism) focuses on distributing execution
task(code + data) across different parallel processing units

2. Types of Parallel Computer


Using Flynn's Taxonomy, computer architecture can be divided into:
- Single Instruction, Single Data stream (SISD)
- Single Instruction, Multiple Data streams (SIMD)
- Multiple Instruction, Single Data stream (MISD)
- Multiple Instruction, Multiple Data streams (MIMD)
Today's parallel computer are all MIMD type, in more coarse-grained style, parallel computer

can be further divided into:


- SPMD Single Program, Multiple Data
- MPMD Multiple Program, Multiple Data
According to the memory architecture, parallel computer can be divided as:
- Shared Memory Computer
In this kind of computer, each processing node share the same global memory address space.
Programming on these computers can be as easy as on multicore workstation.
Shared memory computer is easy to programming, but since bus is used among all
processing node, the scale is limited (usually several tens), as bus contention will become the
bottle neck when scale arises.
Shared memory computer can be further divided into two kinds:
- UMA/cc-UMA, all processing node share the same physical memory device through a bus
- NUMA/cc-NUMA, each process node has local physical memory but accessible by other
nodes, but the access time depends on the memory location relative to a node

Uniformed Memory Access (from [1])

- Distributed Memory Computer

Non-Uniformed Memory Access (from [1])

In this kind of computer, each node has its own private memory address space and can't access
other node's memory directly. Usually, processing nodes are connected using some kind of
interconnection network.
Distributed memory computer can scale to very large since no bus contention occurs. But it's
more complicated to write program on this kind of computers.

Distributed Memory (from[1])


- Distributed Shared Memory Computer
In this kind of computer, their hardware architecture is usually the same as Distributed Memory
system, but its interface for application developers is the same as Shared Memory system.
DSM is usually implemented using software extension to OS, which some performance penalty.

Advantage:

Save time and/or money


Solve larger / more complex problems
Provide concurrency
Take advantage of non-local resources
Make better use of underlying parallel hardware

Disadvantage:

More hardware required, also more power requirements.


Not good for low power and mobile devices.
Only certain types of data are suitable for parallel processing. Data that relies on
the result of a previous operation cannot be made parallel. For parallel processing,
each data set must be independent of each other.

Cluster computing

A cluster is a type of parallel or distributed processing system, which consists of a


collection of interconnected stand-alone computers cooperatively working together
as a single, integrated computing resource.
In cluster computing each node within a cluster is an independent system,
with its own operating system, private memory, and, in some cases, its own
file system. Because the processors on one node cannot directly access the
memory on the other nodes, programs or software run on clusters usually
employ a procedure called "message passing" to get data and execution code
from one node to another.

Types of Cluster

1. High Availability or Failover Clusters


2. Load Balancing Cluster
3. Parallel/Distributed Processing Clusters
ADVANTAGES:-

DISADVANTAGES:-

1) It helps in reducing cost.


2) It improves network technology.
3) It is always available in all possible
situations.

1) It is difficult for developing software for


distributed system.
2) It can be easily accessed and applied to
secret data.

Grid computing
Grid Computing is a type of parallel and distributed system that enables the sharing, selection,
and aggregation of geographically distributed "autonomous" resources dynamically at runtime
depending on their availability, capability, performance, cost, and users' quality-of-service
requirements
TYPES OF GRID

Computational Grid
-computing power
Scavenging Grid
-desktop machines
Data Grid
-data access across multiple organizations

PROS AND CONS

IMPORTANCE OF GRID COMPUTING

Flexible, Secure, Coordinated resource sharing.


Virtualization of distributed computing resources.
Give worldwide access to a network of distributed resources.
GRID REQUIREMENTS
Security

Resource
Management

Data Management
Information
Services

Fault Detection
Portability

Green computing

Green computing is the practice of using computing resources efficiently.

Designing, manufacturing and disposing Computer, servers with no impact on the


environment.

To reduce the use of Hazardous materials, maximize energy efficiency during products
lifetime.

Manufacturing of PCs
Lead: used in soldering of printed circuit boards lead can cause damage to the central
and peripheral nervous system , blood systems and kidneys.
Mercury: used in batteries, switches. Mercury spreads out in water transforming into
methylated mercury that can cause chronic brain damage.
Cadmium: used in resistors for chips and in semiconductors. Cadmium is classified as
toxic, these compounds accumulate in the human body, particularly the kidneys.

Green manufacturing
Bamboo: is becoming increasingly popular for making casings for computers and
peripherals.
Recyclable plastics: computers are constructed from non-recyclable plastics i.e.
recyclable polycarbonate resin.
Eco-friendly flame retardant: there are flame retardant silicone compounds available
that are flame retardant and completely non-toxic.
Inventory management: reducing the quantity of both hazardous materials used in the
process and the amount of excess raw materials.
Volume reduction: removes hazardous portion of waste from nonhazardous portion.

Energy use of PC
CPU uses 120 Watts
CRT uses 150 Watts

8 hours of usage, 5 days a week = 562 KWatts

Reducing Energy Consumption


Turn off the computer when not in use, even if just for an hour
Turn off the monitor when not in use
Use power saver mode
Use hardware/software with the Energy Star label
Dont print unless necessary and you are ready
Use LCDs instead of CRTs as they are more power efficient

Save energy while working on the computer:

Sleep mode:

Sleep or standby mode conserves energy by cutting off power to your display, hard drives
and peripherals.
After a pre-set period of inactivity, your computer switches to a low power state.
Hibernate mode:

Saves energy and protects your work by copying system data to a reserved area on your
hard drive and then completely turning off your computer.
Reduces wear and tear on your components.
Green Disposal
Reuse: donate your computer components

to people who may not have or have lesser

quality computers.

Refurbish: rather than discarding your

computer upgrade it. Change its some of

the parts in order to make it new.

Recycle: One of the major challenges is recycling the printed circuit boards from the
electronic wastes. The circuit boards contain such precious metals as gold, silver,
platinum, etc. and such base metals as copper, iron, aluminum.

Ubiquitous computing
Ubiquitous computing (ubicomp) is a post-desktop model of human-computer
interaction in which information processing has been thoroughly integrated into everyday
objects and activities.
The idea that almost any device, from clothing to tools to appliances to cars to homes to
the human body to your coffee mug, can be imbedded with chips to connect the device to
an infinite network of other devices.
Refers to the use of computers in everyday life,
also called pervasive computing

Goal of is ubicomp: to create an environment where the connectivity of devices is


embedded in such a way that the connectivity is unobtrusive and always available.
Technology View
Computers everywhere embedded into fridges, washing machines, door locks, cars,
furniture.
Intelligent environment.
Mobile portable computing devices
Wireless communication seamless mobile/fixed.

User View
Invisible implicit interaction with your environment.
Augmenting human abilities in context of tasks

Challenges of ubicomp

1. The Accidentally Smart Environment: If you walk into an environment


anywhere in the world, you would probably not find an infrastructure suitable for ubiquitous
computing devices.

2. Impromptu Interoperability: That means many technology-producing companies


desire to produce their own proprietary products speaking their own proprietary language.
This leads to noninteroperability between devices from different companies.
3. No Systems Administrator: Depend on the challenge two there is lack of a systems
administrator.
4. Social Implications of aware technologies: Ubiquitous computing will have a social
impact on our society just as the previous two eras of computing did. For example: How
will an individual know if they are within a smart environment where embedded
devices are gathering data? Is it ethical to gather information from individuals without
their knowledge?

UC Hardware Demands

Technology required for UC :


Cheap, highly advanced VLSI technology (nanotech),
Very low-power computers with convenient displays,
Low-power, ultra-fast network for interconnection:
wireless end-points
cellular topology
wide-bandwidth range
Software systems for UC applications and support.

Biological computing
Biological computation asks how and why living systems can be viewed as
fundamentally computational in nature.

Advantages
Performs millions of operations at same time
Good for parallel computing
Ability to use large amounts of working memory
14
1 gram of DNA can hold 1 x 10 MB of data
Or 145 trillion CDs
1 CD is 800 MB
Cheaper
Lightweight
1 lb of DNA has more computing power than all computers ever made
Low power used to keep in original state
Has ability to solve hardest problems in a matter of weeks
Environmentally friendly
Clean, readily available materials
Disadvantages

Molecular operations are not perfect


DNA computing involves a relatively large amount of error
As size of problem grows, probability of receiving incorrect answer eventually becomes
greater than probability of receiving correct answer.
Sometimes there are errors in the pairing of DNA strands
Simple problems solved faster on electronic computers
Human assistance is required
Time consuming lab procedures
No universal method of data representation

DNA has a half-life


Solutions could dissolve away before end result is found
Information can be untransmittable
Current DNA algorithms compute successfully w/o passing any information from
one processor to the next in a multiprocessor connection bus.

Cloud computing
Cloud computing is distributed computing on internet or delivery of computing service
over the internet.

Cloud Components
It has three components

1. Client computers

2. Distributed Servers

3. Datacenters

Types of cloud
Public cloud
Private cloud

Community cloud

Hybrid cloud

Cloud Services can be dived into 3 stacks:


SaaS (Software as a service): Required software, Operating system & network is
provided.
PaaS (Platform as service): Operating system and network is provided.
IaaS (Infrastructure as a service): just Network is provided.

Benefits of cloud
Reduce spending on technology
Globalize your work force on the
cheap
Reduce capital cost
Improve accessibility

Disadvantages of Cloud Computing

Improve flexibility
Less personal training is needed
Monitor project more effectively
Achieve economic of scale

Features might be limited


Can be slow
Stored data might not be secure
Stored data can be lost

Requires
a
constant
Internet
connection
Does not work well with low-speed
connections

Different security related issues of cloud computing

Most security problems stem from:

Loss of control

Lack of trust (mechanisms)

Multi-tenancy

These problems exist mainly in 3rd party management models

Self-managed clouds still have security issues, but not related to above

Loss of Control in the Cloud


Consumers loss of control

Data, applications, resources are located with provider

User identity management is handled by the cloud

User access control rules, security policies and enforcement are managed by the
cloud provider

Consumer relies on provider to ensure

Data security and privacy

Resource availability

Monitoring and repairing of services/resources

Lack of Trust in the Cloud

Trusting a third party requires taking risks

Minimize Lack of Trust: Policy Language


Consumers have specific security needs but dont have a say-so in how they are handled

What the heck is the provider doing for me?

Currently consumers cannot dictate their requirements to the provider (SLAs are
one-sided)

Standard language to convey ones policies and expectations

Agreed upon and upheld by both parties

Standard language for representing SLAs

Can be used in a intra-cloud environment to realize overarching security posture

Create policy language with the following characteristics:

Machine-understandable (or at least processable),

Easy to combine/merge and compare

Examples of policy statements are, requires isolation between VMs, requires


geographical isolation between VMs, requires physical separation between
other communities/tenants that are in the same industry, etc.

Need a validation tool to check that the policy created in the standard language
correctly reflects the policy creators intentions (i.e. that the policy language is
semantically equivalent to the users intentions).

Minimize Lack of Trust: Certification


Certification

Some form of reputable, independent, comparable assessment and description of


security features and assurance

Sarbanes-Oxley, DIACAP, DISTCAP, etc (are they sufficient for a cloud


environment?)

Risk assessment

Performed by certified third parties

Provides consumers with additional assurance

Minimize Loss of Control in the Cloud

Monitoring

Utilizing different clouds

Access control management

Minimize Loss of Control: Monitoring

Cloud consumer needs situational awareness for critical applications

When underlying components fail, what is the effect of the failure to the mission
logic

What recovery measures can be taken (by provider and consumer)

Requires an application-specific run-time monitoring and management tool for the


consumer

The cloud consumer and cloud provider have different views of the system

Enable both the provider and tenants to monitor the the components in the cloud
that are under their control

Provide mechanisms that enable the provider to act on attacks he can handle.

infrastructure remapping (create new or move existing fault domains)

shutting down offending components or targets (and assisting tenants with


porting if necessary

Repairs

Provide mechanisms that enable the consumer to act on attacks that he can handle
(application-level monitoring).

RAdAC (Risk-adaptable Access Control)

VM porting with remote attestation of target physical host

Provide ability to move the users application to another cloud

Minimize Loss of Control: Utilize Different Clouds

The concept of Dont put all your eggs in one basket

Consumer may use services from different clouds through an intra-cloud or multicloud architecture

Propose a multi-cloud or intra-cloud architecture in which consumers

Spread the risk

Increase redundancy (per-task or per-application)

Increase chance of mission completion for critical applications

Possible issues to consider:

Policy incompatibility (combined, what is the overarching policy?)

Data dependency between clouds

Differing data semantics across clouds

Knowing when to utilize the redundancy feature (monitoring technology)

Is it worth it to spread your sensitive data across multiple clouds?

Redundancy could increase risk of exposure

Minimize Loss of Control: Access Control

Many possible layers of access control

E.g. access to the cloud, access to servers, access to services, access to databases
(direct and queries via web services), access to VMs, and access to objects within
a VM

Depending on the deployment model used, some of these will be controlled by the
provider and others by the consumer

Regardless of deployment model, provider needs to manage the user authentication and
access control procedures (to the cloud)

Federated Identity Management: access control management burden still lies with
the provider

Requires user to place a large amount of trust on the provider in terms of security,
management, and maintenance of access control policies. This can be burdensome
when numerous users from different organizations with different access control
policies, are involved

Consumer-managed access control

Consumer retains decision-making process to retain some control, requiring less


trust of the provider (i.e. PDP is in consumers domain)

Requires the client and provider to have a pre-existing trust relationship, as well
as a pre-negotiated standard way of describing resources, users, and access
decisions between the cloud provider and consumer. It also needs to be able to
guarantee that the provider will uphold the consumer-sides access decisions.

Should be at least as secure as the traditional access control model.

Facebook and Google Apps do this to some degree, but not enough control

Applicability to privacy of patient health records

Minimize Multi-tenancy in the Cloud

Cant really force the provider to accept less tenants

Can try to increase isolation between tenants

Strong isolation techniques (VPC to some degree)

C.f. VM Side channel attacks (T. Ristenpart et al.)

QoS requirements need to be met

Policy specification

Can try to increase trust in the tenants

Whos the insider, wheres the security boundary? Who can I trust?

Use SLAs to enforce trusted behavior

Big Data: A definition

Big data is a collection of data sets so large and complex that it becomes difficult to
process using on-hand database management tools.

Data come from many quarters.


Social media sites
Sensors
Digital photos
Business transactions
Location-based data

The four dimensions of Big Data

Volume: Large volumes of data


Velocity: Quickly moving data
Variety: structured, unstructured, images, etc.
Veracity: Trust and integrity is a challenge and a must and is important for big data just as
for traditional relational DBs

NoSQL (Not Only SQL): Databases that move beyond relational data models (i.e., no
tables, limited or no use of SQL)
Focus on retrieval of data and appending new data (not necessarily tables)
Focus on key-value data stores that can be used to locate data objects
Focus on supporting storage of large quantities of unstructured data
SQL is not used for storage or retrieval of data
No ACID (atomicity, consistency, isolation, durability)

NoSQL focuses on a schema-less architecture (i.e., the data structure is not


predefined)
In contrast, traditional relation DBs require the schema to be defined before the
database is built and populated.
Data are structured
Limited in scope
Designed around ACID principles.

What does NoSQL Not Provide?

Joins
Group by
But PNUTS provides interesting materialized view approach to joins/aggregation.
ACID transactions
SQL
Integration with applications that are based on SQL

You might also like