1. Trang chủ
  2. » Công Nghệ Thông Tin

KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN - CHƯƠNG 6 doc

49 301 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 2,91 MB

Nội dung

1.Ứng dụng của các hệ thống tính toán đa bộ xử lý  Với kiến trúc đơn bộ xử lý:  Tốc độ của bộ xử lý ngày càng được nâng cao và nhanh hơn so với tốc độ truy cập bộ nhớ.. Mô hình lập tr

Trang 1

KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN

Nguyễn Phú Bình

Trần Trung Kiên

Bộ môn KTMT - Khoa CNTT

Trang 2

Lưu ý của tác giả

 Không được tự ý sao chép hay quảng bá bài giảng này khi chưa được sự đồng ý của các tác giả.

 Địa chỉ liên hệ của các tác giả:

Nguyễn Phú Bình

Email: ngphubinh@yahoo.com Mobile: 0983533925

Website: http://phubinh.vicosoft.com/ktmt

Trần Trung Kiên

Email: trankien_bk@yahoo.com Mobile: 0914919392

Bộ môn Kỹ thuật Máy tính

Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội C1- P322, Tel: 8696125

Trang 3

Ôn Tập

1 Ứng dụng của các hệ thống tính toán đa bộ xử lý

2 Phân loại của Flin

3 Phân biệt shared-memory và distributed memory

system

4 Phân biệt UMA, SMP,NUMA, Cluster, MPP

5 Myrinet

Trang 4

1.Ứng dụng của các hệ thống tính toán đa

bộ xử lý

 Với kiến trúc đơn bộ xử lý:

 Tốc độ của bộ xử lý ngày càng được nâng cao và nhanh hơn

so với tốc độ truy cập bộ nhớ

 Hiện tượng thắt cổ chai (bottle-neck): trong các chu trình lệnh, CPU sẽ lãng phí một vài chu kỳ đồng hồ để chờ đợi quá trình truy cập bộ nhớ.

 Kiến trúc song song là một giải pháp hữu hiệu để

tăng năng lực cho các hệ thống tính toán

 Hệ thống đa bộ xử lý, song song dùng để thực hiện

những bài toán đòi hỏi khối lượng tính toán lớn.

Trang 5

2 Phân loại của Flynn

 Theo tài liệu: Flynn, M “Some Computer Organizations

and Their Effectiveness”, IEEE Transactions on

Trang 6

Phân loại của Flynn (tiếp)

 Có 4 loại kiến trúc máy tính:

SISD (Single Instruction Single Data stream): kiến trúc đơn

Trang 7

a Kiến trúc SISD

 Đơn dòng lệnh

 Một bộ xử lý

 Dữ liệu được lưu trữ trong một bộ nhớ

 Chính là kiến trúc Von Neumann

Trang 8

b Kiến trúc MISD

 Theo Flynn thì không tồn tại máy tính theo kiến trúc

này

Trang 10

d Kiến trúc MIMD

 Tập các bộ xử lý: các bộ xử lý đồng thời thực hiện các dãy lệnh khác nhau trên các dữ liệu khác nhau

 Các mô hình MIMD:

 Multiprocessor (Shared Memory) – đa bộ xử lý

 Multicomputer (Distributed Memory) – đa máy tính

Trang 11

3 Shared-memory và distributed memory system

Trang 12

a Mô hình bộ nhớ riêng biệt

Trang 13

Mô hình bộ nhớ riêng biệt

 Hệ thống được tạo bởi các máy tính riêng biệt kết nối với nhau bằng mạng nội bộ tốc độ cao

 Những hệ thống song song kiểu này được gọi là hệ

thống Boewufs hay Beowulf Cluster (hệ thống bó

Beowulf) Các máy tính trong Cluster có thể là các máy tính cá nhân, các máy trạm (đơn bộ xử lý hoặc đa bộ

xử lý đối xứng - SMP)

 Mô hình lập trình cho các ứng dụng trong hệ thống này được gọi là mô hình truyền thông điệp (message

passing)

Trang 14

Mô hình lập trình truyền thông điệp

 Một chương trình thường bao gồm nhiều tiến trình con được thực hiện đồng thời, mỗi tiến trình được thực

hiện trên một máy có vùng nhớ và dữ liệu riêng và có

sử dụng các gói thông điệp (messages) để truyền

thông với nhau

 Phương pháp giao tiếp giữa các nút tính toán trong mô hình này được thực hiện cách đóng gói dữ liệu thành các thông điệp theo một khuôn dạng xác định và truyền

đi trong mạng Việc truyền và nhận được thực hiện

bằng cách gọi các hàm của thư viện lập trình song

song

Trang 15

Mô hình lập trình truyền thông điệp

Trang 16

Thư viện MPI

 Thư viện truyền thông điệp được sử dụng nhiều nhất hiện nay là MPI (Message Passing Interface):

 Bao gồm các hàm bằng C, C++ hoặc Fortran dùng để truyền thông giữa các tiến trình.

 Là kết quả của hơn 2 năm thảo luận của MPI Forum - nhóm gồm khoảng 60 người từ 40 tổ chức khác nhau đại diện cho những nhà phân phối các hệ thống song song, những phòng thí nghiệm quốc gia và những trường đại học danh tiếng.

Trang 17

b Mô hình bộ nhớ chia sẻ

Trang 18

Mô hình bộ nhớ chia sẻ

 Trong mô hình này, các CPU sử dụng chung một

không gian nhớ vật lý

 Mọi CPU đều có khả năng truy cập như nhau tới dữ

liệu trong không gian nhớ chung đó

 Các CPU trao đổi thông tin thông qua các đường bus tốc độ cao

 Một trong những vấn đề quan trọng trong mô hình này

là cách tổ chức và quản lý việc sử dụng bộ nhớ của

các tiến trình do các CPU thực hiện

Trang 19

Quản lý bộ nhớ trong mô hình

Trang 20

Mô hình cải tiến có sử dụng Cache

 Hầu hết các hệ thống máy tính hiện đại ngày nay đều

sử dụng bộ nhớ Cache để giảm độ trễ và tăng băng

Trang 21

Mô hình hiện đại có dùng Cache

Trang 22

4 UMA/SMP, NUMA, Cluster, MPP

 4.1 UMA / SMP

 4.2 NUMA

 4.3 Cluster

 4.4 MPP

Trang 23

4.1 Hệ đa xử lý đối xứng (SMP)

 Còn gọi là Uniform Memory Access (UMA)

 Thuộc mô hình song song kiểu bộ nhớ dùng chung

(Shared-memory)

Trang 24

Hệ đa xử lý đối xứng (tiếp)

 Một bộ xử lý có từ 2 bộ xử lý giống nhau trở lên

 Các bộ xử lý dùng chung bộ nhớ và hệ thống vào-ra

 Thời gian truy cập bộ nhớ là bằng nhau với các bộ

xử lý và quyền truy cập (read/wirte) tới bộ nhớ của các bộ xử lý là như nhau  đa xử lý đối xứng

 Tất cả các bộ xử lý chia sẻ truy cập vào-ra

 Các bộ xử lý có thể thực hiện chức năng giống nhau

 Hệ thống được điều hành bởi một hệ điều hành phân tán

Trang 25

Hệ đa xử lý đối xứng (tiếp)

 Trong các kiến trúc hiện đại: mỗi bộ xử lý đều có thêm

1 bộ nhớ cache làm tăng tốc độ truy cập bộ nhớ và

giảm xung đột truy cập bộ nhớ giữa các bộ xử lý

 VD: Sun Starfire Servers, HPV Series, Compaq

AlphaServer GS

 Hệ điều hành: Unix, Sun Solari, Windows, AIX,…

Trang 26

Ưu điểm của SMP

 Hiệu năng: các công việc có thể thực hiện song song

 Tính sẵn dùng: các bộ xử lý có thể thực hiện các chức năng giống nhau, vì vậy lỗi của 1 bộ xử lý sẽ không

làm dừng hệ thống

 Khả năng mở rộng: người sử dụng có thể tăng hiệu

năng bằng cách thêm bộ xử lý

Trang 27

4.2 Hệ truy cập bộ nhớ không đồng

nhất(NUMA)

Trang 28

Hệ truy cập bộ nhớ không đồng nhất

 Mỗi bộ xử lý có một vùng nhớ gắn liền

 Các bộ xử lý có thể truy cập tới vùng nhớ gắn liền với các bộ xử lý khác

 Thời gian các bộ xử lý truy cập tới các vùng nhớ là

khác nhau, phụ thuộc vào khoảng cách giữa bộ xử

lý và bộ nhớ  gọi là hệ truy cập bộ nhớ không

đồng nhất (NUMA).

Trang 29

4.3 Hệ thống song song phâm cụm

(cluser)

Giới thiệu về Cluster:

 Một hệ thống tính toán song song phân cụm

(Cluster/bó) là một hệ thống máy tính cục bộ bao gồm một tập các máy tính độc lập và một mạng liên kết giữa các máy tính

Trang 30

Hệ thống song song phâm cụm

(cluser)

 Một hệ thống song song phân cụm/cục bộ với ý nghĩa

là toàn bộ các thành phần hệ thống nằm trong một khu vực địa lý hẹp (thường là 1 phòng) và được quản lý tập trung như là một hệ thống thống nhất

 Các nút trong hệ bó có thể là sự kết hợp của các máy tính đơn bộ xử lý với các máy nhiều bộ xử lý

(SMP - symmertric multiprocesor

Trang 31

Hệ thống song song phâm cụm

(cluser)

 Ưu điểm lớn nhất của hệ thống này là giá thành của hệthống nhỏ hơn so với các hệ thống sever tương ứng

khác Cùng với sự phát triển nhanh chóng của máy

tính cá nhân (PC), hiện nay một hệ thống dựa trên

công nghệ LAN và PC có thể đạt được hiệu năng đến vài chục thậm chí là vài trăm Gigaflops trong khi giá

thành lại rẻ hơn rất nhiều so với các siêu máy tính

 Ưu điểm thứ hai của hệ thống bó là sự linh hoạt của

cấu hình Số lượng nút, dung lượng bộ nhớ trên mỗi

nút, số lượng bộ xử lý trên mỗi nút, và cấu hình mạng

Trang 32

Hệ thống song song phâm cụm

(cluser)

2 Các thành phần phần cứng:

 Các thiết bị phần cứng của nút tính toán:

 Một nút tính toán phải cung cấp chức năng tính toán

 chức năng lưu trữ dữ liệu

 Các thiết bị mạng :

 Công nghệ mạng thường được sử dụng trong hệ thống //

phân cụm là LAN và SAN (System Area Network)

 LAN chỉ cho phép tạo nên một hệ thống có bộ nhớ phân tán

 SAN lại hỗ trợ bộ nhớ phân tán chia xẻ (distributed shared

memory) cho phép tổ chức một bộ nhớ logic chia xẻ trong khi

bộ nhớ vật lý phân tán trên các nút

Trang 33

Hệ thống song song phâm cụm

(cluser)

3 Các thành phần phần mềm:

 Thư viện và môi trường lập trình

 Các phần mềm quản lý tài nguyên và phân tải

Trang 34

Hệ thống song song phâm cụm

Thư viện và môi trường lập trình:

 Lập trình song song trong các hệ thống tính toán bó làphức tạp hơn các hệ thống máy tính khác

 Hệ thống tính toán có bộ nhớ phân tán, do vậy truyền thông giữa các nút trong quá trình tính toán thường làtruyền thông điệp

 Các thư viện truyền thông điệp dành cho hệ thống bóhiện nay có thể kể đến là: MPI, PVM, Active Message

và CMMD (Connected Machine Message )

 MPI với nhiều ưu điểm có thể coi là sự lựa chọn tốt cho

Trang 35

Hệ thống song song phâm cụm

(cluser)

Thư viện và môi trường lập trình (…):

 Khi các nút mạng trong hệ thống tính toán bó không chỉ

là các máy tính đơn bộ xử lý mà có cả các máy tình

nhiều bộ xử lý với bộ nhớ chia xẻ thì cần có sự kết hợp giữa mô hình bộ nhớ chia xẻ và mô hình truyền thông điệp

 Thư viện mã nguồn mở OpenMP là một thư viện thích hợp để tạo ra các chưưong trình song song như vậy

Trang 36

Hệ thống song song phâm cụm

(cluser)

Thư viện và môi trường lập trình (…):

 Một trong những thành phần quan trọng của các

chương trình tính toán song song là các giải thuật song song

 Hiện nay, các thư viện giải thuật song song rất sẵn

dùng và hầu hết là mã nguồn mở

 Chúng là kết quả của các đề tài nghiện cứu trong các trường đại học, các viện ngiên cứu trên toàn thế giới

Các thư viện có thể kể đến là: LAPACK, BLAS,

ARPACK, ScaLAPACK, PETSc, hypre, LINPACK…

Trang 37

Hệ thống song song phâm cụm

(cluser)

Các phần mềm quản lý tài nguyên và phân tải:

 Thư viện và các ngôn ngữ lập trình song song tạo chongười lập trình môi trường lập trình

 Phần mềm quản lý tài nguyên và phân tải lại tạo ra một môi trường tính toán hiệu quả và ổn định

 Phân tải là việc phân bổ các tiến trình tính toán trên tài

nguyên hệ thống sao cho hiệu năng hoạt động của hệ

thống là tối ưu

Trang 38

4.4 MPP (Massive parallel processing)

 A massively parallel processor (MPP) is a single

computer with many networked processors

 MPPs have many of the same characteristics as

clusters, but they are usually larger, typically

having "far more" than 100 processors [26]

 In an MPP, "each CPU contains its own memory

and copy of the operating system and application Each subsystem communicates with the others via

a high-speed interconnect." [27]

Trang 39

MPP (Massive parallel processing)

 A cabinet from Blue Gene/L, ranked as the fastest

rankings Blue Gene/L is a massively parallel

processor

 Blue Gene/L, the fastest supercomputer in the world

according to the TOP500 ranking, is an MPP

Trang 40

5 Myrinet

 Myrinet, ANSI/VITA 26-1998, is a high-speed

multiple machines to form computer clusters

 Myrinet has much less protocol overhead than standards such as Ethernet , and therefore

provides better throughput , less interference,

and lower latency while using the host CPU

Trang 41

 Although it can be used as a traditional networking system,

Myrinet is often used directly by programs that "know" about it,

thereby bypassing a call into the operating system

 Myrinet physically consists of two fibre optic cables, upstream

and downstream, connected to the host computers with a single connector

 Machines are connected via low-overhead routers and switches ,

as opposed to connecting one machine directly to another

Myrinet includes a number of fault-tolerance features, mostly

backed by the switches These include flow control, error control, and "heartbeat" monitoring on every link The newest, "fourth-

generation" Myrinet, called Myri-10G , supports a 10 Gbit/s data rate and is inter-operable with 10 Gigabit Ethernet on PHY , the

Trang 42

6.Khả năng song song hóa các bài

toán

 Let Pi and Pj be two program fragments.

Bernstein's conditions describe when the two are independent

and can be executed in parallel

 Let I i be all of the input variables to Pi and

 Oi the output variables

 and likewise for Pj.

 Pi and Pj are independent if they satisfy

Trang 43

7 Metacomputing

 New emerging field of metacomputing is focused on the

methodological and technological aspects of the development of large computer networks / grids , such as internet , intranet and

other territorially distributed computer networks for special

puroposes

 Metacomputing, as a computing of computing, includes:

organization of large computer networks , choice of the design

criteria (for example: peer-to-peer or centralized solution) and

metacomputing software ( middleware , metaprogramming )

development where, in the specific domains, the concept

metacomputing is used as a description of software meta-layers

which are networked platforms for the development of

Trang 44

user-8.Cray T3E

massively parallel supercomputer architecture,

 A massively parallel computer is a distributed

memory computer system which consists of many

individual nodes, each of which is essentially an

independent computer in itself, and in turn consists of

at least one processor, its own memory, and a link to the network that connects all the nodes together

Trang 45

CRAY T3E

 Nodes communicate by passing messages, using

standards such as MPI

 Nearly all supercomputers as of 2005 are massively

parallel, with the largest having tens of thousands of

CPUs

 The cumulative output of the many constituent CPUs can result in large total peak FLOPS (FLoating point

Operations Per Second) numbers

 The true amount of computation accomplished

depends in the nature of the computational task and its

Trang 46

9 Amdahl's law

is named after computer architect Gene Amdahl, and is used to find the maximum expected improvement to an overall system when only part of the system is

improved It is often used in parallel computing to

predict the theoretical maximum speedup using multiple processors

Trang 47

10.The transputer (transistor

computer)

 The transputer (transistor computer) was the first

general purpose microprocessor designed specifically

to be used in parallel computing systems The goal was

to produce a family of chips ranging in power and cost that could be wired together to form a complete

computer The name was selected to indicate the role the individual transputers would play: numbers of them would be used as basic building blocks, just as

transistors had earlier

Trang 48

10.The transputer (transistor

computer)

 Originally the plan was to make the transputer cost only

a few dollars per unit INMOS saw them being used for practically everything, from operating as the main CPU for a computer to acting as a channel controller for disk drives in the same machine Spare cycles on any of

these transputers could be used for other tasks, greatly increasing the overall performance of the machines

Trang 49

10.The transputer (transistor

computer)

 Even a single transputer would have all the circuitry

needed to work by itself, a feature more commonly

associated with microcontrollers The intention was to

allow transputers to be connected together as easily as possible, without the requirement for a complex bus (or motherboard) Power and a simple clock signal had to

be supplied, but little else: RAM, a RAM controller, bus support and even an RTOS were all built in

Ngày đăng: 09/08/2014, 12:22

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w