cse 8383 - advanced computer architecture
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 PresentationTRANSCRIPT
![Page 1: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/1.jpg)
CSE 8383 - Advanced Computer Architecture
Week-13April 15, 2004
engr.smu.edu/~rewini/8383
![Page 2: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/2.jpg)
Contents
Warm up Big Picture Clusters Scheduling Mobile IP Reliability issues in Mobile IP
![Page 3: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/3.jpg)
Let’s test your network background
Group Work
![Page 4: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/6.jpg)
Big Picture
![Page 7: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/9.jpg)
Clusters(Commodity Off The Shelf)
![Page 10: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/12.jpg)
Clusters offer these features High Performance Expandability and Scalability High Throughput High Availability
![Page 13: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/13.jpg)
High Performance Clusters
Tuned to derive maximum
performance
Share processing load
Needs software customization
E.g. Beowulf
![Page 14: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/16.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/17.jpg)
Typical Cluster EnvironmentUser Application
PVM/MPI
OS/Hardware
Middleware
![Page 18: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/24.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/25.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/26.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/27.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/28.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/29.jpg)
Scheduling
![Page 30: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/30.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/31.jpg)
Scheduling Introduction Model
Program tasks Machine Schedule Execution and communication time
Problem Complexity
![Page 32: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/32.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/33.jpg)
Scheduling System
ConsumersConsumers ResourcesResources
SchedulerScheduler
PolicyPolicy
![Page 34: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/34.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/35.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/36.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/37.jpg)
Examples of Network Graphs
Linear Array
Ring
Mesh
6 3
1 2
5 4 Fully Connected
![Page 38: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/38.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/39.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/40.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/41.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/42.jpg)
Mobile Computing
![Page 43: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/43.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/44.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/45.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/46.jpg)
Main Components Mobile Hosts
Backbone Network Wired Wireless Multi-hop Hybrid
![Page 47: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/47.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/48.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/49.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/50.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/51.jpg)
Mobile IP (Cont.) Mobile IP Functionality
Agent Discovery Registration Tunneling
Optimization Binding Caches Foreign Agent Smooth Handoff
![Page 52: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/52.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/53.jpg)
Update in Mobile IP Mobile Host at Home
![Page 54: CSE 8383 - Advanced Computer Architecture](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/54.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062301/56814e63550346895dbc00ff/html5/thumbnails/55.jpg)
Tradeoff Between Update and Search
Mobile Host at Home
Location area