Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứtiến sỹ Ian Foster như sau : “Grid là một loại hệ thống song song, phân tán chophép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tá
Trang 1I H C QU C GIA TH NH PH H CH MINH ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ỐC GIA THÀNH PHỐ HỒ CHÍ MINH ÀNH PHỐ HỒ CHÍ MINH ỐC GIA THÀNH PHỐ HỒ CHÍ MINH Ồ CHÍ MINH Í MINH
TR ƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN NG ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH I H C CÔNG NGH THÔNG TIN ỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Ệ THÔNG TIN
Đ
QUYẾT VẤN ĐỀ PHÂN TÁN TÍNH TOÁN
TRONG GRID COMPUTING
Gi ng viên h ảng viên h ư ng d n: ớng dẫn: ẫn: PGS TS NGUY N PHI KH ỄN PHI KHỨ Ứ
Sinh viên thực hiện: NGUYỄN HUỲNH THUÝ NGA
Trang 2Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
I Khái niệm Grid Computing 3
II Đặc trưng của một hệ thống Grid: 3
III Tài nguyên của Grid 4
IV Phân loại Grid 6
V Tại sao cần phải có Grid 11
VI Những ai cần dùng tính toán lưới 12
PHẦN 2: KIẾN TRÚC GRID 12 I Kiến trúc Grid tổng quát 12
II Kiến trúc Grid trong thực tế 18
PHẦN 3: ÁP DỤNG GRID COMPUTING TRONG PHÂN TÁN TÍNH TOÁN 1 Mô tả chương trình 19
2 Các hàm quan trọng trong chương trình 19
3 Thực thi chương trình 21
KẾT LUẬN – HƯỚNG PHÁT TRIỂN 25 1 Kết luận: 25
2 Hướng phát triển: 25
TÀI LIỆU THAM KHẢO……… 26
LỜI NÓI ĐẦU Hiện nay, đất nước ta đang thực hiện công cuộc công nghiệp hoá, hiện đại hóa Ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lý lớn xuất hiện trong khoa học, thương mại và quản lý đất nước Các công nghệ tính toán hiện hành cũng được áp dụng nhưng không thể triển khai rộng rãi để có thể giải quyết hết HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 2/29
Trang 3các nhu cầu do chi phí đầu tư quá lớn Việc nghiên cứu, áp dụng công nghệ GridComputing là một giải pháp tốt để giải quyết các tình huống này.
Qua môn học “Điện toán lưới và đám mây” Thầy PGS-TS NGUYỄN PHIKHỨ đã giúp em hình thành những cái nhìn rất mới Điện toán lưới và đámmây Đặc biệt là tính toán lưới để áp dụng vào thực tiễn
Trong phạm vi của bài thu hoạch nhỏ này, chúng em sẽ trình bày khái quátkiến trúc và áp dụng phân tán tính toán trong Grid Computing
Em xin chân thành cảm ơn Thầy PGS TS Nguyễn Phi Khứ Những tiếtgiảng quý báu của Thầy đã cung cấp cho em những kiến thức nền tảng về Điệntoán lưới và đám mây bước khởi đầu giúp em ứng dụng trong nhiều lĩnh vực
Học Viên Cao Học Khóa 8
NGUYỄN HUỲNH THUÝ NGA
* * *
PHẦN 1: TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING
I Khái niệm Grid Computing
Một định nghĩa
về Grid khá hoànchỉnh được đưa ra bởi
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 3/29
Trang 4Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
tiến sỹ Ian Foster như sau : “Grid là một loại hệ thống song song, phân tán chophép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều
tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêucầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứngdụng có quy mô lớn trong khoa học, kỹ thuật và thương mại Từ đó hình thànhnên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữacác tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năngnhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn vềtính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”
II Đặc trưng của một hệ thống Grid:
1 Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung:
Grid tích hợp và phối hợp tài nguyên, người dùng thuộc nhiều vùng quản
lý khác nhau, nhiều đơn vị khác nhau trong một tổ chức, hay nhiều tổ chức khácnhau Công nghệ Grid tập trung giải quyết các vấn đề về bảo mật, chính sáchquản trị, chi phí, thành viên,… nảy sinh trong quá trình chia sẻ và sử dụng tàinguyên
2 Sử dụng các giao diện và giao thức chuẩn, mang tính mở và đa dụng.
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 4/29
Trang 5Grid được xây dựng trên các giao thức và giao diện tổng quát, đa dụng đểgiải quyết các vấn đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm
và truy xuất tài nguyên
3 Đáp ứng yêu cầu cao về chất lượng dịch vụ.
Grid cho phép sử dụng phối hợp các tài nguyên để cung cấp nhiều loại dịch
vụ với các mức chất lượng khác nhau, liên quan đến ví dụ như thời gian đápứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép kết hợp nhiều kiểu tài nguyên
để đáp ứng nhu cầu phức tạp của người dùng Mục tiêu là phải phối hợp làm sao
để khả năng của hệ thống sau khi kết hợp phải lớn hơn hẳn tổng khả năng củatừng đơn vị cấu thành nên Grid
III Tài nguyên của Grid
1 Tài nguyên tính toán
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles)được cung cấp bởi bộ vi xử lý của các thiết bị trong Grid Các bộ vi xử lý khôngcần phải cùng loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau
Có 3 cách để khai thác tài nguyên tính toán của Grid:
- Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Gridthay vì chạy trên máy tính cục bộ
- Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thểthực thi song song trên nhiều bộ xử lý khác nhau
- Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid
2 Tài nguyên lưu trữ
Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ Mỗi thiết bịtrong Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thiứng dụng trên Grid Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặccác thiết bị lưu trữ khác Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thờicho ứng dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăngkhông gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của
dữ liệu
3 Phương tiện liên lạc
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 5/29
Trang 6Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công nghệ Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng
Ở đây bao gồm việc liên lạc, trao đổi dữ liệu giữa các thành phần trong Grid và giao tiếp giữa Grid với bên ngoài Một số công việc đòi hỏi một lượng dữ liệu lớn nhưng các dữ liệu này thường không nằm trên máy đang thực thi công việc Khả năng về băng thông trong những trường hợp như vậy là một tài nguyên thenchốt, ảnh hưởng đến khả năng của Grid
Việc giao tiếp với bên ngoài được thực hiện thông qua mạng Internet Grid
có thể sử dụng các kết nối Internet để liên lạc giữa các node Vì các kết nối này không chia sẻ một đường truyền nên làm tăng băng thông truy cập Internet.Các đường truyền dự phòng đôi khi cần thiết để giải quyết tốt hơn các vấn
đề về hư hỏng mạng và truyền dữ liệu lớn
4 Phần mềm ứng dụng
Grid có thể cài đặt các phần mềm mà có thể quá mắc để cài đặt trên tất cả mọi máy tính trong Grid Các phần mềm này chỉ được cài trên một số node Thông qua Grid, khi một công việc cần đến chúng nó sẽ gửi dữ liệu đến node đã được cài đặt phần mềm và thực thi Đây có thể là một giải pháp tốt để tiết kiệm chi phí về bản quyền phần mềm
5 Các thiết bị đặc biệt
Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộcảm biến (sensor),… Các thiết bị này chủ yếu thu thập các dữ liệu khoa học,phục vụ cho các bước phân tích, xử lý sau này
Các tài nguyên trên đây đến từ nhiều nguồn khác nhau, có thể không thuộcquyền quản lý của một tổ chức, của một đơn vị mà có thể thuộc nhiều tổ chức, ởnhiều nơi khác nhau Một số tài nguyên có thể được sử dụng tự do, trong khimột số khác được sử dụng dưới những chính sách nhất định Các tài nguyênđược “ảo hóa” (virtualize) để che dấu sự phức tạp, đa dạng nhằm đưa ra một cáinhìn thống nhất, đơn giản về toàn bộ tài nguyên trên Grid sao cho dưới mắt củangười dùng, các tài nguyên Grid là một khối thống nhất Hình phía dưới minhhoạ ý tưởng này
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 6/29
Trang 7IV Phân loại Grid
1 Các kiểu Grid
Công nghệ Grid Computing có thể được sử dụng theo nhiều cách khác nhau để giải quyết các loại yêu cầu ứng dụng Thông thường Grid được phân loại bởi kiểu của ứng dụng cần giải quyết Có 3 loại Grid như trình bày dưới đây Tuy nhiên không có ranh giới phân biệt rõ ràng giữa các loại Grid và trong thực tế, các giải pháp Grid thường là sự kết hợp 2 hay nhiều loại khác nhau
a) Grid Tính toán (Computation Grid)
Loại Grid này tập trung chủ yếu vào việc sử dụng năng lực tính toán Ở dạng Grid này, phần lớn các node là các máy tính hay các nhóm máy
tính(cluster) có năng lực xử lý, tính toán rất lớn
Hình thức thực hiện là chia tác vụ tính toán lớn thành nhiều công việc nhỏ thực thi song song trên các node của Grid Việc phân tán các tác vụ tính toán trong Grid sẽ làm giảm rất đáng kể toàn bộ thời gian xử lý và tăng khả năng tận dụng hệ thống
Thông thường một hệ thống chính sẽ chia khối dữ liệu cần xử lý thành các phần nhỏ, sau đó phân phối đến các node trên Grid Mỗi node sẽ thực hiện xử lý
dữ liệu và trả kết quả về hệ thống chính để hệ này tổng hợp và trình diễn kết quảtoàn cục cho người dùng Hình 2-2 minh họa quá trình này
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 7/29
Trang 8Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
b) Grid dữ liệu (Data Grid)
Ở đây, không gian lưu trữ là tài nguyên Một Grid Dữ liệu chịu trách nhiệmlưu trữ và cung cấp khả năng truy cập dữ liệu cho nhiều tổ chức khác nhau.Người dùng không cần biết chính xác vị trí dữ liệu khi thao tác với dữ liệu.Các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu liên hợp, đóng vai trò quantrọng trong các Grid Dữ liệu, nhất là khi có nhiều nguồn dữ liệu và xuất hiệnnhu cầu kết hợp các thông tin từ các nguồn dữ liệu này
Các Grid Dữ liệu có thể được sử dụng trong lĩnh vực khai thác dữ liệu(datamining) hoặc các hệ thống thương mại thông minh Trong trường hợp này, không chỉ có hệ thống file hay các cơ sở dữ liệu mà toàn bộ dữ liệu của tổ chức cần tập hợp lại Ở đây có thể phải kết hợp giữa Grid Dữ liệu và Grid Tính toán
c) Scavenging Grid
Một Scavenging Grid thường được dùng với một lượng lớn các máy tính đểbàn Các máy tính thường được kiểm tra định kỳ để xem khi nào bộ xử lý và cáctài nguyên khác rảnh rỗi để thực hiện các tác vụ Grid Chủ nhân của máy để bànthường có quyền xác định khi nào thì chia sẻ chiếc máy của mình
2 Đồ thị Grid (Grid Topology)
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 8/29
Trang 9Grid có thể được xây dựng theo nhiều kích cỡ khác nhau, từ một nhóm vài máy tính đặt trong một phòng ban đến hàng trăm nhóm máy tính tổ chức theo kiểu phân cấp trải rộng khắp thế giới Đồ hình Grid đơn giản nhất là
SimpleGrid, chỉ bao gồm một số máy tính đồng nhất ở cùng một vị trí Độ phức tạp của đồ hình Grid tương ứng với số lượng tổ chức tham gia Grid và các ràng buộc về địa lý Phần này sẽ giới thiệu sơ nét về một số đồ hình Grid cơ bản Hình 2-3 cho thấy độ lớn của các đồ hình Grid
Hình 2-3 Các đồ hình Grid.
a) SimpleGrid
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 9/29
Trang 10Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
b) IntraGrid
Hình 2-5 mô tả một Intra Grid
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 10/29
Trang 11Mở rộng hơn một chút so với SimpleGrid là IntraGrid Lúc này xuất hiện các hệ thống không đồng nhất, nhiều loại tài nguyên mới trong Grid Sử dụng cùng một chính sách bảo mật, sử dụng mạng nội bộ để kết nối các hệ thống trong Grid là các đặc tính quan trọng của đồ hình này.
Hệ thống Grid cần có các module lập lịch Việc chia sẻ file có thể sử dụng các hệ thống file mạng (network filesytem) Các máy tính tham gia Grid có thể thuộc nhiều phòng ban khác nhau nhưng vẫn trong cùng một tổ chức
Khi Grid mở rộng ra nhiều phòng ban, các chính sách mới về cách sử dụng Grid cần phải được xác lập và áp dụng Ví dụ: cần phải có chính sách quy định những công việc nào được thực hiện trên Grid, vào thời điểm nào; độ ưu tiên của các phòng ban,… Bên cạnh đó vấn đề bảo mật cũng cần được quan tâm, các
dữ liệu nhạy cảm của một phòng ban cần được bảo vệ khỏi sự truy cập từ các công việc của các phòng ban khác
Các máy tính dành riêng cho Grid bắt đầu được đưa vào để làm tăng chất lượng dịch vụ của Grid, thay vì phải trông chờ vào các tài nguyên rảnh rỗi
c) ExtraGrid
Vẫn trong cùng một tổ chức, ExtraGrid là sự kết hợp 2 hay nhiều IntraGrid.Như trong hình 2-6, ExtraGrid liên quan đến nhiều vùng quản lý khác nhau, phân tán theo địa lý, sử dụng các kết nối truy cập từ xa hay WAN, do đó độ phức tạp trong quản lý tăng lên rất nhiều Đối với ExtraGrid, các tài nguyên mang tính động hơn, Grid cần phải linh động trong việc quản lý các tài nguyên, cần có cơ chế kiểm soát và phục hồi lỗi
Cần có các dịch vụ cung cấp thông tin (information service) để tìm kiếm tài nguyên
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 11/29
Trang 12Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
Hình 2-6 Đồ hình ExtraGrid d) InterGrid
Theo thời gian, các Grid mở rộng ra khỏi một tổ chức và bắt đầu liên kết nhiều tổ chức với nhau, được dùng để phối hợp giữa các tổ chức trong các dự ánlớn Một InterGrid đòi hỏi việc liên kết động các ứng dụng, tài nguyên và dịch
vụ Khách hàng hay bất kỳ tổ chức hợp lệ nào khác đều có thể truy cập Grid thông qua các kết nối Internet và WAN
Trong dạng Grid này, cấp độ bảo mật cao nhất cần được áp dụng để ngăn ngừa các khả năng bị tấn công và gián điệp InterGrid cung cấp khả năng trao đổi, mua bán, tìm kiếm tài nguyên ở mức toàn cầu Các tài nguyên có thể được mua từ các nhà cung cấp tin cậy
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 12/29
Trang 13Hình 2-7 minh hoạ các InterGrid.
V Tại sao cần phải có Grid
- Tăng tính tin cậy cho các hệ thống máy tính
- Tăng khả năng quản trị các hệ thống
- Đòi hỏi năng lực xử lý lớn (High-performance computing), yêu cầu rútngắn thời gian hoàn thành kết quả càng nhanh càng tốt
- Hướng dữ liệu, đòi hỏi phải thu thập, lưu trữ, phân tích một lượng lớn
- Dữ liệu, mang tính phân tán
- Cần sự hợp tác, chia sẻ giữa các cộng đồng
- Khách hàng muốn truy cập vào các ứng dụng và dữ liệu của mình từ mọinơi và vào mọi thời điểm Họ có thể truy cập vào hệ thống từ bất kỳ máy tínhnào nối mạng Internet Dữ liệu của họ không còn bị giới hạn trong ổ cứng nữa
mà có thể mở rộng ra thậm chí ngoài mạng nội bộ công ty
- Giúp giảm chi phí phần cứng, khách hàng không cần thiết phải lắp đặtnhững thiết bị đắt tiền, mua những chiếc máy tính nhanh nhất với bộ nhớ lớnnhất nữa, bởi hệ thống sẽ lo liệu mọi việc này cho bạn Vì vậy bạn chỉ cần sắmcho mình một chiếc máy đầu cuối rẻ tiền gồm có một màn hình, một bàn phím,một chuột và vừa đủ khả năng xử lý để chạy phần mềm middleware mà thôi.Bạn cũng chẳng cần đến một ổ cứng lớn bởi bạn đã có hẳn một chiếc máy tính
từ xa chuyên lưu dữ liệu cho mình
- Tính toán lưới tạo ra một mô hình để giải quyết các bài toán tính toán lớnbằng cách sử dụng những tài nguyên rỗi( CPU, và thiết bị lưu trữ) của một loạt
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 13/29
Trang 14Điện toán lưới và đám mây GVHD: PGS.TS Nguyễn Phi Khứ
các máy tính riêng rẽ, thường là máy để bàn, hệ thống này được coi là một mộtcụm máy ảo nhúng trong một môi trường liên lạc phân tán Tính toán lưới tậptrung vào khả năng hỗ trợ tính toán giữa các khu vực hành chính, điều này làmcho mô hình này tách biệt so với mô hình cụm tính toán và tính toán phân tántruyền thống
- Lưới cung cấp một giải pháp cho những bài toán về tính toán hiệu năngcao như tạo nếp protein, mô hình hoá tài chính, mô phỏng động đất và dự đoánkhí hậu thời tiết Ngoài ra lưới còn có thể giúp các tổ chức, doanh nghiệp sửdụng một cách tối ưu hoá tài nguyên công nghệ thông tin và tạo ra các dịch vụtính toán theo nhu cầu cho các khách hàng thương mại và miễn phí trong đókhách hàng chỉ phải trả những gì họ đã sử dụng giống như điện và nước
- Tính toán lưới cung cấp một môi trường đa người dùng Mục tiêu thứ haicủa tính toán lưới là khả năng khai thác tốt hơn những năng lực tính toán chưađược sử dụng và phục vụ cho những nhu cầu tính toán không ngừng của các bàitoán khoa học lớn
VI Những ai cần dùng tính toán lưới
I Kiến trúc Grid tổng quát
Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân tầng Các thành phầntrong một tầng có chung đặc điểm, tính chất, có thể được xây dựng từ bất cứtầng dưới nào Các thành phần được phân tầng dựa theo vai trò của chúng trong
hệ thống Grid Đây là một kiến trúc mở
Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khaivới mục đích chính là để tham khảo Việc xây dựng, cài đặt cụ thể tuỳ thuộc vàotừng dự án, từng lĩnh vực ứng dụng
HVTH: Nguyễn Huỳnh Thuý Nga_MSSV: CH1301041 Trang 14/29