Home > Programming > So sánh MapReduce với các mô hình khác

So sánh MapReduce với các mô hình khác

1.  RDBMS

MapReduce xử lí khối dữ liệu lớn nhanh hơn RDBMS nhưng yêu cầu các dữ liệu không được thường xuyên thay đổi, lý do là dữ liệu được lưu thành nhiều bản sao trên các máy khác nhau, nếu thay đồi thường xuyên thì sẽ khó đảm bảo tính nhất quán của dữ liệu. Do đó, MapReduce thích hợp với những ứng dụng mà trong đó dữ liệu chỉ viết một lần mà đọc nhiều lần và được xem là sự bổ sung của RDBMS.

2.  BOINC

BOINC được dùng cho tính toán tập trung (intensive computing) trong khi MapReduce dùng cho xử lí lượng dữ liệu lớn. Các máy tính tình nguyện trong BOINC thường không lưu dữ liệu, Client PC sẽ nhận một tập hợp các nhiệm vụ và dữ liệu nhập từ data server, và sau khi tính toán xong, sẽ gởi dữ liệu trở lại data server rồi nhận nhiệm vụ mới. Trong khi các máy tính trong MapReduce thường lưu sẵn dữ liệu, khi phân phát nhiệm vụ, hệ thống sẽ xem máy nào lưu dữ liệu nào thì chỉ định máy đó xử lí dữ liệu đó. Như vậy sẽ giảm được rất nhiều dữ liệu cần truyền.

3.  SMP

Đặc tính quan trọng nhất của SMP là tính đối xứng, các bộ xử lí có quyền truy cập bộ nhớ chung như nhau dưới sự điều khiển của cùng hệ điều hành, các bộ xử lí thông qua system bus, crossbar switch hoặc on-chip chesh network để liên kết với nhau. Nếu dùng  system bus hoặc crossbar switch thì khó mở rộng vì đường truyền có hạn, số lượng bộ xử lí cũng bị hạn chế. Nếu dùng on-chip chesh network thì tránh được điều này, dễ mở rộng nhưng tăng độ khó của lập trình. Kĩ thuật SMP tương đối thành thục, nhiều phần mềm, nhưng do chỉ có mỗi một hệ điều hành nên khi hệ điều hành phát sinh lỗi thì cả hệ thống cũng ngưng hoạt động. Trong mô hình MapReduce, các máy tính cá nhân điều có hệ điều hành riêng, cả hệ thống có tính chịu lỗi cao, hơn nữa mở rộng hết sức đon giản.

4.  MPP

MPP do nhiều máy tính độc lập thông qua liên kết tốc độ cao liên kết với nhau. Mỗi máy tính đều có bộ xử lí và bộ nhớ cục bộ riêng. MPP có thể gồm hàng trăm thậm chí hàng nghìn máy, các máy thông qua phương thức truyền gói tin (ví dụ MPI). Do hệ thống có qui mô lớn, nhiều thiết bị chuyên dụng nên phát triển tương đối khó, chi phí cao. Trong khi đó, MapReduce sử dụng PC nên chi phí tương đối thấp.

5.  Cluster

Cluster do nhiều máy tính thông qua mạng kết nối với nhau, nhưng tất cả các máy tính, thiết bị mạng và các phần cứng khác đều là loại thông thường, giá thấp, do đó chi phí phát triển không cao, ứng dụng rộng rãi. Phần lớn các máy tính trong Cluster sử dụng MPI để  giao tiếp với nhau, nhưng sử dụng MPI có 4 khuyết điểm: lập trình viên cần hiểu biết về cấu trúc của hệ thống vì việc giao tiếp cụ thể của các máy ảnh hưởng rất lớn đến tốc độ tính toán; MPI không hỗ trợ điều tiết hoạt động giữa các máy, lập trình viên tự thực hiện lấy, tuy nhiên việc thực hiện không dễ dàng chút nào; máy tính rãnh không phải bất kì lúc nào cũng tham gia vào MPI được; MPI không có cơ chế xử lí khi một máy tính trong hệ thống bị lỗi, trong khi đối với các Cluster lớn thì lỗi kiểu này rất thường xảy ra. Nếu sử dụng MPI thì người dùng không cần để ý đến các chi tiết này, hệ thống đều giúp người dùng tự động xử lí.

Categories: Programming Tags: , , , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: