1. Trang chủ
  2. » Luận Văn - Báo Cáo

đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối

76 601 1

Đ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 76
Dung lượng 1,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC TIÊU NGHIÊN CỨU CỦA LUẬN VĂN: Mục tiêu chính của luận văn là tìm hiểu, nghiên cứu về công nghệ vi xử lý đa lõi cùng với các cấu trúc kết nối chip đa lõi khác nhau, tìm hiểu một số c

Trang 1

Do đó, nghiên cứu các kiến trúc kết nối của các vi xử lý đa lõi để giảm diện tích, giảm độ dài dây dẫn là vấn đề được nhiều nhà thiết kế trên thế giới tiến hành Phân tích đánh gía hiệu năng của các kiến trúc vi xử lý đa lõi cũng là một vấn đề cần thiết

II MỤC TIÊU NGHIÊN CỨU CỦA LUẬN VĂN:

Mục tiêu chính của luận văn là tìm hiểu, nghiên cứu về công nghệ vi xử lý đa lõi cùng với các cấu trúc kết nối chip đa lõi khác nhau, tìm hiểu một số công cụ mô phỏng và đánh giá hiệu năng hiện nay có thể áp dụng cho các kiến trúc vi xử lý đa lõi

III NHIỆM VỤ CỦA LUẬN VĂN

Trình bày các kiến trúc phổ biến của vi xử lý đa lõi hiện nay, các phương pháp đánh giá hiệu năng, dựa vào thực nghiệm, mô phỏng để đánh giá các phương pháp

và tìm ra phương án tối ưu để vi xử lý đa lõi đạt được hiệu năng cũng như mức tăng tốc tốt nhất

IV BỐ CỤC CỦA LUẬN VĂN

Luận văn gồm bốn chương như sau:

Chương 1: Tổng quan về vi xử lý đa lõi

Chương 2: Tính toán song song & Luật Amdahl

Chương 3: Luật Amdahl cho vi xử lý đa lõi

Chương 4: Đánh giá ảnh hưởng của các mạng liên kết đến hiệu năng của chip

đa lõi

Trang 2

CHƯƠNG 1: CÔNG NGHỆ CHIP ĐA LÕI

1.1 KHÁI NIỆM CHIP ĐA LÕI

1.1.1 Thế nào là chip đa lõi

Chip đa lõi, hay chip đa nhân, CPU đa lõi (tiếng Anh: multi-core) là bộ vi

xử lý trung tâm (Central Processing Unit) có nhiều đơn vị vi xử lý được tích hợp

trên cùng một CPU vật lý duy nhất Một cách khác, chúng giống như sự ghép nối nhiều CPU thông thường trước đây trở thành một CPU duy nhất

CPU đa lõi được giới thiệu lần đầu tiên vào năm 2001 bởi hãng IBM với loại CPU Power4 dành riêng cho các máy chủ Bắt đầu từ đó các hãng sản xuất CPU khác bắt đầu chú ý đến thể loại CPU đa lõi và định hướng phát triển sản phẩm của mình theo theo thể loại này Hai nhà sản xuất CPU cho PC lớn là AMD và Intel cũng có các phản ứng khác nhau: AMD đã bắt đầu có định hướng ngay cho CPU đa lõi, Intel còn dè dặt trong giai đoạn đầu, nhưng cũng bắt đầu vào cuộc Kể từ đó có một sự cạnh tranh giữa hai hãng để chiếm lĩnh thị phần CPU máy tính trên phương diện đa lõi, hiệu năng xử lý và giá bán, sự cạnh tranh này vẫn còn tồn tại cho đến thời điểm hiện nay và chưa có dấu hiệu kết thúc

1.1.2 Cấu tạo vật lý của CPU đa lõi

Nếu như CPU chỉ có một cụm bộ xử lý bên trong lòng nó giống như các bộ

xử lý thông thường: Các bộ xử lý từ thế hệ đầu tiên cho đến thế hệ thứ 7 gần đây (như Pentium 4 đơn nhân) được gọi là các CPU chỉ có một nhân - hay gọi cách khác

là một lõi (cách gọi theo thói quen, tuy nhiên từ lõi có thể gây nhầm lẫn với cấu trúc

core của Intel nên hạn chế dùng)

Những CPU hai nhân đầu tiên được Intel và AMD sản xuất khi đặt hai nhân

xử lý trong cùng một tấm đế Có nghĩa trong một CPU nhìn bề ngoài như một CPU thông thường nhưng bên trong nó chứa các phần mạch điện của cả hai CPU, điểm chung của nó là các chân cắm tiếp xúc với socket của bo mạch chủ Nếu như chỉ

Trang 3

nhìn hình dáng mà không nhìn vào các thông số trên vỏ CPU thì các loại CPU hai nhân này không khác so với các CPU đơn nhân sử dụng cùng loại socket

Nhiều người có thể thắc mắc: Bên trong một CPU liệu có còn khoảng không gian trống nào không cho nhân thứ hai, thứ tư hoặc nhiều hơn nữa trong khi tấm đế của CPU vẫn giữ nguyên diện tích như vậy Thực tế thì kích thước các nhân hiện tại của CPU đã rất nhỏ, phần đế của mỗi CPU có kích thước như hiện tại bởi chúng cần

có các vị trí để có thể kết nối với các socket Thông thường thì các ký hiệu của socket hiện nay có chứa ý nghĩa về số vị trí tiếp xúc giữa CPU và bo mạch chủ, nếu

như một CPU hiện tại của Intel sử dụng socket T (LGA775) hay như AMD sử dụng

socket 939 thì cũng có nghĩa rằng chúng có 775 hay 939 vị trí tiếp xúc Với một số lượng kết nối nhiều như vậy thì các CPU nếu thiết kế tấm đế quá nhỏ sẽ không thể đáp ứng được sự kết nối giữa CPU với bo mạch chủ theo kiểu cắm để dễ dàng thay thế (nếu không muốn hàn chắc vào bo mạch chủ)

1.1.3 Thế hệ CPU đa lõi thông dụng

1.1.3.1 Th ế hệ đầu tiên

Hãng Intel đã giới thiệu những CPU hai nhân Pentium Extreme Edition và Pentium D đầu tiên vào tháng 4 năm 2005 phát triển trên nền Pentium 4 Prescott Thực chất sự ra đời của những CPU hai nhân đầu tiên này của Intel đã mong muốn giới thiệu ra thị trường càng nhanh càng tốt nên các CPU hai nhân đầu tiên:

Pentium D, Pentium Extreme Edition (thường gọi tắt là Pentium EE) chứa trong lòng nó hai nhân của Pentium 4 mã Prescot Mỗi một nhân được giao tiếp với một

đường khác nhau với chipset cầu bắc trên bo mạch chủ Chính vì vậy mà các chipset của hãng Intel như i915, i925 hoặc các chipset của các hãng khác dành cho các CPU Pentium 4 thông thường không thể sử dụng cho CPU hai nhân Pentium D (hoặc Pentium Extreme Edition) Các chipset dòng i945, i955X, i975X cho dòng máy tính

cá nhân để bàn và E7230 cho dòng máy trạm là những chipset đầu tiên hỗ trợ cho những CPU hai nhân này

Trang 4

Với những CPU có số hiệu 830 và 840 còn bao gồm công nghệ mới của Intel

là: “EISS” (Enhanced Intel Speed Step), chúng có thể tự động thay đổi tốc độ làm

việc của CPU theo nhu cầu xử lý của hệ thống để giảm công suất tiêu thụ

Phiên bản Pentium Extreme Edition 840 có tính năng giống như Pentium D, nhưng có một số khác biệt thêm như sau:

Hỗ trợ công nghệ Siêu phân luồng (HT Technology) Như vậy với mỗi

nhân bên trong sẽ trở thành 2 nhân ảo (hệ điều hành sẽ nhận biết và sử dụng như có 4 nhân đồng thời)

• Không hỗ trợ công nghệ EISS

• Cho phép thay đổi hệ số nhân của CPU, điều này giúp các người sử dụng hiểu biết dễ dàng ép xung với CPU mà không phải thay đổi bus hệ thống Đây là cách lý giải tại sao Pentium EE lại không hỗ trợ công nghệ EISS bởi công nghệ này mâu thuẫn với các hành động ép xung khi chúng tự động giảm hệ số nhân để giảm tốc độ làm việc của hệ thống khi nhu cầu

xử lý thấp

So sánh công nghệ

Mặc dù AMD không phải là hãng đầu tiên giới thiệu CPU hai nhân, nhưng cấu trúc của CPU hai nhân của AMD đã có nhiều tiến bộ hơn so với các CPU hai nhân ban đầu của Intel (Pentium D) Cấu tạo bên trong của AMD cho phép các nhân

có thể trực tiếp liên kết với nhau mà không phải thông qua chipset cầu bắc Để hạn chế nhược điểm này, Intel đã tăng FSB để gia tăng băng thông giữa CPU và chipset cầu bắc

Tuy nhiên trong giai đoạn này thiết kế CPU đa lõi của AMD vẫn ưu thế hơn Intel ở các điểm sau:

• Khác với sự thay đổi cấu trúc của Intel trong CPU hai nhân khiến cho khi nâng cấp hệ thống cần phải thay thế bo mạch chủ do các chipset cũ không

Trang 5

hỗ trợ CPU hai nhân mới Hệ thống của AMD có thể tương thích với hệ thống cũ, người sử dụng có thể cần nâng cấp BIOS để có thể tương thích với CPU hai nhân mới Socket 939 cho Athlon 64 và Socket 940 cho Opteron vẫn giữ nguyên cho các CPU AMD hai nhân, cùng với các chipset cũ vẫn hỗ trợ bởi sự giao tiếp với CPU không trở thành hai dòng riêng biệt cho mỗi nhân Đây là ưu điểm thứ nhất của CPU hai nhân AMD thế hệ đầu với Intel

• Khi thiết kế các CPU dòng Athlon 64/Opteron AMD đã có một sự chuẩn

bị sẵn cho các thiết kế đa lõi theo định hướng ban đầu của AMD, nên khi các dòng CPU đa lõi ra đời chúng hoàn toàn thích ứng với các tính toán

về nhiệt độ của CPU Sự tác động về nhiệt độ khi tăng thêm một nhân đã ảnh hưởng không nhiều Ví dụ đa số các CPU hai nhân Athlon 64 X2 của AMD chạy với tần số 2,2 GHz tiêu thụ công suất 89 W cũng bằng với với Athlon 64 đơn nhân hoạt động ở tần số 2,4 GHz So sánh giữa một CPU hai nhân nóng nhất của AMD khi hoạt động ở tốc độ 2,2 đến 2,4 GHz tiêu thụ công suất 110 W với một CPU hai nhân của Intel như Pentium Extreme Edition tiêu thụ công suất 130 W sẽ thấy một ưu điểm thứ hai của CPU hai nhân hãng AMD so với Intel

Mặc dù tốc độ xử lý thực của các CPU hai nhân AMD thường thấp hơn CPU Intel, tuy nhiên một số kết quả kiểm tra, đánh giá hiệu năng bằng các phần mềm chuyên dụng (phần mềm benchmark) cho thấy hiệu năng của các CPU hai nhân hãng AMD cao hơn hiệu năng các CPU hai nhân của Intel ở những phiên bản đầu tiên Nhiều overclocker và người dùng thông thường từng sử dụng hai loại CPU của các hãng này cũng có nhận xét tương tự

Trang 6

1.1.3.2 Các th ế hệ kế tiếp:

Core Duo và Core 2 Duo của Intel:

Core Duo là công nghệ tiếp theo của các CPU hai nhân đầu tiên (Pentium D, Pentium EE) của Intel sử dụng vi cấu trúc core mang lại nhiều cải tiến hơn CPU Core Duo được sản xuất không được bao lâu thì Intel đã chuyển sang sản xuất dòng Core 2 Duo với thêm các cải tiến mới mà được đánh giá là một bước ngoặt trong ngành chế tạo bộ vi xử lý.

Vi cấu trúc core có các cải tiến sau:

Mở rộng thực thi động (Wide Dynamic Execution): Đã được sử dụng ở

các CPU thế hệ thứ 6 (Pentium Pro, Pentium II, Pentium III ) được cải tiến giúp tiên đoán nhanh và sâu, chính xác hơn

Quản lý điện năng thông minh (Intelligent Power Capability) cho phép

tắt các hệ thống con trong CPU khi không sử dụng đến để tiết kiệm năng lượng, tuy nhiên chúng có thể ngay lập tức được kích hoạt để hoạt động trở lại khi có các yêu cầu về xử lý lớn và cần thiết đến chúng

Mở rộng bộ nhớ đệm thông minh tiên tiến (Advanced Smart Cache) thay

vì mỗi nhân sử dụng một cache riêng biệt trong cấu trúc của Pentium D thì nay Intel cải tiến để cả hai nhân đều có thể dụng chung cache L2

Truy xuất bộ nhớ thông minh (Smart Memory Access)

Tăng tốc phương tiện số tiên tiến (Advanced Digital Media Boost) giúp tăng tốc thực thi tập lệnh SEE (Streaming SIMD Extension), cho phép hỗ

trợ các phép toán 128 bit, tức là gấp đôi so với các CPU cũ cùng hãng

Ngay sau khi ra đời thì Core 2 Duo của Intel đã đánh bại đối thủ cạnh tranh truyền thống của mình là AMD Cùng với lộ trình giảm giá các loại sản phẩm Pentium D, Core Duo, Intel đã lấy lại uy tín và dành lại thị phần của mình sau loạt sản phẩm CPU hai nhân thế hệ đầu yếu thế hơn so với các CPU hai nhân Althon 64 X2 của AMD

Trang 7

1.1.3.3 CPU ba nhân:

Có thể có CPU ba nhân hay không ? Thực tế ngoài CPU đơn nhân các hãng thường sản xuất loại đa lõi với số nhân là số chẵn, điều này dường như logic hơn khi mà thiết đặt các nhân có tính chất đối xứng ở một tấm đế hình vuông

CPU ba nhân đầu tiên trên thế giới này có mã hiệu Toliman, chúng không

phải là một thiết kế mới ba nhân trên một đế, mà là một CPU bốn nhân đã được cắt bớt đi một nhân Nó sẽ tích hợp một điều khiển DDR2, giao diện Hypertransport 3.0, mỗi nhân sử dụng một cache L2 riêng biệt với 512 KB dung lượng CPU cache L3 với dung lượng 2 MB

1.1.3.4 CPU b ốn nhân

Với sự phát triển rất nhanh của công nghệ, chỉ một thời gian ngắn, các hãng sản xuất CPU đã cho ra đời loại bốn nhân dành cho cả dòng máy tính cá nhân để bàn và các máy trạm, máy chủ Tuy hiện nay các phần mềm hỗ trợ chưa nhiều, đa phần người sử dụng còn chưa nâng cấp lên loại CPU hai nhân thì các hãng đã bắt đầu giảm giá thành sản phẩm để cạnh tranh và hấp dẫn người sử dụng

Với sự ra đời của 6 bộ vi xử lý bốn nhân Quad-Core Xeon dòng 7300, cho đến thời điểm quý IV năm 2007, Intel đã hoàn chỉnh kế hoạch chuyển các CPU của mình sang vi kiến trúc core chỉ sau chưa đầy 15 tháng xuất hiện Những CPU bốn nhân đầu tiên của Intel lại được ghép nối hai CPU hai nhân thành một CPU bốn nhân và AMD lại vẫn phát triển theo hướng bốn nhân độc lập

Trong cuộc cạnh tranh giữa hai hãng sản xuất CPU cho máy tính cá nhân giữa hai hãng sản xuất hàng đầu Intel và AMD thì cho đến nay Intel đang tạm dẫn trước, bỏ rơi đối thủ AMD sau khi ứng dụng vi kiến trúc core và các loại CPU sau

đó - đặc biệt là phát triển đến các dòng CPU bốn nhân Kết quả so sánh giữa các CPU của hai hãng trên phần mềm benchmark bằng PCMark 05 so sánh bốn loại CPU bốn nhân của cả hai hãng cho thấy với cùng cấp độ thì các cặp CPU của Intel

Trang 8

có điểm số cao hơn so với cặp CPU của AMD Các kết quả thử nghiệm mới nhất trong thời điểm hiện tại (đầu năm 2008) cũng chưa cho thấy AMD có sự bứt phá như đã từng thành công với các loại CPU hai nhân thế hệ đầu tiên

Cho đến cuối năm 2007, AMD đã đưa ra thị trường hai CPU bốn nhân dòng

Phenom có số hiệu 9500 và 9600 Hai CPU này chỉ khác nhau ở tần số làm việc (tương ứng với 2,2 Ghz và 2,3 Ghz), còn lại các thông số như sau:

1.1.3.5 CPU tám nhân

Khi mà hai hãng AMD và Intel đang cạnh tranh nhau cung cấp các CPU cho nhiều loại máy tính thông dụng thì các hãng khác như Sun Microsystems cũng tập trung vào các sản phẩm CPU đa lõi dành cho thị trường máy chủ và thiết bị viễn thông (router, switch và các thiết bị hạ tầng viễn thông khác) Sun giới thiệu CPU

UltraSPARC T2 tên mã là Niagara II với 8 nhân mà theo như quảng cáo của họ

rằng bộ xử lý này có khả năng dành cho những “hệ thống máy chủ trên một chip” Sun Microsystems trả lời những khách hàng phàn nàn về sự yếu kém trong thiết kế các CPU bằng một sản phẩm có thể đồng thời xử lý 64 tập lệnh trên 8 nhân với mỗi nhân có thể xử lý tám tập lệnh đồng thời, tức là cải tiến gấp đôi số tập lệnh so với

thế hệ Niagara I Tuy nhiên ở các thử nghiệm cho thấy rằng CPU này không phải là

mạnh nhất so với các CPU hàng đầu hiện nay ngay ở thời điểm quý III năm 2007

Hai hãng AMD và Intel chưa ra mắt các CPU 8 nhân của mình cho đến thời điểm đầu năm 2008, nhưng nhiều người vẫn cho rằng hai hãng này đang tích cực chuẩn bị cho nó Một số nhà phân tích nhận định rằng rất có thể AMD sẽ chạm đích trong cuộc đua thời điểm giới thiệu bộ xử lý tám nhân so với Intel trong quá trình cạnh tranh giữa hai hãng.

1.1.3.6 CPU công ngh ệ nano

Trước đây thì chỉ có các “siêu máy tính” hoặc các hệ thống máy tính lớn sử dụng nhiều CPU mới có khả năng xử lý mạnh mẽ với hàng nghìn tỷ phép tính mỗi

Trang 9

giây Người sử dụng máy tính cá nhân để bàn hiện nay có thể hoàn toàn chạm tới các tốc độ tính toán đó khi mà Intel đưa ra các CPU đa lõi trong tương lai Hiện tại Intel đang thử nghiệm chế tạo các CPU có chứa đến 80 nhân nhưng chưa có kế hoạch tung chúng ra thị trường

Các chuyên gia nghiên cứu tại Đại học Tokyo (Nhật Bản) còn công bố một CPU chứa đến 512 nhân có xung nhịp 500 Mhz với kích thước 17x17 mm với 300 triệu transistor, tiêu thụ công suất chỉ 60 W để phục vụ dự phòng cho các máy chủ Những điều này cho thấy rằng công nghệ CPU đa lõi trong tương lai sẽ rất có triển vọng

Trở ngại lớn nhất của sự phát triển CPU đa lõi là các kích thước vật lý của các linh kiện chứa trong lòng nó Kích thước transistor, tiết diện dây dẫn nội bộ là những thành phần cơ bản gây cản trở sự phát triển của các CPU đa lõi, mỗi hãng đều có các công nghệ sản xuất riêng để làm nhỏ kích thước của chúng Những công nghệ mới gần đây đã có thể giúp tích hợp trên 2 tỷ transistor trong cùng một CPU Công nghệ chế tạo CPU đã tiến đến mức 32 nm (được công bố bởi Intel) và còn tiếp tục nhỏ hơn nữa (tuy hiện nay nhiều hãng sản xuất vẫn mới áp dụng rộng rãi công nghệ 65 nm và chỉ một số CPU sản xuất trên công nghệ 45 nm)

1.2 CHIP ĐA LÕI VÀ ỨNG DỤNG

1.2.1 Đa lõi và bản quyền phần mềm

Trước đây, các phiên bản hệ điều hành cho các máy chủ thường được phân biệt sử dụng cho một hoặc nhiều hơn một CPU mà tuỳ theo số lượng CPU mà có giá bán khác nhau

Tuy nhiên, hãng phần mềm Microsoft đã không yêu cầu người sử dụng trả thêm chi phí cho các hệ điều hành Windows các phiên bản được sử dụng các bộ xử

lý đa lõi cho đến đầu năm 2008 Cách tính số lượng CPU của hãng này vẫn tính trên

số lượng CPU vật lý, như vậy cho dù một máy chủ sử dụng duy nhất một CPU có

Trang 10

bốn nhân, tám nhân hay nhiều hơn nữa thì cũng chỉ phải trả chi phí cho hệ điều hành bằng mức như với một CPU đơn nhân

Mặc dù các bộ xử lý đa lõi đã xuất hiện từ rất lâu, nhưng đến nay chưa thấy các phần mềm thông dụng có sự chênh lệch nhau về giá bán giữa các phiên bản sử dụng cho CPU đơn nhân và đa lõi Tuy nhiên, trong những thời gian kế tiếp có thể một số hãng phần mềm sẽ liên kết với nhau cùng tăng giá các phần mềm sử dụng trên những hệ thống máy tính sử dụng CPU đa lõi trong vòng một vài năm tới Có thể điều này sẽ trở thành tất yếu khi mà công nghệ CPU đa lõi phát triển đến mỗi một CPU vật lý chứa rất nhiều nhân trong nó, và các phần mềm được thiết kế tối ưu cho chúng

Các thế hệ hai nhân, bốn nhân kế tiếp ra đời thì AMD không còn giữ được lợi thế về sự nâng cấp hệ thống mà không cần thay đổi bo mạch chủ nữa Người sử dụng muốn nâng cấp lên CPU đa lõi cần phải thay thế nhiều thiết bị phần cứng khác

Trang 11

• Nguồn máy tính cũng là thiết bị cần phải thay thế bởi các hệ thống mới thường sử dụng nguồn máy tính theo chuẩn ATX loại 24 chân ở phần cung cấp điện năng cho bo mạch chủ Riêng phần cung cấp nguồn cho CPU trước đây thường sử dụng một kết nối 4 chân thì với các hệ thống mới có thể đòi hỏi kết nối 8 chân

• Bo mạch đồ hoạ phải thay đổi nếu hệ thống cũ sử dụng giao tiếp AGP Toàn bộ các bo mạch chủ thế hệ mới đều sử dụng khe PCI Express X16

1.3 KIẾN TRÚC CHIP ĐA LÕI

1.3.1 Kiến trúc chip đa lõi đa luồng

Kiến trúc đa lõi, đa luồng là một trong những giải pháp công nghệ hiện nay đang được phát triển mạnh nhằm nâng cao hiệu năng của các hệ thống máy tính Với xu thế phát triển của công nghệ vi xử lý đa lõi là tiếp tục tăng số lượng lõi CPU trên một chip, nhưng cũng làm gia tăng tính phức tạp của tổ chức cache, số cấp cache, cấu trúc mạng kết nối giữa các cache, tăng gánh nặng cho bộ xử lý và bus bộ nhớ

Hiệu năng của hệ thống vi xử lý đa lõi, đa luồng phụ thuộc rất nhiều vào số lượng lõi, số luồng trong mỗi lõi, tổ chức cache, dung lượng của cache, số cấp cache (L1, L2, hay L3) và cấu trúc mạng kết nối bên trong giữa các cấp cache Điều này, đã gây nên những hạn chế đáng kể cho kiến trúc vi xử lý đa lõi, đa luồng Các chip vi xử lý đa lõi đa luồng yêu cầu phân cấp cache để quản lý độ trễ

và băng thông Chúng có thể có 2 cấp cache, hoặc 3 cấp cache (hình 1.1) Trên mỗi lõi thường có L1cache riêng, L2 cache và L3 cache có thể là riêng hay chia sẻ, và

bộ nhớ chính luôn luôn được chia sẻ và mỗi lõi Các hình 1.2 và 1.3 thể hiện chip

đa lõi với 2 cấp cache: L2 chia sẻ hay L2 riêng cho từng lõi

Trang 12

Cache riêng lẻ có lợi thế: chúng gần lõi, do đó truy cập nhanh hơn, và làm giảm tranh chấp Ngoài ra, cache riêng cũng có được vị trí khoảng cách tốt hơn, như tất cả các dữ liệu cần thiết qua lõi luôn được đưa vào cache của lõi Cache riêng dễ dàng để đạt được hiệu năng hơn cache chia sẻ, do ranh giới tự nhiên giữa các cache sắp xếp cạnh nhau như kiểu ngói lợp (tiles) Kiến trúc đa lõi kiểu ngói lợp (tiles) là kiến trúc khá phổ biến trong các chế tạo chip đa lõi hiện nay Chúng cho phép đạt đến vài trăm lõi xử lý trong một chip Hình 1.4 là ví dụ chip đa lõi kiểu ngói lợp với

16 ngói (tiles) trên chip Mỗi tile gồm core (ống lệnh), caches, chuyển mạch/định tuyến trên interconnect giữa các lõi Thường mỗi lõi có L1 và L2 caches riêng Chip đa xử lý đa lõi đa luồng, sử dụng cache chia sẻ có lợi thế: độ trễ của thông tin ít, một lõi có thể tìm nạp trước dữ liệu cho lõi khác có kích thước cache nhỏ hơn cần thiết, tắc nghẽn trên phạm vi kết nối bộ nhớ ít hơn, chia sẻ động cho phép sử dụng hiệu quả chia sẻ không gian cache Tuy nhiên, với số lượng lõi cao đòi hỏi băng thông và kích thước cache cao hơn Độ trễ trúng cache sẽ cao hơn do chuyển đổi logic trên bộ nhớ cache Mặt khác, khi thực hiện đồng thời các luồng được tạo ra từ các ứng dụng khác nhau, tổng hiệu năng của một bộ vi xử lý đa lõi đa luồng có thể suy giảm do các xung đột giữa các các luồng trong không gian cache

Hình 1.1: Các ki ến trúc của chip đa lõi ứng dụng chung

Trang 13

chia sẻ, một luồng của một lõi có thể truy xuất các dữ liệu của một luồng khác và thời gian thực hiện của nó trở nên dài hơn so với cache riêng

Hình 1.2: Chip đa lõi có L2 chia sẻ Hình 1.3: Chip đa lõi có L2 riêng

Hình 1.4: Ki ến trúc kiểu ngói lợp của chip đa lõi (tiled architecture) với 16 tiles

1.3.2 Mạng liên kết tĩnh các lõi

Trong các hệ thống đa xử lý: nhiều chip CPU, hoặc chip đa lõi xử lý, mạng liên kết (interconnect network) các chip CPU (off chip interconnect) và mạng liên kết các lõi trong chip (on chip interconnect) đóng vai trò quan trọng ảnh hưởng đến hiệu năng của hệ thống đa xử lý Các mạng interconnect được phân biệt hai loại: kết nối tĩnh và kết nối động Các mạng kết nối động có thể cấu hình lại được nhờ các nút chuyển mạch

Trang 14

Để đánh giá đặc điểm của các cấu trúc interconnect thường có một số thông số cấu hình của cấu hình mạng kết nối:

• Độ phức tạp liên kết: toàn bộ số liên kết trong mạng

• Cấp độ của nút (node degree): số nút liên kết với một nút (number of incident nodes)

• Đường kính của mạng (network diameter): khoảng cách định tuyến dài nhất trong mạng giữa 2 nút (hay độ dài của tuyến dài nhất trong mạng (maximum routing distance, hay maximum hop distance)

• Khoảng cách trung bình (average distance): là khoảng cách định tuyến trung bình giữa tất cả các cặp nút (average routing distance hay average hop distance)

• Độ rộng chia đôi (bisection width): số tối thiểu các liên kết mà sự lấy chúng ra khỏi mạng sẽ tách mạng và cắt mạng thành 2 nửa

• Độ phức tạp sinh trưởng (growth complexity): số nút có thể được bổ xung thêm

1.3.2.1 M ạng dạng Bus

Bus chia sẻ đơn (single shared bus):

Kiểu bus đơn này (hình 1.5) được sử dụng nhiều trong các hệ thống máy kiến trúc Von Neumann cổ điển với một bus hệ thống Nhưng một nhược điểm lớn là khi số lượng các thành phần xử lý và thành phần nhớ tăng lên sẽ làm tăng đụng độ cạnh tranh chiếm bus, dẫn đến tăng thời gian chờ đợi được phục

vụ của các thành phần xử lý và thành phần nhớ, và tốc độ truyền thông bị suy giảm Khi đó cần phải tăng tốc độ bus Độ sẵn sàng của kết nối bus thấp

Hình 1.5: M ạng kết nối N là bus đơn

Trang 15

Nhiều Bus (multi-bus)

Mạng nhiều Bus (hình 1.6) khắc phục nhược điểm của Bus đơn, trong

đó, một số thành phần xử lý và thành phần nhớ kết nối với một Bus, những thành phần xử lý và thành phần nhớ khác lại kết nối với một Bus khác, hoặc có chúng kết nối cùng trên một số Bus, như vậy sẽ giảm quá tải cho các Bus, sự đụng độ truy nhập Bus giảm tối thiểu Nhược điểm của mạng: khi có sự cố xảy

ra đối với một Bus nào đó, thì hiệu xuất mạng giảm đi rõ rệt và lỗi tăng lên

Các Bus giao nhau (crossbar buses)

Trong cấu trúc kết nối Bus giao nhau (hình 1.7) mỗi thành phần xử lý kết nối với tất cả thành phần nhớ và tương tự, mỗi thành phần nhớ kết nối với tất

cả thành phần xử lý Như vậy ta có một kết nối kiểu ma trận hai chiều n x m Cấu trúc này khắc phục nhược điểm của cấu trúc nhiều Bus Trường hợp xấu nhất có thể xảy ra: nếu tất cả các thành phần xử lý cùng truy nhập vào một thành phần nhớ Kết nối này đã được áp dụng một số hệ thống máy tính lớn

Hình 1.6: M ạng nối N: là nhiều bus

Hình 1.7: M ạng kết nối N: là các bus giao nhau

PE1 PE2

PEn

Trang 16

1.3.2.2 Chu ỗi (Linear Array):

Cấu trúc chuỗi (chain) là một mảng tuyến tính (linear array) các bộ xử lý (gồm CPU, memory, I/O), nên thường được gọi là cấu trúc mảng tuyến tính, có các kết trực tiếp chỉ với các nút xử lý kề cận trung gian (hình 1.8)

Cho rằng tổng số nút xử lý là N thì mạng chuỗi này có các thông số: mỗi một

nút bên trong có cấp độ là 2 (một nút nối 2 kênh), ngoại trừ 2 nút ở đầu và cuối chỉ

có cấp độ 1, số liên kết trong mạng là một hàm phụ thuộc vào số lượng nút, O(N) (độ phức tạp liên kết) của mạng, là L = N-1 Đường kính của mạng, D được tính bằng D = N-1 (một nút biên nối với N-1 nút) Khoảng cách trung bình là (N-1)/3

Độ rộng chia đôi là 1 Giữa các nút chỉ có một liên kết nên thuật toán định tuyến truyền thông đơn giản, như hệ thống bus đơn: các bản tin kèm địa chỉ nguồn và đích được chuyển từ một nút nguồn đến đích là ‘xuôi dòng’ (downstream), một nút nào

đó tiếp nhận bản tin từ ‘dòng xuôi’ và thu nhận bản tin nếu địa chỉ đích trùng với nút đó, nếu địa chỉ đích không trùng thì bản tin được chuyển ‘ngược dòng’ trở lại (upstream)

Cấu trúc chuỗi khác với cấu trúc bus đơn ở chỗ không phải tất cả các nút đều

có thể đọc tất cả các bản tin Một điều khác biệt nữa là chuỗi cho phép một số các gói của bản tin đồng thời được vận chuyển đảm bảo chúng không gối đè lên nhau Chuỗi cho mở rộng đơn giản, bởi vì phần cứng của các nút đang trong mạng không cần phải thay đổi và thuật toán định tuyến vẫn duy trì như cũ Độ sẵn sàng của chuỗi thấp, tốc độ truyền thông chậm, các nút phải chờ đợi lâu

1.3.2.3 K ết nối hình cây

Cấu trúc hình cây có dạng giống với các cây tự nhiên Chúng bắt đầu với một nút ở đỉnh gọi là gốc (root) Nút gốc kết nối với các nút khác nhờ các cành Những nút ở cành lại kết nối với các nút nhờ các cành rẽ tiếp tạo ra một cây có nhiều cành

Hình 1.8:

chu ỗi kết nối đa xử lý

Trang 17

cao và thấp, hay một cấu trúc kết nối các nút xử lý đa tầng Một nút xử lý ở một tầng kết nối truyền thông trực tiếp với một nút ở tầng trên và một số nút xử lý ở tầng dưới Nút kề cận ở tầng trên gọi là nút cha (chỉ có một nút cha), các nút kề cận

ở tầng dưới gọi là các nút con Kết nối như vậy gọi là tách (disjoint) và không có vòng lặp trong cấu trúc

Cấu trúc cây có một số loại:

Cây nhị phân:

Trong cây nhị phân, hay còn gọi là cây nhị phân đầy đủ, mỗi một nút xử lý ở một tầng (trừ gốc) có 3 nút kề cận: 1 nút cha và 2 nút con Giữa hai nút kề cận chỉ một đường dẫn duy nhất (hình 1.9) và là liên kết 2 chiều

Nếu có cây nhị phân có tổng số N nút, trong đó có n nút bên trong (kể cả gốc), thì nó có các thông số như sau: n+1 nút kết thúc (ngọn), tổng số nút N = 2n+1, cấp độ của nút là 3, số liên kết L=2n-1, chiều cao h (số tầng) là h ≥ log2(n+1) và n =

2h – 1, độ rộng chia đôi là 1, và đường kính của cây là D=2log2N =2log2(2n+1)

Ví dụ: với cây nhị phân ở hình 3.19, ta có số nút bên trong n = 7, tổng số nút ngọn là n+1 = 8, cả cây có tổng số N = 2n+1 = 15, số liên kết L = 2n-1 = 14, và chiều cao của cây h ≥ log2(n+1) = log28 = 3

Kết nối hình cây đơn giản, có thể thực hiện đánh địa chỉ nhị phân cho các nút, đơn giản được thuật toán định tuyến Các nút Hạn chế của cây nhị phân

là có tốc độ trao đổi chậm, càng lên cao trễ càng lớn và nghẽn nút cổ chai Các nút con trao đổi với nhau phải thông qua nút cha Khi có sự cố xảy ra ở nút cha thì sẽ làm mất đi liên hệ với các nút con, dẫn tới sự loại bỏ nhiều đơn vị xử lý trong nhánh Tuy vậy, dạng cấu trúc kết nối này vẫn được sử dụng ở một số hệ thống máy tính

Hình 1.9:

Cây nh ị phân

Trang 18

b b

b b SUM = 1+ 2 + 3+ + ; Trong đó: n=2 −h 1

Quá trình giải phép tính SUM này như sau:

Nạp tất cả các toán hạng b1,b2,b3, ,b n vào 2 −h 1 đơn vị xử lý ngọn của cây nhị phân (tầng h) Sau đó mỗi một cặp toán hạng b i,b i+1 chuyển từ các đơn vị xử lý

tầng h lên đơn vị xử lý cha ở tầng h-1 để tính tổng cục bộ: y i =b i +b i+1 và kết quả

này nằm lại trong đơn vị xử lý cha ở tầng h-1 Như vậy sẽ giảm số lượng toán hạng

đi một nửa, tất cả kết quả cục bộ này nằm ở trong các đơn vị xử lý ở tầng h-1 Từ

tầng h-1, tất cả n/2 toán hạng được cộng song song vào các đơn vị xử lý ở tầng h-2 Tại đây, ta có các kết quả cộng cục bộ, và số lượng toán hạng giảm xuống còn n/4

Cuối cùng đạt tới đơn vị xử lý gốc, và tại gốc có kết quả của phép cộng SUM Để đạt được kết quả cuối cùng SUM cần phải có h-1 hay log2n lần cộng

Cây tam phân:

Trong cây tam phân (ternary tree) (hình 1.10) mỗi một nút (trừ gốc) có 4 nút

kề cần: 1 nút cha, 3 nút con Nếu có n nút bên trong (kể cả gốc) thì có 2n +1 nút ngọn, cả cây có N= 3n+1 nút, 3n-1 cành, và chiều cao h ≥ log3(2n+1)

Cây tam phân có ưu điểm hơn cây nhị phân là có nhiều nhánh cây hơn, do đó kết nối được nhiều nút con hơn, nhưng cũng như cây nhị phân nhược điểm lớn của

nó lại càng lên cao càng gia tăng sự chậm chế và nghẽn nút cổ chai

Trang 19

tầng dưới (trừ các nút ở các cành ngoài) nhưng thuộc các nút cha khác nhau ở tầng trên

O (N) Vòng có thể vận chuyển các bản tin theo cả hai hướng do đó nó là vòng 2

chiều Thường có tuyến dài và tuyến ngắn giữa các nút truyền thông với nhau Thuật toán định tuyến thực hiện định tuyến theo tuyến ngắn nhất nếu tuyến đó đang

rỗi Vòng có mức phức tạp O(N) Đường kính của mạng vòng D = N/2 nếu liên kết

2 chiều (số N chẵn), và D = N-1 nếu lên kết chỉ một chiều (số N lẻ) Cấp của tất cả nút trong mạng vòng là 2 Khoảng cách trung bình (N +1)/3, độ rộng chia đôi

Trang 20

sợi dây gồm 24 nút với các dây (chord) kết nối các cặp nút cách xa 6 nút (dây thừng

là khái niệm toán học cho một đường thẳng kết nối 2 điểm trên một đường cong)

Vòng sợi dây có ưu điểm so với vòng 2 chiều là nó có ‘cắt ngắn’ (short cut) trong đường dẫn giữa các nút khác nhau Đường kính của vòng sợi dây là một hàm phụ thuộc vào số nút trong vòng và ‘độ dài’ của dây Có một số tuyến cho bản tin tới đích, nhưng thuật toán định tuyến phức tạp hơn Nếu vòng sợi có tổng số nút là

n thì tổng số liên kết là 2n Máy tính song song ILLIAC-IV có mạng kết nối cấu trúc vòng sợi gồm 64 nút, trong đó các sợi dây kết nối các cặp nút cách xa 9 nút

(c): lưới rèm (b): lưới vòng

(2D torus)

Hình 1.19:

Các c ấu trúc lưới

(e): lưới 3D

Trang 21

Các cấu hình lưới là các kết nối các nút theo các mẫu đan lưới theo 2, hoặc 3 hướng Có nhiều loại cấu hình lưới: luới vuông (grid, mesh), lưới 6 cạnh (hexagonal grid), lưới vòng (torus), lưới toroidal (toroidal grid), lưới 3 chiều (3-D grid),…

Lưới vuông (2D mesh):

Tổng số nút của lưới vuông (hình 1.19a) là N, và n=2, là số chiều, p là số

p p

N

p= Số liên kết là )

1 (

2 )

2 / 1

1

N

p

p d− = = Cấp độ của nút từ d= 2n Độ phức tạp sinh trưởng là 2N1/2+1 Ví

dụ, với nếu p = 5, ta có N =52 =25, L=2p(p−1)=40, D=8 Vì có nhiều đường dẫn giữa nguồn và đích nên mạng có độ sẵn sàng cao, thuật toán định tuyến có nhiều lựa chọn đường dẫn tối ưu Mạng cũng cho dễ dàng mở rộng bởi các nút đang kết nối không phải thay đổi phần cứng

Lưới vòng (2D Torus):

Lưới vòng có cấu hình gồm một lưới vuông 2D và thêm các cạnh bổ xung vòng quanh, do đó nó còn được gọi là Torus hay 2D Torus Trong lưới vòng (2D

Torus) (hình 1.19b) tất cả các nút đều có cấp độ d = 4 (4 kết nối) và nằm trên giao

điểm của các đường vòng quấn xung quanh từ trên xuống dưới, từ phải sang trái

Nó có số nút ít, băng thông cao, tăng được không gian sử dụng cho các chip xử lý,

và vì các vòng là thống nhất nên thuật toán định tuyến đơn giản Nếu số nút là N, n

là số hướng, p là số nút của một chiều lưới, thì 2D torus có: 2

p p

Trang 22

(p-Mạng lưới 3D có nhiều tuyến cho định tuyến giữa hai nút, nhiều đường dẫn ngắn nhất có thể chọn lựa, và độ sẵn sàng càng cao

Có thể xây dựng những mạng lưới 4D, 5D, nhưng sẽ rất khó nhận dạng, và thường các mảng 3D, 4D hoặc nhiều hướng hơn được sắp xếp thành các lưới 2D Lưới 3D thực hiện các bài toán nhanh tối thiểu cũng như lưới 2D, nhưng các bài toán 2D có thể không luôn sử dụng tất cả các nút của lưới 3D

Lưới vòng 3D (3D torus):

3D Torus kết nối các nút bằng cách sử dụng cấu hình lưới vòng, có nghĩa là mỗi nút trong một mặt kết nối với nút lân cận thông qua hệ thống cáp ngắn Các tín hiệu được chuyển tiếp từ một nút đến nút khác mà không cần thiết bị chuyển mạch 3D có nghĩa là thông tin liên lạc trong mỗi nút có thể đi theo 6 hướng X +, X-, Y +, Y-, Z +, Z- Đồ thị của kết nối này giống như một ma trận 3 chiều(hình 1.20)

1.3.2.6 Hình sao

Cấu trúc hình sao là trường hợp phát sinh từ cấu trúc cây, nhưng chỉ có độ sâu (hay chiều cao) là 2 Nút gốc của cây trở thành nút trung tâm của cấu trúc hình sao Nút trung tâm hoạt động như một nút chuyển mạch thực hiện định tuyến và

Hình 1.20: Vòng 3D (3D torus) 4x4x4

Trang 23

chuyển tiếp các bản tin từ một nút đến các nút khác (hình 1.21) Các nút đầu cuối chỉ liên kết với nhau qua nút trung tâm, do đó chúng có cấp độ là 1, và sự cố ở nút gốc làm mạng không thể hoạt động Nếu tổng số nút trong mạng là n thì nút gốc có cấp độ bằng n-1 Thuật toán định tuyến đơn giản Để tăng độ sẵn sàng cần tăng độ tin cậy và khả năng chịu lỗi của nút trung tâm

1.3.2.7 M ạng kết nối siêu lập thể n chiều (n-dimensional hypercube):

Trang 24

Kiến trúc kết nối lập thể (hình 1.22) còn gọi là kết nối lập phương-n nhị

phân (binary n-cube), vì nếu có n chiều thì có 2n mặt và N = 2n nút kết nối trong khối lập phương, hay n=log2 N, đường kính D=log2N (bảng 1.1), số liên kết L=Nlog2N, độ rộng chia đôi là N/2 Cấp độ của nút là d=log2N Trong siêu lập thể, một nút (hay đỉnh) là 0-D (hay 0-cube), một đường nối 2 đỉnh là 1D (hay 1-cube), một mạng vuông nối 4 nút gọi là 2D (2-cube), lập thể 3 chiều là 3D (3-cube), và hai 3-cube nối với nhau gọi là 4D (4-cube),v.v

Cấu trúc siêu lập thể phù hợp với một số nhóm bài toán, như đánh giá các biến đổi Fourier nhanh (FFT: fast Fourier Transforms) Ví dụ, máy tính được thiết

kế ở Caltech (1983) có thêm là Cosmic cube có 64 thành phần xử lý, mỗi thành phần xử lý có một bộ xử lý 8086 với đồng xử lý 8087

Trang 25

1.3.3 Các loại cấu hình kết nối động của mạng kết nối N

• Trạng thái đi thông hay trực tiếp (direct) (hình 1.24b): Z1 = X1, Z2 = X2

• Trạng thái đấu chéo (cross) (hình 1.24c) : Z1 = X2, Z2 = X1.

• Trạng thái quảng bá dưới (hình 1.24d): Z1 = Z2 = X1

• Trạnh thái quảng bá dưới (hình 1.24e): Z1 = Z2 = X2

B ảng 1.2: Các đặc tính của kết nối đầy đủ

Trang 26

Hình 1.24: (a): thành ph ần chuyển mạch, (b): đi thông (trực tiếp), (c): đấu chéo,

(d): qu ảng bá trên, (e): quảng bá dưới

Thành phần chuyển mạch với cấu trúc cho ở hình 1.25a là chuyển mạch biến đổi được sử dụng trong các mạng chuyển mạch chịu lỗi Một cặp ghép kênh (multiplexer) M và tách kênh (demultiplexer) D được thêm vào cho từng thành phần chuyển mạch S 2x2, và có thể được điều khiển để bỏ qua (hình 1.25b) hoặc cho phép (hình 1.25c) thành phần chuyển mạch S tham gia vào mạng chuyển mạch Mạng chuyển mạch trong các hệ thống đa xử lý hiện nay sử dụng 3 kỹ thuật chuyển mạch cơ bản để chuyển các gói tin từ nguồn tới đích: Chuyển mạch lưu và chuyển tiếp (store-and-forward switching), Chuyển mạch kênh (circuit switching), Chuyển mạch qua mặt cắt ảo (virtual cut-through switching), và định tuyến lỗ sâu (wormhole routing)

• Chuyển mạch lưu và chuyển tiếp là kỹ thuật chuyển mạch gói cổ điển, trong đó, khi một gói đến một nút trung gian, toàn bộ gói được lưu ở bộ đệm gói của nút trung gian Ngay khi kênh ra của nút trong gian sẵn sàng thì gói được đẩy chuyển tiếp đến nút tiếp theo Kỹ thuật này đơn giản, nhưng có các nhược điểm: trước hết, việc lưu đệm các gói đòi hỏi phải bổ xung bộ nhớ đệm ở các nút chuyển mạch và chi phí thêm thời gian lưu; thứ hai, trễ bản tin tỷ lệ với khoảng cách giữa nguồn và đích, số nút trung gian càng nhiều thì trễ càng lớn

Trang 27

Hình 1.25: Chuy ển mạch thay đổi

• Trong chuyển mạch kênh, một kênh được thiết lập giữa nguồn và đích trước khi truyền bản tin Ngay khi kênh được thiết lập, bản tin có thể được truyền đi

mà không có sự cạnh tranh nào và thời gian trễ thấp

• Trong chuyển mạch qua mặt cắt ảo, các gói được lưu ở các nút trung gian chỉ khi kênh tiếp theo chưa sẵn sàng cho chuyển tiếp, nếu không, các gói được chuyển tiếp ngay mà không lưu đệm trung gian Như vậy giảm đáng kể các trễ bản tin

• Trong kỹ thuật chuyển mạch qua mặt cắt ảo sử dụng định tuyến lỗ sâu (wormhole routing), trong đó, một gói được chia ra một số chỗ di chuyển (flit) Một flit đầu dẫn dẫn tuyến đường Vì flit đầu đi theo một tuyến riêng nên các flit còn lại

sẽ đi theo một đường ống tuyến đó

1.3.3 2 M ạng chuyển mạch nhiều tầng:

Hình 1.26 là một ví dụ cấu trúc kết nối mạng thực tế dùng các thành phần chuyển mạch S hai đầu vào và hai đầu ra và 2 trạng thái (đi thông và đấu chéo)

(c) Trạng thái chuyển mạch S không bị bỏ qua

Trang 28

Mạng có 12 thành phần chuyển mạch S sắp xếp theo 3 tầng (cột), và dùng để kết nối động giữa 8 bộ xử lý P0: P7 Bằng các cách thiết lập các tín hiệu điều khiển cho các thành phần chuyển mạch S, ta có thể có một số lượng lớn các mẫu kết nối mạng (mẫu kết nối động) Số lượng mẫu kết nối động phụ thuộc vào số tầng (cột) kết nối

và trạng thái của các thành phần chuyển mạch

Có thể có rất nhiều cấu hình kết nối của mạng chuyển mạch nhờ điều khiển các thành phần chuyển mạch

Trang 29

• Trường hợp 1: chỉ tầng 1 có các chuyển mạch ở trạng thái đấu chéo, các

tầng thứ hai và thứ ba đều có các chuyển mạch ở trạng thái đi thông (hình

1.27)

• Trường hợp 2: chỉ tầng 2 có các chuyển mạch ở trạng thái đấu chéo, tầng

thứ nhất và thứ ba có các chuyển mạch ở trạng thái đi thông (hình 1.28)

• Trường hợp 3: chỉ tầng thứ ba có các chuyển mạch ở trạng thái đấu chéo,

các tầng thứ nhất và thứ hai ở trạng thái đi thông (hình 1.29)

Trang 30

Kết nối của mạng chuyển mạch ở hình 1.29 cũng là kết nối của 4 nút xử lý đỉnh với 4 nút xử lý đáy của 3-cube Như vậy, truyền thông song song đỉnh-đến-đáy của kết nối tĩnh siêu cube có thể có được một cách gián tiếp trong hệ thống 8 bộ xử

lý với mạng kết nối N Mạng kết nối N có thể cho ta tất cả các dạng kết nối tĩnh của

siêu cube theo cách sử dụng các trạng thái của các thành phần chuyển mạch, nên mạng kết nối N còn gọi là mạng kết nối siêu cube gián tiếp

Mạng chuyển mạch nhiều tầng là một lớp ứng dụng quan trọng trong kết nối các hệ thống đa xử lý lớn MPP (massively parallel multiprocessor) Một mạng

chuyển mạch để kết nối k1 đường vào (input) với k2 đường ra (output) được gọi là

mạng chuyển mạch k1xk2, và số lượng tối đa các thành phần chuyển mạch nằm dọc theo đường dẫn input-output là số lượng các tầng Mỗi một liên kết đến một thành phần chuyển mạch hay cổng của thành phần xử lý là một bus đơn hay song hướng

chứa k đường dây để giảm chi phí phần cững và hạn chế số chân nối (pin), giá trị k

thường bằng 1 Hình 1.30 là ví dụ mạng chuyển mạch 3 tầng 8x8 omega gồm 12 thành phần chuyển mạch 2x2

Đấu nối như mạng chuyển mạch omega là đấu nối xáo trộn (shuffle

connection): xáo trộn với N = 8 (hình 1.31a) và mạng chuyển mạch xáo trộn 1 tầng

Trang 31

Hình 1.31: (a): k ết nối xáo trộn N=8; (b): mạng chuyển mạch xáo trộn 1 tầng 1.3.3 3 M ạng chuyển mạch chịu lỗi

Hình 1.32 là mạng chuyển mạch 3 tầng (siêu cube) khi truyền thông bình thường, trong đó đường đậm chỉ đường dẫn từ nút xử lý 2 đến nút xử lý 6

Hình 1.33 là một mạng chuyển mạnh siêu cube chịu lỗi (fault-free switching network) Khi truyền thông bình thường (không có lỗi mạng), các các nút chuyển mạch biến đổi ở tầng 0 bị tách khỏi mạng, trong khi đó các nút chuyển mạch biến đổi ở tầng 3 được cho phép đảm bảo hoạt động bình thường của mạng chuyển mạch

3 tầng 8x8 (mạng siêu cube gián tiếp), và cả ba tầng mạng 1:3 đều chịu một điều

Tầng 1 Tầng 2

Hình 1.32: M ạng chuyển mạch 3 tầng (siêu cube)

v ới truyền thông bình thường

Trang 32

khiển định tuyến chung để chuyển thông tin qua mạng Cho rằng lỗi xẩy ra ở một

tầng m nào đó và được xác định nhờ một thủ tục chuẩn đoán lỗi Nếu m là tầng 0 thì

không có hành động động gì xẩy ra, bởi vì các thành phần chuyển mạch biến đổi

của tầng 0 đã bị tách khỏi mạng Nếu lỗi ở trong một tầng ra n = log2N (trong mạng

3-cube, N = 8, và n = 3 = log28), thì tầng m bị tách khỏi mạng trong khi tầng 0 được cho phép Khi lỗi xẩy ra ở trong bất kỳ một tầng trung gian nào (trong ví dụ này là tầng 1 và 2) thì tầng vào (tầng 0) và tầng ra (tầng n) cùng được cho phép Truyền thông bình thường từ thành phần xử lý 2 đến thành phần xử lý 6 đi qua nút chuyển mạch có đường viền tô đậm ở tầng 1 (khi đó tầng 0 bị tách khỏi mạng) Nếu lỗi xẩy ra ở nút này thì cả tầng tầng 0 và tầng 3 đều được cho phép và đường dẫn giữa thành phần xử lý 2 và thành phần xử lý 6 được định tuyến lại bỏ qua nút bị lỗi

1.3.3.4 M ạng chuyển mạch đấu chéo:

Các mạng chuyển mạch đấu chéo (crossbar interconnect) sử dụng các thành phần chuyển mạch tại giao điểm của các liên kết dọc và ngang (hình 1.34) Các trạng thái của các thành phần chuyển mạch được điều khiển để đáp ứng yêu cầu kết nối của từng cặp thành phần xử lý và thành phần nhớ

Fault Switch

Hình 1.33: M ạng cube với tầng bổ xung sử dụng các thành phần

chuy ển mạch biến đổi để nâng cao độ tin cậy (mạng cịu lỗi)

Trang 33

So sánh với kết nối tĩnh thì sử dụng các thành phần chuyển mạch để xây dựng các mẫu kết nối động cho các thành phần xử lý có ưu việt hơn bởi tính linh hoạt và nhiều khả năng chọn lựa kết nối

1.4 KẾT LUẬN CHƯƠNG

Chương này giúp ta làm quen với khái niệm của vi xử lý đa lõi, các thế hệ của

vi xử lý đa lõi và những sản phẩm tiêu biểu của những nhà sản xuất hàng đầu thế giới như Intel, AMD, Sun Microsoft System Ngoài ra còn cho thấy những mô hình mạng liên kết trong vi xử lý đa lõi từ đơn giản đến phức tạp để làm tiền đề cho những phần sau

B ảng 1.3: So sánh một số cấu hình mạng kết nối động

M1 M2 M3 M4 M5 M6 M7 PE1

Trang 34

CHƯƠNG 2: TÍNH TOÁN SONG SONG VÀ LUẬT

AMDAHL

2.1 TÍNH TOÁN SONG SONG

2.1.1 Khái niệm tính toán song song

Tính toán song song là một dạng tính toán trong đó nhiều lệnh được thực hiện đồng thời Tính toán song song vận hành trên nguyên tắc là các bài toán lớn được chia ra thành những phần nhỏ mà những phần nhỏ này có thể được thực hiện tương tranh (song song) Tính toán song song đã được sử dụng từ nhiều năm nay, chủ yếu cho những tính toán hiệu năng cao và trở nên một đặc điểm quan trọng trong kiến trúc máy tính, đặc biệt ở dạng các bộ xử lý nhiều lõi

Tính toán song song có một số dạng khác nhau:

• Song song mức bit

• Song song mức lệnh

• Song song dữ liệu

• Song song nhiệm vụ

Tuy nhiên, khó khăn để viết các chương trình cho máy tính song song hơn là cho máy tính tuần tự

Có 3 kiểu song song có thể có trong một chương trình thực hiện:

• Song song dữ liệu: nhiều khoản dữ liệu có thể được xử lý trong cùng một cách và ở cùng một thời gian

• Song song chức năng: chương trình có các module khác nhau và độc lập với nhau có thể được thực hiện đồng thời

• Chồng lấn nhau (overlapped)/song song tạm thời (temporary parallelism): chương trình có một chuỗi các nhiệm vụ (task) có thể được thực hiện theo kiểu chồng lấn nhau Hình thức quan trọng nhất của chồng lấn nhau là kỹ thuật đường ống (pipelining)

Một nhiệm vụ T (task):

Trang 35

• Có thể được xử lý tuần tự theo từ, bit theo bit trong bộ xử lý hay máy tính, thì bộ xử lý hay máy tính đó gọi là bộ xử lý hay máy tính tuần tự (sequential), hay đơn xử lý (uniprocessor)

Nếu được phân chia thành những phần con có kích thước xấp xỉ nhau: T1,

T2, T3, …T Nvà tất cả các thành phần con này được xử lý đồng thời (thực

hiện song song) thì tốc độ thực hiện nhiệm vụ T nhanh gấp N lần và bộ

xử lý (máy tính) có chức năng thực hiện như vậy gọi là bộ xử lý song song (máy tính song song)

Ví dụ, một nhiệm vụ T là tính tổng SUM của N số (hằng số):

b1, b2,…,bN Thuật toán tính tổng N hằng số có thể đơn giản là:

For i = 1 to N do SUM <- SUM + b[i]

Nếu thuật toán này được thực hiện trong máy tính tuần tự thì phải có N phép cộng, mỗi phép cộng chiếm một quãng thời gian là Tadd, nghĩa là để có được kết quả cuối cùng của SUM cần phải mất khoảng thời gian là NTadd

Nếu một máy tính có N bộ xử lý giống nhau Pi, i = 1,2,…,N và chúng kết

nối với nhau trong một cấu trúc mảng tuyến tính hai chiều: mỗi một bộ xử lý đồng thời nhận (receive) và gửi dữ liệu với bộ xử lý lân cận (send) (hình 2.1)

Bằng mô hình máy tính kiểu này có thể giải bài toán tính tổng SUM một

cách song song như sau: cho N = kn, trong đó: k- số nguyên ; n - số lượng bộ

xử lý Mỗi bộ xử lý xử lý k số và tất cả n bộ xử lý đồng thời thi hành nhiệm

vụ Như vậy N = kn phép cộng được phân ra n phép cộng (n bộ xử lý), mỗi

phép cộng với k số Bộ xử lý Pi chuyển kết quả phép cộng của nó cho bộ xử lý

tiếp theo Pi+1 , và Pi+1 cộng kết quả của chính nó với kết quả từ Pi gửi vào Kết

quả phép cộng của Pi+1 được chuyển tới Pi+2 Sau (n-1) phép cộng và chuyển dữ liệu, kết quả cuối cùng được cất trong Pn Chương trình thể hiện quá trình xử lý

Hình 2.1: M ảng tuyến tính hai chiều gồm n bộ xử lý

Trang 36

{Với mỗi bộ xử lý Pi xác định SUM nhờ các số cục bộ của nó

SUM <- 0;

For i = 1 to k do SUM <- SUM + b(i);

thực hiện k = N/n phép cộng đồng thời trên n bộ xử lý Có thể viết T L = K 1 N/n,

trong đó, K1 là một hằng số phụ thuộc vào thời gian cộng và lưu giữ trên một

bộ xử lý Thành phần thứ hai của T(n) là thời gian T C (thời gian truyền thông) -

là thời gian gửi dữ liệu trung gian qua (n-1) phép cộng Có thể viết T C = K2 1), trong đó: K2 là hằng số phụ thuộc vào độ trễ truyền thông giữa các bộ xử lý

(n-Như vậy, thời gian T(n) sẽ là:

) 1 ( /

)

(n =T +T =K1N n+K2 n

Trang 37

Bởi vì K2 liên quan đến thời gian truyền dữ liệu (kết quả trung gian) giữa

các bộ xử lý, nó lớn hơn nhiều so với K1, nên sự tăng số lượng các bộ xử lý sẽ

kéo theo tăng thời gian K2 Nếu n = 1 thì công thức (2.1) trở thành:

2.1.2 Công thức mức tăng tốc của thực hiện song song

Công thức chung của mức tăng tốc đạt được của một chương trình thực hiện

kích thước n (nhiệm vụ, bài toán) song song có dạng là tỷ số giữa thời gian thực hiện chương trình trên máy tính tuần tự (một bộ xử lý) T(n,1) và thời gian thực hiện chương trình đó trên trên nhiều bộ xử lý (máy tính song song), T(n,p):

) , (

) 1 , ( )

,

(

n p T

p T p

n

S = (2.3)

Trong đó, p: kích thước của chương trình; và n: số lượng bộ xử lý của máy

tính song song Với điều kiện thỏa mãn của chương trình thực hiện song song:

n n p

< ( , )

Đạt được mức tăng tốc tuyến tính khi: S(p,n) = n

Hiệu năng của thực hiện song song đạt được:

) , (

) 1 , ( )

, ( )

,

(

n p T n

p T n

n p S n

0<E p n

Đạt được mức tăng tốc tuyến tính khi: E(p,n) = 1, và sự giảm tốc

Trang 38

2.1.3 Phân tích hiệu năng của thực hiện song song

Mức tăng tốc và hiệu năng :

Thời gian thực hiện một chương trình gồm có các thành phần:

σ(p) – thời gian thực hiện phần tuần tự vốn có của chương trình

φ(p) – thời gian thực hiện phần của chương trình có thể thực hiện song song

k (p,n) – thời gian liên quan cho thực hiện song song (parallel overhead) như:

các thao tác truyền thông (thời gian khởi tạo quá trình, đồng bộ quá trình, truyền thông giữa các quá trình) và các tính toán dư thừa

p – kích thước của chương trình

n – số lượng bộ xử lý thực hiện chương trình

)()()

,

n

p p

n

p

T =σ +ϕ +κ - Tổng thời gian thực hiện chương trình trên

máy tính song với n bộ xử lý

Phần tuần tự (f) Phần có thể thực hiện song song (1-f)

Hình 2.2: Di ễn giải thời gian thực hiện chương trình song song

Ngày đăng: 17/08/2014, 23:19

HÌNH ẢNH LIÊN QUAN

Hỡnh 1.1: Cỏc kiến trỳc của chip đa lừi ứng dụng chung - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
nh 1.1: Cỏc kiến trỳc của chip đa lừi ứng dụng chung (Trang 12)
Hỡnh 1.2: Chip đa lừi cú L2 chia sẻ  Hỡnh 1.3: Chip đa lừi cú L2 riờng - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
nh 1.2: Chip đa lừi cú L2 chia sẻ Hỡnh 1.3: Chip đa lừi cú L2 riờng (Trang 13)
Hình 1.7: Mạng kết nối N: là các bus giao nhau - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.7 Mạng kết nối N: là các bus giao nhau (Trang 15)
Bảng 1.1: Các đặc tính của siêu lập thể - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Bảng 1.1 Các đặc tính của siêu lập thể (Trang 24)
Bảng 1.2: Các đặc tính của kết nối đầy đủ - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Bảng 1.2 Các đặc tính của kết nối đầy đủ (Trang 25)
Hình 1.24: (a): thành phần chuyển mạch, (b): đi thông (trực tiếp), (c): đấu chéo,  (d): quảng bá trên, (e): quảng bá dưới - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.24 (a): thành phần chuyển mạch, (b): đi thông (trực tiếp), (c): đấu chéo, (d): quảng bá trên, (e): quảng bá dưới (Trang 26)
Hình 1.25: Chuyển mạch thay đổi - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.25 Chuyển mạch thay đổi (Trang 27)
Hình 1.27: Tầng 1 gồm các chuyển mạch ở trạng thái đấu chéo - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.27 Tầng 1 gồm các chuyển mạch ở trạng thái đấu chéo (Trang 28)
Hình 1.30: Mạng chuyển mạch Omega 3 tầng 8x8 - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.30 Mạng chuyển mạch Omega 3 tầng 8x8 (Trang 30)
Hình 1.31: (a): kết nối xáo trộn N=8; (b): mạng chuyển mạch xáo trộn 1 tầng  1.3.3. 3 - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 1.31 (a): kết nối xáo trộn N=8; (b): mạng chuyển mạch xáo trộn 1 tầng 1.3.3. 3 (Trang 31)
Bảng 1.3: So sánh một số cấu hình mạng kết nối động - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Bảng 1.3 So sánh một số cấu hình mạng kết nối động (Trang 33)
Hình 2.2: Diễn giải thời gian thực hiện chương trình song song - đánh giá hiệu năng của vi xử lý đa lõi dựa trên kiến trúc kết nối
Hình 2.2 Diễn giải thời gian thực hiện chương trình song song (Trang 38)

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

🧩 Sản phẩm bạn có thể quan tâm

w