Tìm hiểu cách thức dispy hỗ trợ parallel, distributed computing (nguyên lý hệ điều hành)

10 6 0
Tìm hiểu cách thức dispy hỗ trợ parallel, distributed computing (nguyên lý hệ điều hành)

Đang tải... (xem toàn văn)

Thông tin tài liệu

1. Giới thiệu ................................................................................................................................. 4 2. Parallel Computing và Distributed Computing là gì? ............................................................. 5 3. Tại sao chúng ta cần Parallel Computing và Distributed Computing? .................................... 6 4. Các ứng dụng hiện tại, và xu hướng tương lai. ....................................................................... 6 5. Giới thiệu về Dispy .................................................................................................................. 7 6. Kiến trúc của Dispy ................................................................................................................. 8 7. Đặc trưng của Dispy ................................................................................................................ 8 8. So sánh với một số giải pháp khác .......................................................................................... 9

BÁO CÁO Tìm hiểu cách thức dispy hỗ trợ parallel/distributed computing Giảng viên hướng dẫn: TS Nguyễn Thị Hậu Thực hiện: Nguyễn Trung Hiếu MSSV: 21020318 Trần Xuân Trường MSSV: 21020418 Hà Nội - 2023 Mục Lục Giới thiệu Parallel Computing Distributed Computing gì? Tại cần Parallel Computing Distributed Computing? Các ứng dụng tại, xu hướng tương lai Giới thiệu Dispy Kiến trúc Dispy Đặc trưng Dispy 8 So sánh với số giải pháp khác Giới thiệu Khối lượng liệu cần xử lí hệ thống tăng lên với tốc độ chóng mặt Theo báo cáo IDC, lượng liệu toàn cầu đạt 181 zettabyte vào năm 2025, gấp 10 lần so với năm 2020 Sự gia tăng số yếu tố, bao gồm: • • • • Sự phổ biến thiết bị kết nối internet, chẳng hạn điện thoại thông minh, máy tính bảng thiết bị đeo Các thiết bị tạo lượng lớn liệu, chẳng hạn liệu vị trí, liệu cảm biến liệu sử dụng ứng dụng Sự phát triển cơng nghệ mới, chẳng hạn trí tuệ nhân tạo máy học Các công nghệ yêu cầu lượng lớn liệu để đào tạo hoạt động Sự gia tăng ứng dụng dựa liệu, chẳng hạn thương mại điện tử, dịch vụ tài truyền thơng Các ứng dụng tạo sử dụng lượng lớn liệu để phân tích hành vi người dùng, cải thiện hiệu hoạt động đưa định sáng suốt Khối lượng liệu khổng lồ đặt thách thức lớn hệ thống Các hệ thống cần có khả xử lí liệu nhanh chóng hiệu để đáp ứng nhu cầu người dùng Để giải thách thức này, nhà phát triển hệ thống áp dụng công nghệ mới, chẳng hạn parallel computing distributed computing Các công nghệ cho phép hệ thống xử lí liệu đồng thời nhiều máy tính, giúp tăng tốc độ xử lí giảm chi phí Parallel Computing Distributed Computing gì? Parallel computing loại tính tốn tác vụ thực đồng thời nhiều xử lý máy tính Điều trái ngược với tính tốn tuần tự, tác vụ thực cách tuần tự, tác vụ sau tác vụ Distributed computing loại tính tốn tác vụ thực nhiều máy tính kết nối với Điều trái ngược với tính tốn tập trung, tất tác vụ thực máy tính Tại cần Parallel Computing Distributed Computing? Chúng ta cần parallel computing distributed computing lý chính: • • • • Tăng hiệu suất tính tốn: Trong parallel computing, nhiều tác vụ thực đồng thời, giúp giảm thời gian thực tổng cộng Điều làm tăng hiệu suất khả xử lý hệ thống Trong đó, distributed computing giúp chia sẻ cơng việc nhiều máy tính, giảm áp lực tăng khả mở rộng hệ thống cần thiết Giải vấn đề với kích thước lớn: Khi đối mặt với liệu lớn vấn đề tính tốn phức tạp, parallel computing cho phép chia nhỏ vấn đề thành phần nhỏ hơn, sau xử lý chúng đồng thời Trên khía cạnh khác, distributed computing giúp xử lý tác vụ nhiều máy tính khác nhau, giải vấn đề với quy mơ lớn mà máy tính đơn khơng thể thực Tăng độ tin cậy sẵn sàng: Trong distributed computing, máy tính gặp cố, hệ thống tiếp tục hoạt động với máy tính khác Điều giúp tăng cường tính sẵn sàng tin cậy hệ thống parallel computing cung cấp tính sẵn sàng tăng cao với khả chuyển đổi tác vụ Tiết kiệm tài nguyên: Bằng cách sử dụng nhiều tài ngun tính tốn đồng thời, parallel computing distributed computing giúp tận dụng hiệu tài nguyên có sẵn, giảm thời gian cần thiết để hồn thành cơng việc Các ứng dụng tại, xu hướng tương lai Hiện nay, parallel computing distributed computing áp dụng vào số lĩnh vực như: • • • Mơ khí hậu: Mơ khí hậu tác vụ tốn nhiều thời gian tài nguyên parallel computing distributed computing sử dụng để mô khí hậu cách thực phép tính đồng thời nhiều máy tính Xử lý hình ảnh: Xử lý hình ảnh tác vụ tốn nhiều thời gian tài nguyên Parallel computing distributed computing sử dụng để xử lý hình ảnh cách thực phép tính đồng thời nhiều máy tính Trí tuệ nhân tạo: Trí tuệ nhân tạo lĩnh vực phát triển nhanh chóng địi hỏi nhiều tính tốn Parallel computing distributed computing sử dụng để phát triển trí tuệ nhân tạo cách thực phép tính đồng thời nhiều máy tính Tương lai parallel computing distributed computing Parallel computing distributed computing tiếp tục đóng vai trò quan trọng tương lai Khi ứng dụng ngày trở nên phức tạp đòi hỏi nhiều tính tốn hơn, parallel computing distributed computing cần thiết để đáp ứng nhu cầu tính tốn ngày tăng Dưới số xu hướng parallel computing distributed computing tương lai: • • • Sự phát triển hệ thống máy tính lớn: Các hệ thống máy tính lớn, chẳng hạn siêu máy tính cụm máy tính, tiếp tục trở nên phổ biến Điều dẫn đến gia tăng sử dụng parallel computing distributed computing Sự phát triển công nghệ mới: Các cơng nghệ mới, chẳng hạn điện tốn đám mây điện toán biên (edge computing), thúc đẩy phát triển parallel computing distributed computing Sự phát triển ứng dụng mới: Các ứng dụng mới, chẳng hạn thực tế ảo, thực tế tăng cường trí tuệ nhân tạo, yêu cầu nhiều tính tốn Điều dẫn đến gia tăng sử dụng parallel computing distributed computing Giới thiệu Dispy dispy thư viện Python cho phép thực tính tốn phân tán cách phân phối phép tính nhiều máy tính Nó cung cấp API đơn giản để tạo cụm (cluster), lên lịch tác vụ xử lý kết Khi tạo xong cụm, gửi tác vụ cho phương thức cluster.submit() dispy công cụ mạnh mẽ sử dụng để giảm đáng kể thời gian cần thiết để thực thi tác vụ tốn mặt tính tốn Kiến trúc Dispy dispy triển khai với pycos, framework độc lập cho lập trình mạng bất đồng phân tác nhiệm vụ pycos sử dụng socket không chặn với chế thông báo I/O epoll, kqueue, poll Windows I/O Completion Ports (IOCP) để có hiệu suất cao khả mở rộng, dispy hoạt động hiệu với với nút cụm nút lớn (một người dùng báo cáo sử dụng dispy với 500 nút(nodes) tảng đám mây Google) Sử dụng kiến trúc client-server gồm thành phần • • dispy Client (Máy Khách): o dispy cung cấp giao diện Python (dispy.Client) cho việc tạo quản lý công việc (jobs) cụm công việc (job clusters) o Máy khách có nhiệm vụ tạo, lên lịch phân phối, theo dõi cơng việc thực thi nút máy chủ dispynode, cuối thu thập kết tác vụ dispynode (Máy Chủ): o dispynode chương trình máy chủ dispy Nó chịu trách nhiệm thực cơng việc gửi từ máy khách o Mỗi nút máy chủ chạy phiên dispynode để tham gia vào cụm tính tốn phân tán o dispynode có khả thực nhiều công việc đồng thời nhiều xử lý lõi Dispy sử dụng giao thức TCP/IP để giao tiếp máy khách máy chủ Giao thức cho phép dispy hoạt động mạng có cấu trúc khác Đặc trưng Dispy Dispy cung cấp số đặc trưng để hỗ trợ tính tốn song song phân tán, bao gồm: • • • Tính tồn diện dễ sử dụng: dispy cung cấp framework toàn diện dễ sử dụng cho việc tạo, quản lý, sử dụng cụm tính tốn Hơn dispy cịn hoạt động nhiều tảng, bao gồm Linux, OS X Windows, tương thích với phiên Python 2.7+ 3.1+ giúp cho việc triển khai trở nên dễ dàng Sử dụng Pycos Framework: dispy triển khai với pycos, framework độc lập cho lập trình mạng khơng đồng phân tán Hỗ trợ tính tốn nhớ: dispy hỗ trợ tính tốn nhớ, giúp cải thiện hiệu suất cách làm việc trực tiếp với liệu nhớ • • • Hỗ trợ phục hồi lỗi: dispy có khả phục hồi từ lỗi phía máy khách máy chủ, giúp đảm bảo tính liên tục q trình tính tốn trường hợp máy chủ công việc gặp cố Nếu máy khách chấm dứt bất ngờ, nodes tiếp tục thực công việc lên lịch Giao diện web quản lý: dispy kèm với giao diện web dispyadmin cho việc giám sát quản lý cụm tính tốn từ xa, giúp người quản trị kiểm soát tài nguyên xem trạng thái hệ thống Hỗ trợ đám mây: dispy sử dụng cụm tính tốn dịch vụ đám mây Amazon EC2, Google Cloud, Microsoft Azure, sử dụng sở hạ tầng tính tốn riêng Ưu điểm dispy • • • Dễ sử dụng: dispy cung cấp API đơn giản dễ sử dụng, giúp dễ dàng bắt đầu sử dụng Linh hoạt: dispy cung cấp số tính mạnh mẽ để quản lý tác vụ, giúp đáp ứng nhu cầu nhiều loại ứng dụng Hỗ trợ nhiều tảng: dispy hỗ trợ nhiều tảng khác nhau, giúp bạn dễ dàng triển khai hệ thống khác Nhược điểm dispy • • Khơng mạnh mẽ MPI: MPI cung cấp API mạnh mẽ đầy đủ tính hơn, khó sử dụng người bắt đầu Không hiệu Spark: Spark cung cấp API mạnh mẽ hiệu cho ứng dụng xử lý liệu lớn So sánh với số giải pháp khác Một số giải pháp tính tốn phân tán khác bao gồm: • • • MPI: framework tính tốn phân tán mạnh mẽ đầy đủ tính Nó cung cấp API mạnh mẽ chi tiết, cho phép lập trình viên kiểm sốt chặt chẽ chi tiết việc phân phối công việc Tuy nhiên, MPI khó sử dụng người bắt đầu Spark: framework tính tốn phân tán dựa Hadoop Nó cung cấp API mạnh mẽ hiệu cho ứng dụng xử lý liệu lớn Spark sử dụng mơ hình nhớ chia sẻ, giúp hiệu việc xử lý liệu lớn Tuy nhiên, Spark có mức học cao khó sử dụng Hadoop: hệ thống tệp phân tán, cung cấp tính tính tốn phân tán Hadoop thiết kế cho ứng dụng xử lý liệu lớn, chẳng hạn phân tích liệu thống kê Hadoop sử dụng mơ hình phân tán theo cụm, máy tính chia thành cụm Dưới bảng so sánh dispy với framework tính tốn phân tán khác: Tính dispy MPI Spark Hadoop Dễ sử dụng Dễ sử dụng Khó sử dụng Khó sử dụng Khó sử dụng Linh hoạt Linh hoạt Linh hoạt Hỗ trợ nhiều Hỗ trợ nhiều Hỗ trợ tảng tảng tảng Mạnh mẽ Hiệu Mục đích Khơng mạnh mẽ MPI Không hiệu Spark Các ứng dụng đơn giản Linh hoạt Hỗ trợ nhiều tảng Mạnh mẽ cho ứng dụng xử lý Mạnh mẽ liệu lớn Hiệu cho Không hiệu ứng dụng xử lý Spark liệu lớn Các ứng dụng Các ứng dụng xử phức tạp lý liệu lớn 10 Linh hoạt Hỗ trợ nhiều tảng Mạnh mẽ cho ứng dụng xử lý liệu lớn Hiệu cho ứng dụng xử lý liệu lớn Các ứng dụng xử lý liệu lớn

Ngày đăng: 11/12/2023, 00:00

Tài liệu cùng người dùng

Tài liệu liên quan