Một số kiểu hệ thống phổ biến của Condor

Một phần của tài liệu KHÓA LUẬN TỐT NGHIỆP: TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR (Trang 29 - 32)

Condor có nhiều môi trường thực hiện chương trình, được gọi là các kiểu hệ thống (universe).

Hiện nay, Condor đã được hỗ trợ một số kiểu hệ thống sau đây: - Standard - Vanilla - PVM - MPI - Globus or Grid - Java - Scheduler - Local - Parallel

Thuộc tính kiểu hệ thống được dùng để thi hành một công việc được xác định trong file mô tả việc đưa vào (the submit description file). Nếu nó không được xác định, mặc định sẽ là standard.

Hệ thống standard cung cấp sự di trú thực hiện và tính tin cậy, nhưng có một số hạn chế về các chương trình có thể thi hành. Hệ thống vanilla cung cấp ít dịch vụ hơn, nhưng có rất ít hạn chế. Hệ thống PVM được dành cho các chương trình viết cho giao diện máy ảo song song PVM (Parallel Virtual Machine). Hệ thống MPI dành cho các chương trình viết cho giao diện MPICH. Hệ thống Globus hoặc Grid cho phép người dùng đưa công việc vào từ giao diện của Condor. Những công việc này được đưa vào để thi hành trên các tài nguyên lưới

(grid resources). Hệ thống Java cho phép người dùng chạy các công việc được viết cho máy ảo Java (Java Virtual Machine hay JVM). Hệ thống scheduler cho phép

người dùng đưa vào các công việc rất nhỏ, ít quan trọng để chạy ngay lập tức bên cạnh chương trình điều khiển condor_schedd và chỉ có thể thi hành trên chiếc máy hiện việc đưa vào công việc đó (công việc không được nối tới một máy từ xa nào khác và không bao giờ đặt quyền ưu tiên). Hệ thống parallel dành cho các chương trình đòi hỏi nhiều máy tính cho một công việc.

Thông thường, có hai lựa chọn cho kiểu hệ thống được sử dụng khi thử nghiệm việc tính toán là: kiểu hệ thống chuẩn standard (the standard universe) và kiểu hệ thống hạn chế vanilla (the vanilla universe). Hệ thống chuẩn standard

cung cấp các cơ chế cần thiết để thực hiện kiểm tra điểm trạng thái (checkpoint) và di trú một công việc chưa hoàn thành khi chiếc máy mà công việc đang thi hành trở nên không có sẵn. Để sử dụng hệ thống standard cần phải liên kết lại chương trình với thư viện Condor bằng lệnh condor_compile. Còn hệ thống hạn chế

vanilla cung cấp một cách để chạy các công việc mà không thực hiện liên kết lại.

Nó không cho phép kiểm tra điểm trạng thái hay di trú một công việc đã được thực hiện dở sang máy khác, nghĩa là các công việc chỉ được thực hiện trên một máy từ lúc bắt đầu cho đến khi hoàn thành hoặc sẽ bị chuyển sang máy khác để thi hành nhưng cũng từ lúc bắt đầu. Để truy cập vào các file đầu vào và đầu ra, các công việc phải sử dụng một hệ thống file chia sẻ hoặc sử dụng một cơ chế di chuyển file của Condor.

Dưới đây là một số mô tả chi tiết hơn về 2 kiểu hệ thống này.

™ Hệ thống Standard:

Condor cung cấp khả năng kiểm tra điểm trạng thái và gọi hệ thống từ xa. Những tính năng này làm cho công việc đáng tin cậy hơn và cho phép nó truy cập tài nguyên từ bất kì nơi nào trong vùng hoạt động. Để chuẩn bị một chương trình có thể thi hành, nó phải được liên kết lại. Phần lớn các chương trình có thể được chuẩn bị như một công việc của hệ thống standard, song cũng có một vài hạn chế.

Condor kiểm tra điểm trạng thái một công việc ở một thời điểm tạm ngưng hoạt động thông thường. Một ảnh trạng thái (checkpoint image) là một trạng thái hiện tại của công việc. Nếu một công việc phải được di chuyển từ máy này đến máy khác, Condor sẽ tạo một ảnh trạng thái, sao chép ảnh đó tới máy mới, rồi khởi

động lại công việc tiếp tục từ điểm mốc nó bị tạm dừng. Nếu một máy bị va chạm hay lỗi trong khi công việc đang thi hành, Condor có thể khởi động nó trên một máy mới sử dụng ảnh trạng thái được đánh dấu gần nhất. Theo cách này, một công việc có thể chạy hàng tháng ngay cả khi máy gặp các lỗi.

Các lời gọi hệ thống từ xa làm cho một công việc được nhận biết rằng nó đang được thi hành trên một máy xác định nào đó, thậm chí dù công việc có thể thi hành trên nhiều máy khác nhau. Khi một công việc chạy trên một máy từ xa, một tiến trình theo dõi gọi là condor_shadow chạy trên máy đưa vào công việc. Khi công việc cố gắng gọi hệ thống, tiến trình condor_shadow đó thực hiện lời gọi hệ thống và gửi kết quả tới máy từ xa. Chẳng hạn, một công việc muốn mở một file được lưu trên máy đưa công việc, condor_shadow sẽ tìm file đó và gửi dữ liệu tới máy đang thi hành công việc.

Để chuyển đổi chương trình người dùng sang một công việc của hệ thống

standard, người dùng phải sử dụng lệnh condor_compile để liên kết lại nó với thư

viện Condor. Người dùng không phải sử đổi mã nguồn chương trình, nhưng cần phải truy cập các file đối tượng chưa được liên kết. Một chương trình thương mại được đóng gói là một file thi hành đơn không thể chuyển sang thành một công việc của hệ thống standard.

Condor làm một vài công việc có ý nghĩa để ngăn cản các mối nguy hiểm liên quan đến tính bảo mật. Condor có thể được chỉ dẫn để chạy các chương trình người dùng chỉ với tư cách là người dùng không xác định (nobody) trên Unix, một người dùng mà bị hạn chế nhiều quyền truy nhập. Nhưng dù với quyền truy nhập ít ỏi ấy, cũng có một nguy cơ đáng kể có thể làm cho các đối tượng up/tmp (là các thư mục có thể ghi) bị ghi đầy và/hoặc có thể thu được quyền đọc toàn bộ các file có thể đọc. Hơn nữa, vì tính bảo mật của các máy trong hệ thống là mối quan tâm lớn, nên chỉ các máy mà người dùng chủ (root) của hệ điều hành UNIX có được sự tín nhiệm thì mới nên cho phép tác động đến vùng máy hoạt động của Condor. Condor cung cấp quyền quản trị với cơ chế an toàn mở rộng để đảm bảo các chính sách mong muốn.

Các công việc cần được liên kết lại để tạo ra các ảnh trạng thái và thực hiện các lời gọi hệ thống từ xa.

Mặc dù thông thường không có thay đổi mã nguồn được yêu cầu, Condor yêu cầu rằng những công việc phải được liên kết lại với các thư viện Condor để tạo thuận lợi cho việc kiểm tra điểm trạng thái (checkpointing) và gọi hệ thống từ xa. Việc này thường không xảy ra đối với các phần mềm thương mại dạng nhị phân đối với việc kiểm tra này bởi vì các gói phần mềm thương mại rất hiếm khi làm cho đối tượng của chúng là có sẵn mã. Các dịch vụ khác của Condor vẫn có sẵn cho các gói này.

™ Hệ thống vanilla:

Hệ thống này thường dùng cho các chương trình không thể được liên kết lại. Các công việc chạy dưới hệ thống này không được kiểm tra điểm trạng thái hay sử dụng các lời gọi hệ thống từ xa. Điều này không thuận lợi cho một công việc được làm dở mà cần được hoàn thành trên một máy tính khác khi máy tính đang thi hành nó có người chủ trở lại sử dụng. Condor chỉ có hai lựa chọn. Nó có thể tạm dừng công việc, hi vọng sẽ hoàn thành sau một lúc nữa, hoặc nó có thể loại bỏ đi và sau đó sẽ khởi động lại công việc đó từ điểm bắt đầu thi hành trên một máy nào đó.

Vì các tính năng gọi hệ thống từ xa không thể được sử dụng, việc truy nhập các file đầu vào và đầu ra trở nên đáng quan tâm. Một lựa chọn cho Condor là dùng một hệ thống file chia sẻ, như NFS hay AFS. Một cách khác là nó có thể sử dụng một cơ chế di chuyển file từ máy này sang máy khác, khi đó có chuyển các file cần thiết tới máy thi hành công việc rồi chuyển kết quả ngược lại tới máy đưa vào công việc.

Một phần của tài liệu KHÓA LUẬN TỐT NGHIỆP: TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR (Trang 29 - 32)