High Performance Computing là gì?
Khi nói đến điện toán hiệu năng cao hay High Performance Computing, chúng ta thường hướng đến việc giải quyết một số loại bài toán. Những bài toán này thường sẽ rơi vào một trong bốn loại:
1. Nặng về Xử lý (compute intensive) – Một bài toán duy nhất đòi hỏi một lượng lớn tính toán.
2. Nặng về Dữ liệu (data intensive) – Một bài toán duy nhất hoạt động trên một tập dữ liệu lớn.
3. Nặng về Bộ nhớ (memory intensive) – Một bài toán duy nhất đòi hỏi một lượng lớn bộ nhớ.
4. Thông lượng cao (throughput intensive) – Nhiều bài toán không liên quan được tính toán đồng loạt.
Bài viết này sẽ giới thiệu chi tiết về HPC giúp bạn hiểu rõ ý nghĩa của chúng trong việc giải quyết các bài toán phổ biến được liệt kê ở trên.
Các workload nặng về xử lý
Đối với các bài toán đòi hỏi nhiều về xử lý, mục tiêu là phân phối công việc cho một bài toán duy nhất cho nhiều CPU để giảm thời gian xử lý càng nhiều càng tốt. Để thực hiện điều này, cần thực hiện song song các bước của bài toán. Mỗi process hoặc thread xử lý một phần khối lượng công việc và thực hiện chúng một cách đồng thời. Các CPU thường đòi hỏi phần cứng chuyên dùng cho việc giao tiếp để trao đổi dữ liệu nhanh chóng. Điển hình cho các loại bài toán này có thể kể đến là phân tích dữ liệu liên quan đến các tác vụ như mô hình hóa trong lĩnh vực tài chính, quản trị rủi ro hay chăm sóc sức khỏe. Đây được xem là phần lớn nhất trong các tập vấn đề của HPC và là lĩnh vực truyền thống của HPC.
Các workload nặng về dữ liệu
Đây có lẽ là loại workload phổ biến nhất và có lẽ là loại có nhiều buzzword nhất, chúng được gọi là các workload Big Data. Workload nặng về dữ liệu là loại workload phù hợp cho các gói phần mềm như Hadoop hoặc MapReduce. Đây thực chất là sự nghịch đảo của workload nặng về bộ nhớ trong việc di chuyển nhanh chóng dữ liệu từ các ổ đĩa quan trọng hơn vấn đề kết nối. Các workload này thường là trong lĩnh vực Life Science hay lĩnh vực nghiên cứu và có phạm vi rộng trong các ứng dụng thương mại, đặc biệt là xung quanh dữ liệu người dùng và sự tương tác.
Các workload nặng về bộ nhớ
Các workload nặng về bộ nhớ cần nhiều không gian bộ nhớ hơn là có nhiều CPU. Đây là một trong những vấn đề khó giải quyết nhất và thường đòi hỏi sự cẩn thận cao khi thiết lập nên hệ thống của bạn. Việc lập trình và chuyển mã sẽ dễ dàng hơn vì bộ nhớ sẽ liền lạc cho phép tạo ra một hình ảnh hệ thống duy nhất. Tuy nhiên, việc tối ưu hóa trở nên khó khăn hơn khi kéo dài ngày khởi tạo ban đầu của hệ thống vì tính đồng nhất của các component. Theo truyền thống, sẽ không thay thế các máy chủ sau mỗi ba năm một lần. Nếu muốn có nhiều tài nguyên hơn trong cluster và hiệu năng được đồng nhất, bộ nhớ không đồng nhất sẽ tạo ra độ trễ thực tế.
Các workload cần đến thông lượng cao
Các công việc xử lý hàng loạt được coi là workload nặng về thông lượng cao. Trong workload cần đến thông lượng cao, thông lượng trong một khoảng thời gian nhất định được quan tâm hơn là hiệu năng xử lý đối với bất kỳ bài toán nào. Có thể phân phối nhiều bài toán một cách độc lập trên nhiều CPU để giảm thời gian thực hiện tổng thể. Những workload này cần:
Chia thành các phần độc lập một cách tự nhiên
Có rất ít hoặc không có giao tiếp CPU-CPU
Được thực hiện trong các process hoặc thread riêng biệt trên một CPU (một cách đồng thời)
Workload nặng về xử lý cũng có thể được chia thành các workload nặng về thông lượng cao, tuy nhiên các workload thông lượng cao không nhất thiết đòi hỏi nhiều về CPU.
==========
ADTECH – Cung cấp thiết bị-giải pháp công nghệ dành cho doanh nghiệp
VP HN: Số 6 Kim Đồng, Phường Giáp Bát, Quận Hoàng Mai, TP. Hà Nội
CN HCM: Toà nhà Sabay Buiding 99 Cộng Hoà, Phường 4, Tân Bình, TP. HCM
Hotline: 0969133273
Website: aiotvn.com