Tham dự Tech Lounge

Tham dự Tech Lounge


Kiến trúc HSA (Heterogenous System Architecture) là gì và nó có lợi ích như thế nào cho CPU/GPU?

Duy Luân
27/11/2014 0:33Phản hồi: 52
Kiến trúc HSA (Heterogenous System Architecture) là gì và nó có lợi ích như thế nào cho CPU/GPU?
Kien_truc_HSA_AMD_APU.png

Trong thời gian gần đây AMD khá chú trọng đến một công nghệ điện toán mới mà hãng gọi là Heterogenous System Architecture (HSA, tạm dịch: kiến trúc hệ thống hỗn tạp). Đây sẽ là kiến trúc được AMD áp dụng trên nhiều vi xử lý của hãng trong tương lai, bắt đầu với SoC hiệu năng cao Carizzo sắp bán ra vào năm sau. AMD hứa hẹn con chip này sẽ mang lại hiệu năng cao cũng như hiệu quả sử dụng năng lượng tốt nhờ tận dụng một cách đầy đủ GPU tích hợp. Nhưng không chỉ có một mình AMD, công nghệ HSA thực chất được phát triển bởi cả một hiệp hội do AMD và ARM dẫn đầu, bên cạnh đó là nhiều tên tuổi lớn như Samsung, LG, Sony, Qualcomm, ST Ericsson, MediaTek, Texas Instruments... Vậy HSA là gì và nó mang lại lợi ích gì cho người dùng? Mời các bạn cùng tìm hiểu thông qua bài viết này.

Những thách thức trong thế giới điện toán hiện nay


Lĩnh vực điện toán hiện đang đi vào một giai đoạn khó khăn, nơi mà bất kì công ty nào muốn đi đầu với một công nghệ mới đều phải cẩn thận xem xét đến nhiều sự hi sinh. Một trong số đó là vấn đề liên quan đến năng lượng tiêu thụ. Người tiêu dùng muốn thiết bị của họ có thời lượng pin dài hơn trong khi kích cỡ máy thì càng ngày càng nhỏ lại, smartphone, tablet và laptop cũng càng lúc càng mỏng và nhẹ hơn. Nhìn ở mức cao hơn một chút, các trung tâm dữ liệu cũng đòi hỏi việc tiêu thụ năng lượng phải hiệu quả hơn trong bối cảnh chi phí làm mát và chi phí cấp điện đang gia tăng.

Cùng lúc đó, người dùng cũng muốn có được những trải nghiệm tốt hơn và mới mẻ hơn. Chúng ta muốn truy cập thiết bị của mình thông qua những giao diện tự nhiên hơn như cử chỉ và giọng nói, chúng ta cũng muốn những thiết bị đó phải quản lý được lượng dữ liệu ngày càng lớn dần (chẳng hạn như những bức ảnh chụp khi đi du lịch, các bộ phim giải trí, và cả một thế giới nội dung phong phú khác đang nằm trên "mây").

Và để mang lại được những trải nghiệm như vậy, vai trò của lập trình viên là một điều không thể bỏ qua. Mọi thứ phải thật dễ dàng để giúp lập trình viên khai thác được tính năng mới của các công nghệ hiện đại bằng cách sử dụng những mô hình lập trình quen thuộc và mạnh mẽ.

CPU_GPU_so_sanh.JPG

Cuối cùng, việc phần mềm có thể chạy được trên nhiều nền tảng càng ngày càng trở nên cần thiết hơn. Đã qua rồi cái thời thiết bị điện toán duy nhất mà mỗi cá nhân có thể sở hữu chỉ là chiếc máy tính. Giờ đây những thiết bị điện toán có mặt ở khắp mọi nơi, và mỗi người có thể có đến vài ba cái máy tính, điện thoại, máy tính. Bạn hãy thử tưởng tượng nếu một app quan trọng có mặt trên Android nhưng lại thiếu vắng trên iOS, Windows hay OS X thì sức cạnh tranh của nó sẽ như thế nào so với một app tương đương nhưng có đủ phiên bản cho các hệ điều hành phổ biến?

Để giải quyết những thách thức phức tạp nêu trên, cả ngành công nghiệp cần một cách tiếp cận khác - một cách tiện cận hiệu quả hơn đối với kiến trúc điện toán. Chúng ta cần một phương thức có thể mang lại sự cải thiện trên cả 4 mặt: năng lượng, hiệu năng, khả năng lập trình và tính di động.

Kiến trúc HSA


Kể từ những ngày đầu ra đời, những chiếc máy tính đã sở hữu một bộ vi xử lý trung tâm (CPU) được thiết kế để chạy tốt những tác vụ chung chung. Tuy nhiên, trong vài thập kỉ gần đây các thiết bị điện toán cá nhân, kể cả tablet hay smartphone, lại được tích hợp thêm các loại bộ xử lý khác, và bộ xử lý đồ họa (GPU) là một trong số đó. GPU được tạo ra để đảm đương những tác vụ tính toán song song với CPU. Theo thời gian, GPU càng ngày càng trở nên mạnh mẽ hơn và phổ biến hơn, từ đó cho phép người ta sử dụng GPU như một giải pháp tính toán tăng cường cho CPU chứ không chỉ để xử lý đồ họa.

Vấn đề đó là CPU và GPU hiện nay được thiết kế như các thành phần độc lập và chúng không phối hợp hoạt động với nhau thật hiệu quả, thậm chí còn quá rắc rối đối với một số loại ứng dụng nhất định. CPU và GPU đều có bộ nhớ riêng của mình (CPU là RAM, GPU và vRAM), các hệ thống điện toán cũng cần có một ứng dụng để sao chép dữ liệu từ CPU sang cho GPU xử lý rồi lại chép ngược về CPU.

Chưa hết, bộ định thời của CPU và GPU hoàn toàn khác nhau khiến việc sắp xếp, quyết định thời gian chạy các chương trình cũng khác nhau. Điều đó tạo ra độ trễ và lượng dữ liệu dư thừa rất lớn, thế nên việc phối hợp giữa CPU và GPU chỉ đáng khi chạy những phần mềm nào cần đến một sức mạnh tính toán song song lớn.

Quảng cáo


Để khai thác tốt khả năng của các đơn vị tính toán song song trên GPU (parallel execution unit), điều cơ bản đó là các nhà thiết kế hệ thống phải suy nghĩ theo hướng khác. Họ phải tái cấu trúc lại hệ thống máy tính sao cho có thể tích hợp chặt chẽ nhiều thành phần tính toán khác nhau vào một nền tảng chung, trong khi vẫn phải mở ra một con đường dễ dàng và không cần nhiều thay đổi căn bản nhằm giúp lập trình viên tiếp cận nhanh hơn. Đây chính là mục tiêu chính của công nghệ HSA.

HSAAcceleratedProcessingUnit.png

HSA tạo ra một một thiết kế vi xử lý tân tiến hơn với khả năng phối hợp cực tốt giữa các đơn vị tính toán trong hệ thống. Với HSA, các ứng dụng có thể khai thác một không gian địa chỉ chung (virtual address space), đồng thời được phép tạo ra những lệnh làm việc trên các phần cứng phù hợp nhất cho từng tác vụ khác nhau. Việc chia sẻ dữ liệu giữa các đơn vị tính toán, cụ thể hơn là giữa CPU và GPU, được đơn giản hóa đi rất nhiều. Chính khía cạnh này của HSA sẽ giúp lập trình viên viết phần mềm dễ hơn và nhanh hơn.

CPU và GPU cũng có thể thao tác trên cùng một vùng nhớ chung mà không làm cho dữ liệu mất đi tính thống nhất (coherence), cũng giống như những gì mà CPU đa nhân hiện nay có thể làm được. Bạn hãy tưởng tượng trong một chiếc máy tính mà cùng một dữ liệu đó nhưng CPU nhìn ra theo cách khác, còn GPU lại theo một cách khác thì sẽ như thế nào?


APU thế hệ mới của AMD và kiến trúc HSA 1.0


Kiểu kết hợp CPU và GPU vào chung trong một đế như cách mà AMD đang thực hiện trong SoC Carrizo không phải là mới. Hãng đã ra mắt những sản phẩm như thế nhiều năm nay và gọi chúng là APU (Accelerated Processing Unit). Giờ đây, với kiến trúc HSA phiên bản 1.0, AMD càng hoàn thiện hơn những con APU của mình về mặt hiệu năng, giảm độ trễ, tối ưu mức sử dụng năng lượng, đồng thời giúp lập trình viên dễ dàng hơn trong việc viết phần mềm. AMD muốn GPU phải hoạt động như là CPU, như vậy thì cách đối xử của phần mềm với các nhân xử lý nói chung sẽ thống nhất hơn.

Quảng cáo



Bên cạnh đó, HSA còn giúp tổ chức bộ nhớ tốt hơn vì giờ đây các ô nhớ của GPU hay CPU đều sử dụng chung một không gian địa chỉ ảo, nhờ vậy lập trình viên sẽ không gặp nhiều khó khăn trong việc di chuyển dữ liệu giữa các loại bộ nhớ khác nhau. Việc trao đổi dữ liệu giữa CPU và GPU sẽ nhanh hơn, ít lỗi, ít thành phần dư thừa hơn, và đây chính là một điểm khác biệt lớn so với của APU trước đây của chính AMD.
So_do_chung.png
Nhìn tổng quan, chúng ta sẽ có những chiếc máy tính mạnh mẽ hơn (cả về mặt xử lý và đồ họa) và độ phản hồi tốt hơn, từ đó giúp giải quyết công việc nhanh hơn, chính xác hơn với chi phí thấp hơn. Hiệu quả sử dụng năng lượng của chip cũng được tăng cao nhờ các giải pháp do AMD phát triển. Nói cách khác, SoC Carrizo đã giúp giải quyết thách thức về thời lượng pin như đã nói ở trên.


Nhóm nhân sự chuyên về HSA của AMD đã phân tích sức mạnh của kiến trúc mới này bằng cách cho chạy Haar Face Detect, một thuật toán dùng để nhận biết gương mặt trong video. Nhóm đã so sánh việc sử dụng CPU/GPU kết hợp với tập lệnh OpenCL để xử lý hình ảnh rồi đối chiếu với những gì HSA có thể làm được. Kết quả đó là HSA chia sẻ dữ liệu rất tốt giữa CPU và GPU, dữ liệu không cần phải được copy và dọn dẹp giữa hai đơn vị tính toán (vì xài chung một bộ nhớ) nên các tác vụ được thực hiện với lượng dữ liệu thừa nhỏ nhất.

Hiệu năng của phiên bản HSA cũng cao hơn 2,3 lần trong khi mức tiêu thụ điện thì giảm 2,4 lần. Điều này không thể đạt được nếu chỉ dùng các CPU đa nhân, chỉ dùng GPU hay thậm chí kết hợp CPU và GPU theo mô hình hiện nay. Quan trọng hơn, phép thử nghiệm chỉ xài những phần mở rộng đơn giản cho ngôn ngữ C++ chứ không phải là một cách thức lập trình gì đó mới hoàn toàn nên việc tiếp cận không có gì là khó khăn. Đây chính là một ví dụ về cách mà HSA có thể mang lại một trải nghiệm tốt hơn cho người dùng.

Cấu hình hệ thống dùng thử nghiệm:
  • 4GB RAM; Windows 7 (64-bit); OpenCL 1.1
  • APU: AMD A10 4600M với GPU Radeon HD
  • CPU: 4 cores @ 2.3 GHz (turbo lên cao nhất là 3.2 GHz)
  • GPU: AMD Radeon HD 7660G, 6 đơn vị tính toán, xung nhịp 685MHz
AMD và lợi thế khi triển khai kiến trúc HSA

AMD có một vị trí rất độc đáo để đưa HSA vào thực tế bởi hãng có thể làm sản xuất CPU và GPU, còn NVIDIA thì không thể làm được chuyện đó. Kiến trúc GPU Maxwell mới của NVIDIA có hỗ trợ nhiều tính năng có thể dùng cho việc tính toán phức tạp (heterogeneous), nhưng bởi vì công ty không có CPU x86 của riêng mình nên hiệu quả mang lại không thể bằng như AMD. NVIDIA chỉ có thể khai thác heterogeneous trong mảng chip di động với những CPU ARM của họ, và hãng dự tính sẽ công bố tính năng đó trong người kế nhiệm của Tegra K1.

HSA_tom_luoc.png

Intel cũng có thể đi theo con đường tương tự như AMD bởi giờ đây họ đã có thể làm cả CPU và GPU. Tuy nhiên, họ lại chọn một hướng khác: AMD làm APU để kết hợp CPU và GPU, còn Intel thì sản xuất CPU giá rẻ có khả năng hoạt động như là GPU. Co-processor Intel Xeon Phi đang bán trên thị trường hoạt động theo cùng cách này, nhưng nó chỉ có mặt trong server và siêu máy tính chứ không phải là những thiết bị tiêu dùng.

Hiệp hội HSA


Nếu chỉ một mình AMD thôi thì việc triển khai kiến trúc HSA sẽ rất khó. Mục tiêu của HSA còn là để giúp các nhà phát triển phần mềm chỉ cần viết app một lần và chạy trên nhiều nền tảng khác nhau, thế nên chỉ một công ty phần cứng đơn độc sẽ không thể biến giấc mơ này thật sự thật. Từ đây, Hiệp hội HSA (HSA Foundation) đã được thành lập như một cơ quan chịu trách nhiệm phát triển HSA và kiểm soát việc đưa kiến trúc này ra thị trường. Những thành viên tham gia sáng lập bao gồm AMD, ARM, Imagination Technologies, MediaTek, Texas Instruments, Samsung Electronics và Qualcomm, ngoài ra còn nhiều tên tuổi khác. Tất cả đều là những công ty lớn trong lĩnh vực chip nói riêng và điện toán nói chung nên thách thức về việc chạy ứng dụng đa nền tảng đã được giải quyết phần nào.

HSA.png

Hiệp hội này cũng sẽ giúp các nhà thiết kế hệ thống tích hợp nhiều thành phần tính toán với nhau (chứ không chỉ riêng gì CPU và GPU) theo cách có thể loại bỏ được sự thiếu hiệu quả trong việc chia sẻ dữ liệu và công việc giữa các thành phần này. Thiết kế HSA cũng cho phép phần mềm khai thác được nhiều tính năng phần cứng thông qua một lớp chung gọi là HSA Intermediate Language (HSAIL). HSAIL sẽ biến giấc mơ "viết một lần, chạy khắp nơi" thành hiện thực bởi lập trình viên không phải tinh chỉnh mã nguồn của họ cho từng cấu hình CPU/GPU nữa.

Kết


Tất cả những gì mình muốn chia sẻ trong bài viết này đó là HSA sẽ là kiến trúc mới cho rất nhiều vi xử lý không chỉ do AMD sản xuất mà còn từ những thành viên khác trong Hiệp hội. Nó có thể mở ra một tương lai mới cho thiết bị điện toán, nơi mà chúng ta sẽ có những sản phẩm nhỏ hơn, nhẹ hơn, pin lâu hơn và mạnh mẽ hơn. Kéo theo đó là những trải nghiệm mới hơn, tốt hơn sẽ được mang đến cho người dùng. Lập trình viên thì có thể viết phần mềm của mình một cách đơn giản hơn và tận dụng CPU/GPU tốt hơn. Chúng ta hãy đợi đến khi con chip AMD Carrizo ra mắt vào năm sau để xem hiệu năng thực tế của nó sẽ như thế nào nhé.

Tóm tắt 6 lợi ích của HSA:
  1. Mang lại trải nghiệm người dùng tốt hơn
  2. Mang lại hiệu năng cao hơn trong cùng một kiểu dáng máy tính
  3. Thời gian dùng pin lâu hơn mà không phải hi sinh hiệu năng
  4. Việc lập trình phần mềm trở nên dễ dàng hơn
  5. Hỗ trợ cho các ngôn ngữ lập trình thông dụng như Python, C++ và Java
  6. Chi phí phát triển ứng dụng sẽ hạ thấp

Tham khảo: AMD (1), (2)
52 bình luận
Chia sẻ

Xu hướng

Hiepsitemple
ĐẠI BÀNG
9 năm
Intel sẽ nói gì!
Bài viết rất hay và dễ hiểu 😁
CPU xung cao thế này thì đáng sợ thật, mua em này về không biết chạy MS Dos có nổi hay không nữa ta. Công nghệ AMD bá đạo quá đi mất, turbo phát lên 3,2GHz luôn, kiểu này siêu tiết kiệm điện, siêu mát rồi. Intel cạp đất đi là vừa
hvmk
ĐẠI BÀNG
9 năm
@Jack Reacher Không phân biệt dc Mhz và Ghz ah, Mod ghi xai chính tả, ông nội kia chỉ đang troll Mod thôi 😁
marilonluu
TÍCH CỰC
9 năm
@king_of_mar1311 amd xung cao lắm 3.5 3.8ghz là bình thường, nhưng hiện nay tiêu thụ năng lượng với lại hiệu năng thua intel nên cũng ko khả quan. không phải cứ xung cao hơn là mạnh hơn
bảy sẹo
ĐẠI BÀNG
9 năm
@king_of_mar1311 Bác tinh thật đấy
@king_of_mar1311 Cạp đất này mềm mà!!! còn đẹp nữa!!!?!?! 😁 dat nan.jpg
thaingo84
ĐẠI BÀNG
9 năm
Intel không thích điều này, vài chục thằng "chọi" 1 thằng thì thằng kia thế nào cũng "vào viện".
Tuy nhiên đây là cái tất yếu của sự phát triễn, rất chờ mong kiến trúc này trong tương lai.
greywarden
ĐẠI BÀNG
9 năm
Hay đấy. Thế này thì chúng ta sẽ được chứng kiến những chiếc laptop hay điện thoại sử dụng nền tảng HSA để tối ưu hóa giứa CPU và GPU nhằm đem lại hiểu quả xử lý cao nhất mà lượng điện năng sẽ được giảm thiểu tối đa 😁
Đây đúng là game changer cho AMD để có thể cạnh tranh được với Nvidia 😆
Intel sẽ phải đáp trả và anh em được nhờ
Chữ nhiều quá nhát đọc, khi nào có sản phẩm cụ thể, cùng đọ sức mạnh thì mới biết chính xác hiệu năng thế nào được!
dinhbatai
ĐẠI BÀNG
9 năm
@Lekhanhhoa.HLY Lười thì chịu =]]
thích phần tóm tắt của Mod, thanks
Làm sao có từ Intel và Nvida nó để yên cho được. mấy anh cứ đánh nhau đê =)) Người tiêu dùng hưởng lợi là tốt nhất =)) ( Cái giá nó đừng trên mây là được )
MrTy85
ĐẠI BÀNG
9 năm
Excavator là một bước nhảy vọt rất lớn về cấu trúc của APU AMD, hứa hẹn 1 bước nhảy vọt về hiệu năng.

Plus: rất mong APU AMD cũng có bước nhảy vọt về kích thước bán dẫn, 28nm -> 20nm
Có lẽ AMD đã giành nhiều thời gian và tiền bạc cho HSA, nên ko đủ time để R&D cho 20nm.
masterss0
TÍCH CỰC
9 năm
@MrTy85 HSA này có vẻ như AMD đã phát triển trên PS4 từ trước rồi ấy nhỉ!
MrTy85
ĐẠI BÀNG
9 năm
@masterss0 đã phát triển từ trước khi có PS4
Các bạn có thấy chữ M ko :p thấy mod viết sai ko
Jack Reacher
ĐẠI BÀNG
9 năm
@trantuananh1996 ? M nào thế o_O
@Jack Reacher Có con chip nào turbo từ MHz lên đc GHz? bạn ko hiểu đấy là nhắc khéo mod à o_O
Jack Reacher
ĐẠI BÀNG
9 năm
@trantuananh1996 Oh ra thế 😁 thế mà lúc đầu mình cứ tưởng ko biết dùng máy từ thập niên mà còn tính Mhz :D
@Jack Reacher đáng lẽ là 2.3GHz nhưng mod viết nhầm là 2.3MHz
1Ghz=1000MMhz boost từ 2.3mhz lền 3.2 ghz vl.😃
@kkzbanana boost đc thế thì intel ăn hành à 😁
Jack Reacher
ĐẠI BÀNG
9 năm
@kkzbanana Ờ kinh vồn 😁 mà cho dù từ 2.3Ghz turbo lên 3.2Ghz đi chăng nữa cũng chả ăn lại intel mà thằng đó kêu cao :D core i3 4330 dùng mặc định đã 3.5Ghz rồi :D
@Jack Reacher Bác ấy nói xung cao là troll cái 2.3MHz nó "cao" ý, còn bảo intel cạp đất vì chip nó chạy ở 2.3Mhz thì nó chả "siêu mát, siêu tiết kiệm pin" còn gì, thím chả hiểu quái gì cả
Jack Reacher
ĐẠI BÀNG
9 năm
@thienquang07 ờ ra thế 😁 thôi thì có sự hiểu lầm ko hề nhẹ ở đây :D
chetnhacon
TÍCH CỰC
9 năm
Intel mà cổ hủ , cứng nhắc thì chắc chết. Anh microsoft thay đổi hàng ngày kìa. Nền tảng nào cũng chơi mới ngon
Người ta nhắc khéo mà mấy thím cứ tưởng thật :eek:, đến chịu 😕
Jack Reacher
ĐẠI BÀNG
9 năm
@thienquang07 nhắc khéo mà thêm câu intel đi cạp đất là sao thế 😁
intel sẽ làm sao 😁
needforspeed
ĐẠI BÀNG
9 năm
mình thích xài hảng AMD hơn Intel, cùng hiệu năng mà giá rẻ hơn. chỉ có 1 vấn đề AMD phải giải quyết đó là Main ít quá, mà giá lại cao
@needforspeed Hình như CPU của amd thì rẻ còn main support amd thì cao
MrTy85
ĐẠI BÀNG
9 năm
@needforspeed Ko những main AMD giá cao mà phải xài các loại nguồn tương đối xịn trở lên, ko như Intel xài hàng lỡm vẫn chạy tốt.
Cơ bản vì Intel được chuộng hơn nên sản phẩm thường nhiều và rẻ hơn AMD.

Với HSA + GCN thì trong tương lai, nếu APU của AMD được sản xuất trên dây chuyền 20nm thì APU AMD chắc sẽ trội hơn so với các dòng core i5 cấp cao của Intel.
Có nhiều bác đàn bà thay ghe, người ta lỡ ghi sai xíu moi móc, troll các kiểu @@
Inter mà kết hợp với nivia làm 1 quả APU siêu tiết kiệm điện mà tốc độ cao là bá đạo
buồn cười ko phải mod ghi sai, mà là các thánh vào đọc cmt của người ta, ko hiểu ý họ rồi còn mỉa mai chê bai này nọ. May có cmt của bác ấy em mới phát hiện ra mod ghi nhầm, các bác cứ chém loạn hết cả lên 😆

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019