Aca 2

Preview:

Citation preview

System Attributes to Performance

22/9/2012

CPU/Processor driven by-

A clock with a constant cycle time (τ) in nSecondClock Rate: f = 1/ τ in megahertz Ic- Instruction Count: Size of program/number of

machine instructions to be executed in the program.Different machine instructions needed- different no. of

clock cycles to executeCPI (Cycles per Instruction): Time needed to execute

each Instruction.Average CPI: For a given Instruction Set.

Performance Factors:

CPU Time (T): -Time needed to execute a Program.- in seconds/program

T = CPU Time = Ic * CPI * τ

Execution of an instruction going through a cycle of events :

Instruction fetchDecodeOperand(s) fetchExecutionStore results

Events Carried out in the CPU:Instruction decodesExecution phasesRemaining three required to Access the memory.

Memory Cycle :

Time needed to complete one memory reference.

Note- Memory cycle is k times processor cycle τ.

k depends upon speed of memory technology.

System Attributes Influence on Performance Factor (Ic, p, m, k, t):

1. Instruction-set architecture-

Affects the program length (Ic) and processor cycle needed (p)

2. Compiler Technology-

Affect value of Ic, p, m

3. CPU Implementation & Control-

Determine total processor time (p * τ)

4.Cache & Memory Hierarchy-

Affect the memory access latency (k*τ)

System Attributes

Performance FactorsInstr. Count

(Ic)

Avg. Cycles per Instruction, CPI Processor Cycle Time

τProcessor Cycles per instruction

(p)

Memory Reference/

Instruction, (m)

Memory Access

Latency, (k)

Instruction-Set Architecture

X X

Compiler Technology

X X X

Processor Implementation

& ControlX X

Cache & Memory

HierarchyX X

MIPS Rate: Million Instructions per Second

C = Total no. clock cycle needed to execute a Program

T = C * τ = C/f

CPI = C/Ic

T = Ic * CPI * τ = (Ic * CPI)/f

Throughput Rate (Ws):

No. of programs a system can execute per unit Time.

Ws = Program/Second

Note:- In Multiprogrammed system, System throughput (Ws) is often lower than CPU throughput Wp.

Wp = f/ (Ic * CPI)

= 1/ Ic * CPI * τ = 1 Program/T

Ws = Wp

If the CPU is kept busy in a perfect program-interleaving fashion

Two approaches to parallel programming :

Sequential Coded Source Program

Detect Parallelism & Assign target Machine Resources

Note:- Compiler Approach applied in programming Shared-Memory Multiprocessors

•Parallel Dialects of C……•Parallelism specified in user Program

Note:- Approach applied in Multicomputer

Parallel Computers Architectural Model/ Physical Model

Distinguished by having-

1. Shared Common Memory:

Three Shared-Memory Multiprocessor Models are:

i. UMA (Uniform-Memory Access)

ii. NUMA (Non-Uniform-Memory Access)

iii. COMA (Cache-Only Memory Architecture)

2. Unshared Distributed Memory

i. CC-NUMA (Cache-Coherent -NUMA)

UMA Multiprocessor Model

Physical memory is uniformly shared by all the processors.

All Processors have equal access time to all memory words, so it is called Uniform Memory Access.

Peripherals are also shared in some fashion.

Also called Tightly Coupled Systems -due to the high degree of resource sharing.

Symmetric Vs Asymmetric Multiprocessor

Symmetric Multiprocessor: All processors have equal access to all peripheral devices.

Asymmetric Multiprocessor:

Only one or a subset of processors are executive capable.

i. MP (Executive or Master Processor)-

Can execute the O.S. and handle I/O

ii. AP (Attached Processor)-

No I/O capability

AP execute user codes under Supervision of MP

NUMA Multiprocessor ModelShared-Memory SystemAccess Time varies with the location of the Memory

WordLocal Memories (LM): Shared Memory is physically

distributed to all processorsGlobal Address Space: Forms by collection of all

Local Memories (LM) that is accessible by all processors.

Faster Access to a local memory with a local processorSlow Access to remote memory attached to other

processors due to the added delay through the interconnection network

LM – Local MemoryP - Local Processor

P – ProcessorCSM – Cluster Shared MemoryCIN – Cluster Interconnection NetworkGSM – Global Shared Memory

UMA or

NUMA

(Access of Remote Memory)

Three Memory-Access Patterns when Globally Shared Memory (GSM) added to a multiprocessor system:

i. The fastest is Local Memory(LM) accessii. The next is global memory (GSM)accessiii. The slowest is access of Remote Memory

Remote Memory- LM attach to other processor

Note: All cluster have equal access to GSMAccess right among Intercluster memories can be specified.

COMA Multiprocessor Model

• Distributed Main Memory converted to Cache

•Cache form Global Address Space

•Remote Cache access by – Distributed cache Directories

C – CacheP – ProcessorD - Directories

Multiprocessor System Suitable for-General purpose Multiuser ApplicationsProgrammability is major concern

Shortcoming of Multiprocessor System-Lack of ScalabilityLimitation in Latency Tolerance for Remote Memory

Access

Mini – Super

Computer

Near- Super

Computer

MPP Class

Distributed-Memory Multicomputers

Nodes- Multiple Computer in SystemInterconnection by Message-Passing NetworkNode is an Autonomous Computer consists of:

ProcessorLocal memorySometimes attached Disks Sometimes attached I/O Peripherals

Message-passing network provide: Point-to-point Static connection among nodes

Local Memories(LM)- private (accessible only by Local Processor)

NORMA(No-remote-memory-access)-traditional multicomputer

Fig:- Generic model of a message-passing multicomputer

M – Local MemoryP - Processor

Node

Parallel Computers: SIMD or MIMD configuration

SIMD- For special purpose applicationsCM 2 (Connection Machine) on SIMD architecture

MIMD- CM 5 on MIMD architectureHaving globally shared virtual address space

Scalable multiprocessors or multicomputer:

use distributed shared memory

Unscalable multiprocessors:

use centrally shared memory

Fig:- Gordon Bell's taxonomy of MIMD computers.

Supercomputer Classification:

Pipelined Vector machine/ Vector Supercomputers-

*Using a few powerful processors equipped with vector hardware

*Vector Processing

SIMD Computers / Parallel Processors-

*Emphasizing massive data parallelism

Vector Supercomputers

1

2

3

4

5 6

Step 1-2 Program & data are first loaded into the Main Memory through a Host computer.

Step 3 All instructions are first decoded by the Scalar Control Unit.

Step 4 If the decoded instruction is a scalar operation or a program control operation, it will be directly

executed by the scalar processor using the Scalar Functional Pipelines.

Step 5 If the instructions are decoded as a Vector operation, it will be sent to the vector control

unit.

Step 6 Vector control unit will supervise the flow of vector data between the main memory and

vector functional pipelines.

Note: A number of vector functional pipelines may be built into a vector processor.

SIMD Supercomputers

CU- Control UnitPE- Processing ElementLM- Local MemoryIS- Instruction StreamDS- Data Stream

(Abstract Model of a SIMD computer)

(Operational model of SIMD computer)

SIMD Machine Model:

An operational model of an SIMD computer is specified by a 5-tuple:

M = <N , C , I , M , R>(1) N = No. of Processing Elements (PE) in the

machine. (2) C =Set of instructions directly executed by the control

unit (CU). Scalar & Program Flow Control Instructions.(3) I = Set of instructions broadcast by the CU to all

PEs for parallel execution.Include: Arithmetic, logic, data routing, masking,

and other local operations executed by each active PE over data within that PE.

(4) M = Set of Masking Schemes

Each mask partitions the set of PEs into enabled and disabled subsets.

(5) R = Set of data-routing functions

Specifying various patterns to be set up in the interconnection network for inter-PE communications.

Recommended