Chương 5: Cơ sở hạ tầng cho e-Science

Một phần của tài liệu Đề tài Grid computing & E-science (Trang 25 - 30)

Trong chương này, chúng tôi điểm qua một số khái niệm có thể được sử dụng như cơ sở hạ tầng tính toán để phục vụ cho e-Science. Cần phải lưu ý rằng, ngoài đòi hỏi về tính toán hiệu năng cao, e-Science còn bao gồm nhiều ứng dụng dựa trên Internet khác để kết nối các nhà khoa học tới các nguồn tài nguyên khác như: dữ liệu, tri thức, và các nhà nghiên cứu khác.

5.1. Tính toán tình nguyện (Opinion -Volunteer computing)

5.1.1. Giới thiệu

Trên thế giới, các máy tính tham gia vào lưới tính toán tình nguyện đang cung cấp năng lực tính toán khoảng 1.5 petaflops cho các nhà khoa học. Tính toán tình nguyện cho phép mọi người đóng góp khả năng tính toán của máy tính cá nhân cho các dự án khoa học.

Một số dự án tính toán tình nguyện tiêu biểu có thể kể đến: GIMPS, Distributed.net, SETI@home, Folding@Home ... Ngày nay, tính toán tính nguyện đang được sử dụng trong các lĩnh vực sinh học, khí hậu học, dịch tễ học, vật lý, ... và hầu hết các dự án này đều dựa trên BOINC.

Tính toán tình nguyện là một loại hình tính toán mà ở đó :

- Có sự chung sức của rất nhiều người (những người tình nguyện). Họ sẽ cung cấp cho dự án tài nguyên máy tính của chính mình (bộ nhớ, CPU).

- Dự án sử dụng tài nguyên ấy để tính toán, trả về kết quả và lưu trữ lại, phục vụ cho mục đích phân tích, nghiên cứu.

- Những dự án ấy thường để giúp ích cho cả cộng đồng, như: phát hiện sự sống ngoài hành tinh; dự báo thời tiết; cảnh báo mức độ ô nhiễm môi trường; các bài toán trong Y học, Sinh học, Toán học… và đó đều là những dự án cần tính toán một lượng khổng lồ các phép tính mà một máy tính đơn lẻ không thể làm được. Có chăng thì cũng phải tốn rất, rất nhiều tiền để xây dựng một máy tính có đủ khả năng ấy.

- Những người tình nguyện có thể là bất kỳ ai, chỉ cần sở hữu một chiếc máy tính kết nối tới Internet và lòng nhiệt tình, họ đều có thể trở thành người tình nguyện cho những dự án ấy. Họ cũng không mất mát gì vì sau khi kết nối tới dự án, chỉ khi tài nguyên máy tính rỗi nó mới được dự án tận dụng để thực hiện tính toán.

Nói một cách ngắn ngọn, tính toán tình nguyện cần:

- Có một server trung tâm, nơi đặt dự án, nơi phân chia công việc, nơi quản lý tất cả kể cả tài khoản người tham gia.

- Có những máy tính của những người tình nguyện đang kết nối đến (client). Server này gửi công việc cho client, sau khi tính toán xong, client gửi trả lại cho server để server kiểm tra lại và xử lý tiếp…

Mô hình tính toán tình nguyện

Một điều đáng chú ý là : Sau khi tính toán và trả lại kết quả thành công, client được cấp một lượng credit nhất định, được hiểu như đó là đánh giá kết quả công việc, dựa vào khối lượng công việc, thời gian hoàn thành, bộ nhớ và CPU sử dụng. Nhận càng nhiều credit khi khối lượng công việc đáp ứng càng nhiều. Có thể 1 công việc được cấp cho nhiều client cùng thực hiện, khi đó chỉ client nào gửi lại kết quả đúng và sớm nhất mới được cấp credit.

5.1.2. Đặc điểm

Các đặc điểm của tính toán tình nguyện:

Tính toán tình nguyện hướng tới những người sử dụng không chuyên

Nguồn tài nguyên của tính toán tình nguyện chủ yếu thuộc về những người sử dụng không chuyên, không biết quá nhiều về Công nghệ thông tin. Do đó, phần mềm cần phải đơn giản, dễ cài đặt, không có những yêu cầu đặc biệt về hệ điều hành và cấu hình hệ thống, ít gây lỗi.

Tính toán tình nguyện cần khả năng chịu và chống lại sự tấn công phá hoại

Do những người tham gia vào lưới tính toán tình nguyện không cần phải công khai thông tin, do đó không thể xử phạt hay trục xuất khỏi lưới những người không trung thực hoặc tham gia với mục đích thực hiện những hành vi phá hoại. Những phần mềm tính toán cần phải có khả năng chống lại những hành vi đó (ví dụ: chạy mỗi công việc trên 2 máy tính khác nhau để có thể so sánh kết quả trả về).

Tính toán tình nguyện hoạt động theo mô hình Pull chứ không phải là Push

Các máy tính tình nguyện thường kết nối vào mạng thông qua rất nhiều firewall, hạn chế rất nhiều khả năng “tự do sử dụng” chúng của dự án. Do đó, cần phải áp dụng mô hình Pull: chính những máy tính này cần phải chủ động liên kết đến máy chủ của dự án để yêu cầu và lấy về công việc. Trái lại, đa số các phần mềm phục vụ tính toán lưới được xây dựng dựa trên mô hình Push.

Tính toán tình nguyện là quá trình “một chiều”

Tính toán lưới là một mô hình đối xứng : một tổ chức là người cung cấp đồng thời là người sử dụng tài nguyên. Trái lại, những người tham gia tính toán tình nguyện chỉ cung cấp tài nguyên cho dự án và không có chiều ngược lại.

Tính toán tình nguyện phải chi trả cho những nhà cung cấp dịch vụ Internet

Tính toán tình nguyện dựa trên mạng Internet cả chủ dự án lẫn những người tình nguyện đều phải trả chi phí cho việc sử dụng đường truyền. Do đó, cần phải phân tích rất cẩn thận khi triển khai các ứng dụng dạng "data intensive” .

Tính toán tình nguyện đòi hỏi những mối quan hệ cộng đồng

Tính toán tình nguyện phụ thuộc vào những người tình nguyện. Các nhà khoa học không thể đề nghị hay chi trả cho tài nguyên tính toán mà phải cố gắng thuyết phục cộng đồng rằng những nghiên cứu họ làm là có giá trị. Việc quảng bá công việc nghiên cứu chính là một trong những lợi ích của tính toán tình nguyện.

5.2. Tính toán lưới

Không nghi ngờ gì, tính toán lưới đã, đang được xem như cơ sở hạ tầng cho e-Science. Tuy nhiên, do tính toán lưới đã được trình bày nhiều trong các seminar và báo cáo trước, nhóm chúng tôi xin được phép lược qua phần này.

5.3. Cloud computing (Điện toán đám mây)

5.3.1. Cloud computing là gì?

Thuật ngữ "cloud computing" ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn ra từ mấy năm qua. Quan niệm này có thể được diễn giải một cách đơn giản: các nguồn điện toán khổng lồ như phần mềm, dịch vụ... sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.

Như vậy, cloud computing chỉ là khái niệm hoàn chỉnh cho một xu hướng không mới bởi nhiều doanh nghiệp hiện không có máy chủ riêng, PC chỉ cài một số phần mềm cơ bản còn tất cả đều phụ thuộc vào cloud. Chẳng hạn, họ đăng ký dịch vụ hosting cho website công ty, thuê công cụ quản lý doanh thu từ Salesforce.com, lấy dữ liệu khảo sát thị trường từ tổ chức Survey Monkey... Và tất nhiên, họ dùng Google để tìm kiếm, phân tích, chia sẻ và lưu trữ tài liệu.

Với các dịch vụ sẵn có trên Internet, doanh nghiệp không phải mua và duy trì hàng trăm, thậm chí hàng nghìn máy tính cũng như phần mềm. Họ chỉ cần tập trung sản xuất bởi đã có người khác lo cơ sở hạ tầng và công nghệ thay họ. Google, theo lẽ tự nhiên, nằm trong số những hãng ủng hộ điện toán máy chủ ảo tích cực nhất bởi hoạt động kinh doanh của họ dựa trên việc phân phối các cloud (virtual server).

Tuy nhiên, mặt hạn chế là người dùng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ, khiến cho sự linh hoạt và sáng tạo giảm đi. Cloud computing có nguy cơ lặp lại khiếm khuyết của mô hình điện toán cũ: các công ty sở hữu những hệ thống máy tính trung ương lớn (cloud) và mọi người sẽ kết nối với chúng qua các trạm. Người sử dụng cảm thấy bức bối vì chỉ có quyền thực hiện những việc trong phạm vi nhà quản trị cho phép nên không thể bắt kịp cải tiến mới nhất. Trước tình hình đó, máy tính cá nhân ra đời và phát triển như là cuộc "phản kháng" đối với sự độc tài của mô hình điện toán trung tâm (nổi tiếng nhất là IBM mainframe).

Nhưng điện toán "đám mây" hiện mở hơn rất nhiều và quan trọng hơn, đây là giải pháp giá rẻ của các doanh nghiệp cũng như sự lựa chọn hàng đầu cho những ai thường xuyên phải đi xa nhưng không có laptop riêng. Ngay cả những hãng có năng lực tài chính cũng đánh giá cao xu hướng này, như Coca-Cola gần đây đã ký thỏa thuận đưa tất cả tài khoản e-mail của họ (khoảng 75.000) lên dịch vụ trực tuyến Microsoft Exchange Online.

5.3.2. Các nhánh của cloud computing

Phần mềm hoạt động như dịch vụ (SaaS - Software as a Service)

Với loại cloud computing này, một phần mềm sẽ được phân phối qua trình duyệt tới hàng nghìn khách hàng. Về phía người sử dụng, SaaS đồng nghĩa với việc họ không cần đầu tư tiền bạc cho máy chủ và bản quyền phần mềm. Còn đối với nhà cung cấp, ví dụ như Salesforce.com, họ chỉ phải duy trì một ứng dụng chung cho nhiều đơn vị nên chi phí rẻ hơn so với kiểu hosting truyền thống.

Điện toán theo yêu cầu (Utility Computing)

Hình thức kinh doanh đã xuất hiện từ lâu này đang được thổi một luồng gió mới từ Amazon.com, Sun, IBM và một số công ty cung cấp kho lưu và máy chủ ảo theo nhu cầu khác. Hiện đa số doanh nghiệp coi utility computing như một giải pháp bổ sung, phục vụ những công việc không mang tính trọng tâm. Nhưng về lâu dài nó sẽ thay thế một phần trung tâm cơ sở dữ liệu.

Dịch vụ web (Web service)

Liên quan mật thiết đến SaaS, web service cung cấp giao diện lập trình ứng dụng (API - Application Programming Interface), như API của Google Maps, qua Internet để các chuyên gia phát triển phần mềm có thể khai thác tính năng.

Nền tảng như một dịch vụ (PaaS - Platform as a Service)

Đây cũng là một biến thể của SaaS nhưng mô hình cloud computing này mang đến môi trường phát triển như một dịch vụ: bạn xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người dùng qua máy chủ của nhà cung cấp đó. Bạn sẽ không hoàn toàn được tự do bởi bị ràng buộc về thiết kế và và công nghệ. Một số ví dụ điển hình về PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes…

Dịch vụ quản lý (MSP - Managed Service Provider)

MSP - hình thức cloud computing lâu đời nhất - là ứng dụng chủ yếu dành cho giới chuyên môn hơn là người dùng đầu cuối, chẳng hạn dịch vụ quét virus cho e-mail hay chương trình quản lý desktop. Một số nhà cung cấp nổi tiếng là SecureWorks, IBM, Verizon và Everdream.

Điện toán tích hợp (Internet integration)

Quá trình kết hợp các "đám mây" xuất hiện trên Internet mới đang ở giai đoạn đầu. Nhà cung cấp SaaS Workday gần đây đã sáp nhập vào một công ty khác trong cùng lĩnh vực này là CapeClear. Mục tiêu của họ cũng giống hãng Grand Central là trở thành cổng kết nối các cloud nhằm mang đến những giải pháp tích hợp cho khách hàng.

Với mô hình cuối cùng này, điện toán cloud computing về sau sẽ được mô tả như là sky computing: Internet giống như bầu trời chứa nhiều đám mây dịch vụ riêng lẻ cho khách hàng dễ dàng kết nối.

Một phần của tài liệu Đề tài Grid computing & E-science (Trang 25 - 30)