Điện toán phân tán

Điện toán phân tán (tiếng Anh: Distributed computing) là một ngành khoa học máy tính nghiên cứu các hệ thống phân tán. Hệ thống phân tán (distributed system) là hệ thống phần mềm mà các thành phần cấu tạo nên nó nằm ở trên các máy tính khác nhau được kết nối thành mạng lưới. Các máy tính này phối hợp hoạt động với nhau để hoàn thành một nhiệm vụ chung bằng cách trao đổi qua lại các thông điệp (message).[1]

Điện toán phân tán là tính toán song song được phân quyền. Các loại phần cứng, ngôn ngữ lập trình, hệ điều hành và các tài nguyên khác được sử dụng có thể rất đa dạng. Nó tương tự với việc phân cụm máy tính (computer clustering) với khác biệt chính là sự phân tán về mặt địa lý của các tài nguyên.

Tổ chức

Việc tổ chức tương tác giữa các máy tính trong hệ thống có tầm quan trọng rất lớn. Để có thể sử dụng các loại máy tính đa dạng nhất có thể được, giao thức hoặc kênh truyền không nên chứa hoặc sử dụng bất cứ thông tin nào mà chỉ có một số máy tính nhất định có thể hiểu được. Cũng cần sự quan tâm đặc biệt tới việc các thông điệp phải được chuyển giao một cách đúng đắn và các thông điệp không hợp lệ phải bị loại bỏ, nếu không chúng có thể gây hại cho hệ thống và có thể cả phần còn lại của cả mạng.

Một nhân tố quan trọng khác là khả năng gửi phần mềm tới một máy tính khác một cách khả chuyển (portable) để cho phần mềm đó có thể thực thi và tương tác với mạng hiện hành. Việc này không phải lúc nào cũng khả thi và có ý nghĩa thực tế khi sử dụng các tài nguyên và phần cứng khác nhau, trong trường hợp đó cần sử dụng các phương pháp khác chẳng hạn như biên dịch chuyển mã (cross-compiling) hay chuyển bằng tay (manually porting) phần mềm này.

Tổng quan

Công nghệ thông tin và viễn thông ngày càng phát triển, đòi hỏi nhu cầu về xử lý thông tin ngày càng cao, nhanh hơn nhiều lần tốc độ phát triển của tài nguyên phần cứng và phần mềm. Có nhiều vấn đề đặt ra mà các hệ thống tập trung thông thường không đáp ứng được, do tốc độ xử lý còn hạn chế. Xây dựng một hệ thống phân tán có khả năng xử lý đồng thời một bài toán trên nhiều máy tính là một hướng giải quyết khả thi và đã được chứng minh tính hữu dụng. Hệ thống phân tán còn tạo nhiều thuận lợi trong việc chia sẻ thông tin trên toàn thế giới

Có nhiều dạng hệ thống phân tán khác nhau và nhiều khó khăn để thiết kế. Mục đích chính của hệ thống phân tán là kết nối người sử dụng và tài nguyên một cách trong suốt, mở, và có thể nới rộng được. Một cách lý tưởng thì hệ thống này có khả năng chịu lỗi tốt hơn và mạnh hơn nhiều hệ thống tổ hợp máy tính độc lập khác.

Ngày nay, các Web Service trở thành những giao thức chuẩn của các hệ thống phân tán.

Ví dụ

Một ví dụ của hệ thống phân tán là World Wide Web. Khi bạn xem một trang web trên một site, thực ra bạn đang sử dụng một hệ thống phân tán có chứa site đó. Khi bạn duyệt web, trình duyệt của bạn chạy trên máy tính của bạn giao tiếp với những máy chủ web khác nhau và cung cấp cho bạn các trang web mà bạn yêu cầu.

Rất có thể trình duyệt của bạn dùng qua một máy chủ proxy để truy cập đến nội dung các trang web chứa trên máy chủ web nhanh chóng và an toàn hơn.

Để có thể xác định những máy chủ này, trình duyệt phải dùng hệ thống tên miền phân tán DNS. Trình duyệt có thể truy cập tới tất cả những máy chủ này trên Internet thông qua hệ thống các router mà chính bản thân chúng cũng tạo nên một hệ thống phân tán khổng lồ.

  • x
  • t
  • s
Những lĩnh vực chính của khoa học máy tính
Các nền tảng toán học
Lý thuyết phép tính
Độ phức tạp Kolmogorov · Lý thuyết Automat · Lý thuyết tính được · Lý thuyết độ phức tạp tính toán · Lý thuyết điện toán lượng tử
Các cấu trúc dữ liệu
các giải thuật
Phân tích giải thuật · Thiết kế giải thuật · Hình học tính toán · Tối ưu hóa tổ hợp
Các ngôn ngữ lập trình
Các trình biên dịch
Tính song hành,
Song song,
và các hệ thống phân tán
Công nghệ phần mềm
Phân tích yêu cầu · Thiết kế phần mềm · Các phương pháp hình thức · Kiểm thử phần mềm · Quy trình phát triển phần mềm · Các phép đo phần mềm · Đặc tả chương trình · LISP · Mẫu thiết kế · Tối ưu hóa phần mềm
Kiến trúc hệ thống
Kiến trúc máy tính · Tổ chức máy tính · Các hệ điều hành · Các cấu trúc điều khiển · Cấu trúc bộ nhớ lưu trữ · Vi mạch · Thiết kế ASIC · Vi lập trình · Vào/ra dữ liệu · VLSI design · Xử lý tín hiệu số
Viễn thông
Mạng máy tính
Các cơ sở dữ liệu
Các hệ thống thông tin
Hệ quản trị cơ sở dữ liệu · Cơ sở dữ liệu quan hệ · SQL · Các giao dịch · Các chỉ số cơ sở dữ liệu · Khai phá dữ liệu · Biểu diễn và giao diện thông tin · Các hệ thống thông tin · Khôi phục dữ liệu · Lưu trữ thông tin · Lý thuyết thông tin · Mã hóa dữ liệu · Nén dữ liệu · Thu thập thông tin
Trí tuệ nhân tạo
Lập luận tự động · Ngôn ngữ học tính toán · Thị giác máy tính · Tính toán tiến hóa · Các hệ chuyên gia  · Học máy · Xử lý ngôn ngữ tự nhiên · Robot học
Đồ họa máy tính
Trực quan hóa · Hoạt họa máy tính · Xử lý ảnh
Giao diện người-máy tính
Khả năng truy cập máy tính · Giao diện người dùng · Điện toán mang được · Điện toán khắp mọi nơi · Thực tế ảo
Khoa học tính toán
Cuộc sống nhân tạo · Tin sinh học · Khoa học nhận thức · Hóa học tính toán · Khoa học thần kinh tính toán · Vật Lý học tính toán · Các giải thuật số · Toán học kí hiệu
Chú ý: khoa học máy tính còn có thể được chia thành nhiều chủ đề hay nhiều lĩnh vực khác dựa theo Hệ thống xếp loại điện toán ACM.
  • x
  • t
  • s
Chuyên ngành chính của Tin học
Công nghệ thông tin
Hệ thống thông tin
Khoa học máy tính
Kỹ thuật máy tính
Kỹ nghệ phần mềm
Mạng máy tính
Tin học kinh tế
  • x
  • t
  • s
Giám đốc công nghệ thông tin · Tin học kinh tế · Quản lý công nghệ thông tin
Quản lý
Quản lý mạng
Quản trị hệ thống
Hoạt động vận hành
  • Bảo trì thiết bị
  • Bảo vệ hệ thống
  • Đối phó sự cố
  • Kế hoạch dự phòng
Hoạt động kỹ thuật
  • Hỗ trợ kỹ thuật
  • Kiểm soát truy cập
  • Kiểm tra hệ thống
  • Xác thực người dùng
Hoạt động an toàn
  • An ninh nhân sự
  • An ninh hệ thống
  • Nhận thức an toàn
  • Rủi ro hệ thống
Quản lý hệ thống
  • Bàn dịch vụ
  • Quản lý cấu hình
  • Quản lý công suất
  • Quản lý dịch vụ
  • Quản lý hạ tầng
  • Quản lý khôi phục
  • Quản lý người dùng
  • Quản lý sự cố
  • Quản lý tính liên tục
  • Quản lý tính sẵn sàng
  • Tổ chức công việc
  • Tổ chức hỗ trợ
Kỹ năng lãnh đạo
  • Kỹ năng cộng tác nhóm
  • Kỹ năng đàm phán
  • Kỹ năng giải quyết vấn đề
  • Kỹ năng giao tiếp
  • Kỹ năng gọi thoại
  • Kỹ năng huấn luyện
  • Kỹ năng lắng nghe
  • Kỹ năng phân công ủy thác
  • Kỹ năng phỏng vấn tuyển dụng
  • Kỹ năng quản lý thời gian
  • Kỹ năng tạo động lực
  • Kỹ năng tư duy
  • Kỹ năng thiết kế quy trình
  • Kỹ năng thuyết trình
  • Kỹ năng viết tài liệu kỹ thuật
Ứng dụng
Các lĩnh vực liên quan
Quản trị kinh doanh

Tham khảo

  1. ^ Coulouris, George; Jean Dollimore; Tim Kindberg; Gordon Blair (2011). Distributed Systems: Concepts and Design (5th Edition). Boston: Addison-Wesley. ISBN 0-132-14301-1.