Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Kiến trúc xử lý song song là gì?

Có ba kiến trúc phần cứng xử lý song song cơ bản trong thị trường server như xử lý đa xử lý đối xứng (SMP), xử lý song song lớn (MPP), và kiến trúc bộ nhớ không đồng nhất (NUMA).

Xử lý đa xử lý đối xứng (SMP - Symmetric Multiprocessing)

Kiến trúc SMP là thiết bị đơn lẻ với nhiều bộ xử lý, tất cả được quản lý bởi một hệ điều hành và tất cả truy cập cùng vùng đĩa và bộ nhớ. Máy SMP với 8 đến 32 bộ xử lý, cơ sở dữ liệu song song, bộ nhớ lớn (hai gigabyte trở lên), đĩa tốt, và thiết kế tốt nên hoạt động tốt với kho dữ liệu quy mô trung bình.

Cơ sở dữ liệu cần có thể chạy quy trình của nó song song, và quy trình kho dữ liệu cần được thiết kế để tận dụng khả năng song song. Các bộ xử lý có thể truy cập tài nguyên chung (bộ nhớ và đĩa) nhanh chóng, nhưng đường dẫn truy cập chúng cần để lấy tài nguyên đó, backplane, có thể trở thành nút thắt cổ chai khi hệ thống mở rộng.

Vì máy SMP là thực thể đơn lẻ, nó cũng có điểm yếu là điểm lỗi đơn lẻ (single point of failure) trong kho. Để khắc phục vấn đề này, công ty phần cứng đã đưa ra kỹ thuật cho phép một số máy SMP được liên kết với nhau, hoặc cụm (clustered).

Trong cụm, mỗi nút là máy SMP chạy hệ điều hành riêng, nhưng cụm bao gồm kết nối và phần mềm điều khiển để cho phép máy chia sẻ đĩa và cung cấp dự phòng fail-over. Trong trường hợp này, nếu một máy lỗi, các máy khác trong cụm có thể tạm thời lấy phần tải xử lý của nó. Tất nhiên, lợi ích này đi kèm chi phí—cụm hóa cực kỳ phức tạp và khó quản lý. Công nghệ cơ sở dữ liệu cần để trải rộng cụm đang cải thiện.

Xử lý song song lớn (MPP - Massively Parallel Processing)

Hệ thống MPP là chuỗi các máy tính tương đối độc lập, mỗi máy có hệ điều hành, bộ nhớ, và đĩa riêng, tất cả được điều phối bằng cách truyền tin nhắn qua lại. Điểm mạnh của MPP là khả năng kết nối hàng trăm nút máy và áp dụng chúng cho vấn đề bằng phương pháp brute-force.

Ví dụ: nếu cần quét toàn bảng lớn, lan tỏa bảng đó qua hệ thống MPP 100 nút và cho mỗi nút quét 1/100 bảng đó nên tương đối nhanh. Đó là tương đương máy tính của "nhiều tay làm nhẹ việc".

Kiến trúc bộ nhớ không đồng nhất (NUMA - Non-Uniform Memory Architecture)

NUMA là kết hợp SMP và MPP cố gắng hợp nhất tính thích ứng đĩa chia sẻ của SMP với tốc độ song song của MPP. Kiến trúc này là một đổi mới tương đối mới, và có thể khả thi cho kho dữ liệu trong dài hạn.

NUMA về mặt khái niệm tương tự ý tưởng cụm hóa máy SMP, nhưng với kết nối chặt chẽ hơn, băng thông lớn hơn, và sự điều phối lớn hơn giữa các nút. Nếu có thể phân đoạn kho dữ liệu thành các nhóm sử dụng tương đối độc lập và đặt mỗi nhóm trên nút của nó, kiến trúc NUMA có thể hiệu quả cho bạn.