You are on page 1of 18

Gopallapuram, Renigunta-Srikalahasti road, Tirupati

by B. Hari Prasad, Asst.Prof, CSE Dept. Faculty bhariprasad.msc@gmail.com

Introductory concepts and overview

Parallel Computing Architectures

Parallel Computing Symmetric multi processing Massively parallel processing systems High performance Cluster computing Grid computing

Parallel computing
Computation in simultaneously which many calculations are carried out

Large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel") Different forms of parallel computing: bit-level, instruction level, data, and task parallelism Parallel computers can be roughly classified according to the level at which the hardware supports parallelism, with multi-core and multi-processor computers having multiple processing elements within a single machine, while clusters, MPPs, and grids use multiple computers to work on the same task.

Symmetric MultiProcessing (SMP)


Processing of programs by multiple processors that share a common operating system and memory Tightly Coupled Multi Processing Dosen't exceed more than 16 Processors SMP is better than MMP systems when Online Transaction Processing is Done, in which many users can access the same database to do a search with a relatively simple set of common transactions Its ability to dynamically balance the workload among computers

Massively Parallel Processing (MPP)


Processing of programs by multiple processors that work on different parts of the program and share different operating systems and memories Different Processors communicate with each other through message interfaces Upto 200 processors which run for a single application

InterConnect arrangement of data paths allows messages to be sent between different processors
loosely coupled

Better than an SMP for applications that allow a number of databases to be searched in parallel.

Cluster Computing
A set of loosely connected computers work together as a single system cluster are usually connected to each other through fast local area networks Each node consists its own operating system To improve performance and availability over that of a single computer

Characteristics of Cluster computing Tightly coupled system Single system image Centralized Job management & scheduling system

Grid Computing
Is the federation of computer resources from multiple administrative domains to reach a common goal More loosely coupled, heterogeneous, and geographically dispersed Grids are a form of distributed computing whereby a super virtual computer is composed of many networked loosely coupled computers acting together to perform large tasks.

Characteristics of Grid Computing Loosely coupled (Decentralization) Diversity and Dynamism Distributed Job Management & scheduling
Areas of Grid Computing and it's applications for modeling and computing 1.Predictive Modeling and Simulations 2.Engineering Design and Automation 3.Energy Resources Exploration 4.Medical, Military and Basic Research 5.Visualization

Difference Between Cluster Computing VS. Grid Computing Cluster Homogenous single location All nodes behave like a single system view Tightly coupled systems Centralized Heterogeneous LAN, metropolitan or WAN Every node is autonomous Loosely coupled Decentralization Grid

Centralized Job management & scheduling system

Distributed Job Management & scheduling

Distributed computing
Distributed computing also refers to the use of distributed systems to solve computational problems

Consists of multiple autonomous computers that communicate through a computer network


Distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers Parallel Computing VS. Distributed Computing IN parallel computing, all processors may have access to a shared memory to exchange information between processors.

IN distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors

Service-Oriented Architecture (SOA)

Service-Oriented Architecture (SOA)


Set of principles and methodologies for designing and developing software in the form of interoperable services SOA design principles are used during the phases of systems development and integration. Service-orientation requires loose coupling of services with operating systems and other technologies that underlie applications

Services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format, or by co ordinating an activity between two or more services SOA defines how to integrate widely disparate applications for a Webbased environment and uses multiple implementation platforms. Rather than defining an API, SOA defines the interface in terms of protocols and functionality

Service-Oriented Architecture (SOA)

Virtualization
Creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system (OS), storage device, or network resources. physical computer is actual machine, both subjectively (from the user's point of view) and objectively (from the hardware system administrator's point of view), a virtual machine is subjectively a complete machine (or very close), but objectively merely a set of files and running programs on an actual, physical machine Types of virtualization Hardware Software Memory Storage Data Network

Hardware virtualization Hardware virtualization or platform virtualization refers to the creation of a virtual machine that acts like a real computer with an operating system Hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine.

Different types of hardware virtualization include

Full virtualization Partial virtualization Para virtualization

Software virtualization

Operating system-level virtualization, hosting of multiple virtualized environments within a single OS instance. Application virtualization and workspace virtualization, the hosting of individual applications in an environment separated from the underlying OS. Service virtualization, emulating the behavior of dependent (e.g., thirdparty, evolving, or not implemented) system components that are needed to exercise an application under test (AUT) for development or testing purposes.

Memory Memory virtualization, aggregating Random Access Memory resources from networked systems into a single memory pool. Virtual memory, giving an application program the impression that it has contiguous working memory, isolating it from the underlying physical memory implementation. Memory over commitment, allows a computer to grant more memory to the virtual machines running on it than is installed on the physical computer.

Storage Storage virtualization, the process of completely abstracting logical storage from physical storage. Distributed file system Storage hypervisor

Data
Data virtualization, the presentation of data as an abstract layer, independent of underlying database systems, structures and storage.

Database virtualization, the decoupling of the database layer, which lies between the storage and application layers within the application stack over all.

Network Network virtualization, creation of a virtualized network addressing space within or across network subnets

You might also like