Linux Cluster System - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Linux Cluster System

Description:

Linux Cluster System Dept. Computer science and Engineering Moon Jun Hyun imp_at_bravo.kwangju.ac.kr – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 33
Provided by: cokr
Category:

less

Transcript and Presenter's Notes

Title: Linux Cluster System


1
Linux Cluster System
  • Dept. Computer science and Engineering
  • Moon Jun Hyun
  • imp_at_bravo.kwangju.ac.kr

2
Contents
  • Linux Cluster Architecture
  • Parallel Computer Architecture
  • Cluster Architecture
  • Linux Cluster Architecture
  • Linux Cluster System Composition
  • Hardware System Selection
  • Node Network Configuration Composition
  • Parallel Configuration Composition
  • MPI Linux Cluster Programming
  • Parallel Programming
  • MPI Programming
  • MPI Function

3
Linux Cluster Architecture
  • Parallel Computer Architecture
  • Cluster Architecture
  • Linux Cluster Architecture

4
Parallel Computer Architecture
  • ?? ???? ??
  • ??? 2? ??? CPU? ??
  • ?? ?? CPU? ??? ?? ??? ????
  • ?? ?? ? ???? ?? ??
  • CPU?? ??? ??? ??? ???? Counter? ??
  • Parallel processing computer
  • Seraial processing computer
  • ?? ???? ???? ??? ?? ?????? ?? ?
  • ??? ??? ????? ???? ???? ??
  • ?? ????? ???? ???? ????? Construct(array,
    Control structure, Procedure, Resursion)? ?? ??
    ?? ???? ???? ?? Programming

5
Parallel Computer Architecture(cont.)
  • ?? ???? ?? ??
  • ??? ??? ?? ?? Coarse grained vs Fine grained
  • Flynns ?? SISD, SIMD, MIMD, MISD
  • ??? ??? ?? ?? Distributed memory, Shared
    memory, Distributed-share memory
  • ??? ??? ?? ??? ?? ?? Switch, Hardware supported
    remote momory access by direct memory access,
    Router chip(or processor), etc
  • ??? ??? ??? ?? ?? Hypercupe, 2-D mesh, 3-D
    torus, switch, etc
  • Single system image vs Multiple system image

6
Parallel Computer Architecture(cont.)
  • ?? ????? ?
  • ??
  • Superscalar architecture? ?? ?? ???? ??
  • ?????? X(i)? Y(i)? register? ?? ???.
  • X(i)? Y(i)? ???.
  • ?? ??? ?? register?? Z ??? ??? ??.
  • ? ??? loop? ?? ?? ????.

do i 1, MAX Z(i) X(i) Y(i) enddo
7
Parallel Computer Architecture(cont.)
  • ?? ???? ??
  • MAX ?? X(i)? Y(i)? N?? ???? ??? ??? (MAX/N) ????.
  • MAX/N?? X(i)? Y(i)? ??? ???? ???? ??? N?? ????
    (MAX/N)? ????.
  • ??? ??? Z(i)? ? ?? ???.

8
Parallel Computer Architecture(cont.)
  • Amdahls law ???? ?? ?? ?? ???
  • ??? ??? ??? ?? ? ???? ??? ??? ????? ????? ??? ??
    Ip
  • ??? ??? ??? ?? ? ???? ??? ??? ????? ????? ??? ??
    Is
  • ?? ?
  • ?? ?? Ip? 90, Is? 10? ?, ?? N? ????? ???? ??
    ??? ?? (0.90.1)/(0.9/N0.1)10?? ????.

9
Parallel Computer Architecture(cont.)
  • Prallel computer?? ???? ???? ??? ?? system
    overhead ???, ???? ?? ?? ??? Is ? 0? ???? ???
    ??? ?? ???? ??
  • ??? ??? ???? ??? ??? ??? ??(surface)? ? ??? ????
    ??(volume)?? ???? ??? ????? ?? ???? ??? ??.
    (surface-to-volume retio)

10
Cluster Architecture
  • Prallel Computer Architecture
  • MPP(Massively Parallel Processing) CRAY T3-E
  • SMP(Symmetric Multi-Processing) Pentium II, III
    CPU
  • Cluseter Architecture
  • MPP architecture
  • Loosely-coupled parallel architecture
  • ??? ??? ??? ???? ???? ??? ? ?? ??? ?? ???? ?
  • Distrubuted computer architecture
  • Dynamic load balancing, high availability
  • ???? ????(OS)? ??? ?? ?? ???? ?? ?? task? ?????
    ???? ???? ?

11
Cluster Architecture(cont.)
  • Parallel Computer vs Cluster Computer
  • Prallel computer
  • ??? ?? Latency, Bandwith
  • Cluster computer
  • Job scheduleing, Resource allocation
  • Beowulf Cluster
  • High performance computing platform
  • ??? ??
  • High performance computing
  • High availiability system
  • Data base server
  • Web server

12
Linux Cluster
  • Cluster? ? ?? ????? Linux? ???? Cluster
  • Open source? Linux ????? ???? off-the-shelf
    componets? ??? ?? ??? ?? Cluster? ?? ??
  • ??? CPU? Hradware ??
  • ???(generality) Linux ??? ?? ??? ????? Cluster?
    ?? ??
  • ???(efficiency) ???? ??? ???? ??? Cluster ??
    ??
  • ?? ???? PC? Network ??? ?? ??? ??

13
Linux Cluster(cont.)
  • Architecture potability
  • ?????? ???? ??
  • Upgrade? ???
  • Software potability
  • De facto standard?? message passing paradigm
    implementation? ?? ????? ??? ???
  • Scalability
  • ???? ?? Architecture
  • Avalon? ?? 140?? Alpha PC Fast Ethernet ??
  • ??? ???
  • ????? Compiler ??, Network component ?? ?? ?? ???
    ???? ?? ???? ???? ??? ? ? ?

14
Linux Cluster System Composition
  • Hardware System Selection
  • Node Network Configuration Composition
  • Parallel Configuration Composition

15
Hardware System Selection
  • ??? ????
  • ??? ???
  • ??? ??? ?? ??? ?? ??
  • ??? ??(??? ???? ?)
  • ??? I/O(??? ?? ??? ??? I/O ??)
  • ?? CPU
  • Inter vs Alpha (or other)
  • Single CPU vs SMP
  • ?? ???? ???(Synchronization) ??? ?? ?? ?? ????
    ??? ?? ??? ????.

16
Hardware System Selection(cont.)
  • ??? ??? ??? ???? ??
  • Fast Ethernet 100 Mbps Switch
  • Myrinet NIC Myrinet Switch
  • Gigabit Ethernet Gigabit Switch
  • SCI SCI Switch
  • ATM Card ATM Switch (?)
  • PLIP (?)
  • Hard disk system ??
  • Big disk diskless
  • Disk on every nodes
  • Local disk and I/O disk

17
Hardware System Selection(cont.)
  • Serial console or not
  • ????? ?
  • ??? ??? ??? ??? ??? ??
  • Switch ??? ?? ??? ?? ??? ??? ????.
  • Multi-level switch, Channel bonding
  • Multiple networks
  • Hard disk system? ??? ??
  • Share noting(Distributed file system)
  • Share something(Local partition NFS partition)
  • Share everything(Diskless NFS)

18
Node Network Configuration Composition
  • Single access point vs Multiple access points
  • NIS
  • rsh

19
Parallel Configuration Composition
  • Linux Cluster?? ?? ????? ????
  • Message passing
  • LAM(Local Area Multi-computer)
  • ???? Size? ?? ????? ??.
  • ?? Size? ??
  • MPICH(MPI-Chameleon)
  • ? Size? ??
  • PVM(Prallel Virtual Machine)
  • KMPI(Kool MPI)

20
MPI Linux Cluster Programming
  • Parallel Programming
  • MPI Programming
  • MPI Function
  • MPI Programming? ?? ??
  • ??? MPI Programming ??

21
Parallel Programming
  • ?? ????? ??
  • PRAM (Parallel Random Access Machine) Model
  • QSM (Queued Share Momory) Model
  • DMM (Distributed Memory Model)
  • Postal Model (Explicit massage passing Model)
  • BSP (Bulk Synchronous Parallel)
  • HMM (Hierachial Memory Model)
  • more

22
Parallel Programming(cont.)
  • Message passing
  • ??? Local ??? ?? ???? ??? ?? ???? ??? ?? ???? ???
    ????, ?? ???? ??? non-local ??? ??? ?, message?
    ?? ??? ??
  • ?? ???? ??
  • ??? ?? ?? ??? ??? ??
  • PVM (Parallel Virtual Machine)
  • MPI (Massage Passing Interface)
  • BSP (Bulk Synchronus Parallel)

23
Parallel Programming(cont.)
  • Data Parallel
  • ???? ??? ?? ???? ??? ??? ?, ??? ??? ??? Local
    ???? non-local ???? ??? ??? ????? ????? ??
  • ?? ???? ??? ??
  • Lock-unlock mechanism
  • Open_MP
  • HPF
  • F90
  • In-between
  • Linda

24
MPI Programming
  • ??
  • 1994? MPI forum? ?? ??? ?
  • MPI forum ??? ?? ???? ??? ????? ???? ???? ????
    ??? ?? ??? ??? ???? ?? ??? ??
  • Message passing paradigm? ???? ???? ?????? ????
    ??? ??
  • ????? industry? de facto ?? ??
  • ?? ??? ????? ????? ?? ????? ???? ?? ??
  • ?? ??? ??? ?? ??? Architecture??? Open_MP?? ??
    ??? ??? ???? ??? ?

25
MPI Programming(cont.)
  • ??
  • ??? ?? ??? ?? ???? ???(Portability)
  • ???(Effichiency)? ?? ??
  • ???? ???(Functionality)
  • ??
  • Message passing standard Portability
  • Based on previous message passing libraries
  • Program interface
  • Allow efficient communication
  • Allow heterogeneous environment
  • C and Fortran 77 binding language independent
    semantics

26
MPI Function
  • Task management
  • MPI_Init()
  • MPI_Barrier()
  • MPI_Wtime(), MPI_Wtick()
  • MPI_Finalize()
  • Communicator
  • MPI_Comm_create()
  • MPI_Comm_rank()
  • MPI_Comm_size()

27
MPI Function(cont.)
  • Topology management
  • MPI_Cart_create()
  • MPI_Cart_coords()
  • MPI_Cart_get()
  • MPI_Cart_rank()
  • Communication
  • Blocked send-receive MPI_Send(), MPI_Recv(),
    MPI_Sendrecv()
  • Non-blocked send-receive MPI_Isend(),
    MPI_Irecv(), MPI_Wait()
  • Collective communication MPI_Reduce(),
    MPI_Allreduce(), MPI_Bcast(), MPI_Scatter(),
    MPI_Gather()

28
MPI Function(cont.)
  • Derived Data type
  • MPI_Type_commit()
  • MPI_Type_size()
  • MPI_Type_struct()
  • Process group

29
MPI Programming? ?? ??
  • Load balance or domain decompostion
  • Surface-to-Volume ratio
  • Deadlock and racing condition
  • ?????? ??? ?? ?? ????? ???? ?? ??
  • ?? ?? ? ???? ??? ???? ??
  • ??? ?????? ?? ?? ???? ??(???? ?????? ???
    template? ?? ?? debugging? ??)
  • ???? ???? ??? ???? ??? ??, ???? ??? message
    passing? ??? ??? ???? ? ??? ???? ??

30
MPI Programming? ?? ??
  • ?????? ??? ?? ?? ????? ???? ??
  • ?? ?? ? ???? ??? ?????? ??? ??
  • ?? ?? ??? ??? ???? ??? ??
    (ever dimiinishing returns)
  • Message passing? ??? ??? ???? ???
  • ???? ???? ????? ?? ?? ???
  • ???

31
??? MPI Programming ??
  • include ltstdio.hgt
  • include lt/usr/local/lam-CFC/h/mpi.hgt
  • define N 1000000
  • main (int argc, char argv)
  • int i, node, numtask, subN, iroot
  • float AN
  • double sum, sumt
  • MPI_Init(argc, argv)
  • MPI_Comm_rank(MPI_COMM_WORLD, node)
  • MPI_Comm_size (MPI_COMM_WORLD, numtask)
  • subN N/numtask

32
??? MPI Programming ??
  • for (i 0 i lt subN i) Ai (float)(i 1
    nodesubN)
  • sum 0.0
  • sumt 0.0
  • iroot 0
  • for (i 0 i lt subN i) sum sum Ai
  • MPI_Reduce(sum, sumt, 1, MPI_DOUBLE, MPI_SUM,
    iroot,
  • MPI_COMM_WORLD)
  • printf(total sum f\n, sumt)
  • MPI_Finalize()
Write a Comment
User Comments (0)
About PowerShow.com