55
CSE 8383 - Advanced Computer Architecture Week-13 April 15, 2004 engr.smu.edu/~rewini/8383

CSE 8383 - Advanced Computer Architecture

  • Upload
    raisie

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

CSE 8383 - Advanced Computer Architecture. Week-13 April 15, 2004 engr.smu.edu/~rewini/8383. Contents. Warm up Big Picture Clusters Scheduling Mobile IP Reliability issues in Mobile IP. Group Work. Let’s test your network background. Application. Application. Presentation. - PowerPoint PPT Presentation

Citation preview

Page 1: CSE 8383 - Advanced Computer Architecture

CSE 8383 - Advanced Computer Architecture

Week-13April 15, 2004

engr.smu.edu/~rewini/8383

Page 2: CSE 8383 - Advanced Computer Architecture

Contents

Warm up Big Picture Clusters Scheduling Mobile IP Reliability issues in Mobile IP

Page 3: CSE 8383 - Advanced Computer Architecture

Let’s test your network background

Group Work

Page 4: CSE 8383 - Advanced Computer Architecture

What?

Application

Presentation

Session

Transport

Network

Data Link

Physical

Application

Presentation

Session

Transport

Network

Data Link

Physical

LAN LANInternet

Internet

Page 5: CSE 8383 - Advanced Computer Architecture

Explain

Application

Presentation

Session

Transport

Network

Data Link

Physical

Mail ftp Telnet

Transmission Control Protocol

(TCP)

Internet Protocol(IP)

Ethernet Token ring

Page 6: CSE 8383 - Advanced Computer Architecture

Big Picture

Page 7: CSE 8383 - Advanced Computer Architecture

Leopold’s View of the FieldNumerous Application Programs

Concrete Architectures

Pthreads Java ThreadsOpenMP

Skeletons

MPI PVMThreads

Shared Memory Message Passing

Distributed SMCluster

SMP CC-NUMA ATMMyrinet

Hiding Details

High

Low

Page 8: CSE 8383 - Advanced Computer Architecture

Parallel and Distributed Architecture (Leopold, 2001)

Degree of Coupling

SIMD MIMD

Shared Memory

Distributed Memory

Supported Grain Sizes

Communication Speedslowfast

fine coarse

loosetight

SIMD SMP CC-NUMA DMPC Cluster Grid

Page 9: CSE 8383 - Advanced Computer Architecture

Clusters(Commodity Off The Shelf)

Page 10: CSE 8383 - Advanced Computer Architecture

What is a Cluster? A Collection of interconnected

stand-alone computers working working together as a single integrated computing resource

Cluster nod3es may exist in a single cabinet or be physically separated and connected via a LAN

Page 11: CSE 8383 - Advanced Computer Architecture

Clusters

M

C

P

I/O

OS

M

C

P

I/O

OS

M

C

P

I/O

OS

Middleware

Programming Environment

Interconnection Network

Page 12: CSE 8383 - Advanced Computer Architecture

Clusters offer these features High Performance Expandability and Scalability High Throughput High Availability

Page 13: CSE 8383 - Advanced Computer Architecture

High Performance Clusters

Tuned to derive maximum

performance

Share processing load

Needs software customization

E.g. Beowulf

Page 14: CSE 8383 - Advanced Computer Architecture

Cluster Components

Homogeneous Clusters All nodes have same configuration

Heterogeneous Clusters Nodes with different configurations e.g.

different OSs

Page 15: CSE 8383 - Advanced Computer Architecture

Cluster Architecture and OS Cluster of PCs Cluster of Workstations Cluster of SMPs (Symmetric

Multiprocessors) Linux clusters (Beowulf) Solaris clusters (NOW) NT clusters

Page 16: CSE 8383 - Advanced Computer Architecture

Cluster Size Group clusters – 2-99 nodes Departmental clusters – 99-999

nodes Organizational clusters – many

100’s Global clusters – 1000’s +

Internet wide

Page 17: CSE 8383 - Advanced Computer Architecture

Typical Cluster EnvironmentUser Application

PVM/MPI

OS/Hardware

Middleware

Page 18: CSE 8383 - Advanced Computer Architecture

PVM & MPI PVM (Parallel Virtual Machine)

Allows heterogeneous collection of computers linked by a network to be used as a single large parallel computer

MPI (Message Passing Interface) Library specification for message passing Free and vendor supplied

implementations available

Page 19: CSE 8383 - Advanced Computer Architecture

PVM Introduction http://www.netlib.org/pvm3/ http://www.epm.ornl.gov/pvm/ Started as a research project in 1989 Developed at Oak Ridge National Lab &

University of Tennessee It makes it possible to develop

applications on a set of heterogeneous computers connected by a network that appears logically to user as a single parallel computer

Page 20: CSE 8383 - Advanced Computer Architecture

PVM Environment Virtual machine Dynamic set of heterogeneous

computer systems connected via a network and managed as a single parallel computer

Computer nodes hosts Hosts are uniprocessors or

multiprocessors running PVM software

Page 21: CSE 8383 - Advanced Computer Architecture

PVM Software Two Components:

Library of PVM routines Daemon

Should reside on all hosts in the virtual machine

Before running an application, the user must start up PVM and configure a virtual machine

Page 22: CSE 8383 - Advanced Computer Architecture

PVM Application A number of sequential programs,

each of which will correspond to one or more processes in a parallel program

These programs are compiled individually for each host in the virtual machine

Object files are placed in locations accessible from other hosts

Page 23: CSE 8383 - Advanced Computer Architecture

PVM Application (Cont.) One of these sequential programs,

which is called the initiation task, has to be started manually on one of the hosts

Tasks on other hosts are started automatically by the initiation task

Tasks comprising a PVM application can be identical (SPMD) [common in most applications] or can be different (pipeline: input processing, output)

Page 24: CSE 8383 - Advanced Computer Architecture

Application Structure Start graph

Middle node is call supervisor or master

Supervisor-workers or Master-slaves Tree

Root is the top supervisor Hierarchy

Page 25: CSE 8383 - Advanced Computer Architecture

Task Creation A task in PVM can be started manually

or can be spawned from another task The function pvm_spawn() is used for

dynamic task creation. The task that calls the function

pvm_spawn() is referred to as the parent

The newly created tasks are called children.

Page 26: CSE 8383 - Advanced Computer Architecture

To Create a child, you must specify: 1. The machine on which the child will be

started2. A path to the executable file on the specified

machine3. The number of copies of the child to be

created4. An array of arguments to the child tasks

Page 27: CSE 8383 - Advanced Computer Architecture

Task ID All PVM tasks are identified by an integer

task identifier When a task is created it is assigned a

unique identifier (TID) Task identifiers can be used to identify

senders and receivers during communication. It can also be used to assign functions to different tasks based on their TIDs

Page 28: CSE 8383 - Advanced Computer Architecture

Task ID Retrieval Task’s TID pvm_mytid()

Mytid = pvm_mytid;

Child’s TID pvm_spawn()pvm_spawn(…,…,…,…,…, &tid);

Parent’s TID pvm_parent()my_parent_tid = pvm_parent();

Daemon’s TID pvm_tidtohost()daemon_tid = pvm_tidtohost(id);

Page 29: CSE 8383 - Advanced Computer Architecture

Scheduling

Page 30: CSE 8383 - Advanced Computer Architecture

Partitioner

Grains of Sequential Code

Parallel/Distributed System

Parallel Program Tasks

Scheduler

Schedule

Processors

Time

Program Tasks

Sequential Program

Explicit ApproachImplicit Approach

Dependence Analyzer

Ideal Parallelism

Scheduling

Page 31: CSE 8383 - Advanced Computer Architecture

Scheduling Introduction Model

Program tasks Machine Schedule Execution and communication time

Problem Complexity

Page 32: CSE 8383 - Advanced Computer Architecture

Introduction to Scheduling This problem has been described in

a number of different ways in different fields

Classical problem of job sequencing in production management has influenced most of the solutions

Set of resources and set of consumers

Page 33: CSE 8383 - Advanced Computer Architecture

Scheduling System

ConsumersConsumers ResourcesResources

SchedulerScheduler

PolicyPolicy

Page 34: CSE 8383 - Advanced Computer Architecture

Program Tasks

(T, <, D, A)

T set of tasks < partial order on T D Communication Data A amount of computation

Page 35: CSE 8383 - Advanced Computer Architecture

Task GraphA

10

D

15

E

10

F

20

B

15

C

10

G

15

H

15

I

30

558 7

5

5 5

10

5

4 5 4

20

Page 36: CSE 8383 - Advanced Computer Architecture

Machine m heterogeneous processors Connected via an arbitrary

interconnection network (network graph)

Associated with each processor Pi is its speed Si

Associated with each edge (i,j) is the transfer rate Rij

Page 37: CSE 8383 - Advanced Computer Architecture

Examples of Network Graphs

Linear Array

Ring

Mesh

6 3

1 2

5 4 Fully Connected

Page 38: CSE 8383 - Advanced Computer Architecture

Task Schedule Gantt Chart Mapping (f) of tasks to a processing

element and a starting time Formally: f: T {1,2,3, …, m} x [0infinity f(v) = (i,t) task v is scheduled to

be processed by processor i starting at time t

Page 39: CSE 8383 - Advanced Computer Architecture

Gantt Chart

Processor

Time

1 2 3 4 5 0

1

2

3

4

Stop

Start

W-1 W-2 W-3 W-4 W-5

Page 40: CSE 8383 - Advanced Computer Architecture

Execution and Communication Times If task ti is executed on pj

Execution time = Ai/Sj

The communication delay between ti and tj, when executed on adjacent processing elements pk and pl is

Dij/Rkl

Page 41: CSE 8383 - Advanced Computer Architecture

Complexity Computationally intractable in

general Small number of polynomial optimal

algorithms in restricted cases A large number of heuristics in more

general cases Quality of the scheduleschedule vs. Quality of

the schedulerscheduler

Page 42: CSE 8383 - Advanced Computer Architecture

Mobile Computing

Page 43: CSE 8383 - Advanced Computer Architecture

What is Driving Mobile Computing Advances in Wireless

Communication Technology Advances in Portable

Computing Technology Reliance on Network

Computing Mobile Workforce

Page 44: CSE 8383 - Advanced Computer Architecture

Mobile Computing Using small size portable

computers, hand-helds, and other small wearable devices,

To run applications and access information resources via wireless connections

By mobile and nomadic users

Page 45: CSE 8383 - Advanced Computer Architecture

Mobility versus Nomadicity Mobile Node

The node is able to change its point of attachment from one subnet to another while maintaining all existing communication.

Nomadic NodeThe node must terminate all existing communication before changing its point of attachment.

Page 46: CSE 8383 - Advanced Computer Architecture

Main Components Mobile Hosts

Backbone Network Wired Wireless Multi-hop Hybrid

Page 47: CSE 8383 - Advanced Computer Architecture

Wired Backbone

Fixed Communication Network

Fixed Host

Fixed host

Fixed HostFixed Host

Base Station

Base Station

Base Station

Base Station

Wired Backbone

Mobile Host

Mobile Host

Mobile Host

Mobile Host

Page 48: CSE 8383 - Advanced Computer Architecture

Wireless Multi-hop Backbone

Wireless Multi-hop Backbone

Mobile Host

Mobile Host

Mobile Host

Mobile Host Mobile Host

Mobile HostMobile HostMobile Host

Mobile HostMobile Host

Mobile HostMobile Host

Page 49: CSE 8383 - Advanced Computer Architecture

Hybrid backbone

Fixed Communication

Network

Fixed Host

Fixed host

Fixed HostFixed Host

Base StationBase Station

Base StationBase Station

Wired Backbone

Mobile HostMobile Host

Mobile Host

Mobile Host

Wireless Multi-hop Backbone

Mobile Host

Mobile Host

Mobile Host Mobile Host

Mobile HostMobile HostMobile Host

Mobile HostMobile Host

Mobile HostMobile HostMobile Host

Mobile Host

Hybrid Backbone

Mobile Host

Page 50: CSE 8383 - Advanced Computer Architecture

IETF Mobile IP System Components

Mobile host Home address Home agent Foreign agent (NOT in V6) Care of address

Page 51: CSE 8383 - Advanced Computer Architecture

Mobile IP (Cont.) Mobile IP Functionality

Agent Discovery Registration Tunneling

Optimization Binding Caches Foreign Agent Smooth Handoff

Page 52: CSE 8383 - Advanced Computer Architecture

Mobile IP (Cont.)

Arbitrary Topology of Routers and

Links

Home Agent

Mobile Host at Home

Foreign Agent

Foreign Agent

Mobile Host visitingA foreign subnet

Home subnet

Foreign subnet

Foreign subnet

Page 53: CSE 8383 - Advanced Computer Architecture

Update in Mobile IP Mobile Host at Home

Page 54: CSE 8383 - Advanced Computer Architecture

Two-Tier Update Can we reduce the cost of update?

The use of Proxy Agents

Neighborhood (Location Area)

Page 55: CSE 8383 - Advanced Computer Architecture

Tradeoff Between Update and Search

Mobile Host at Home

Location area