KHÓA LUẬN TỐT NGHIỆP: TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Chu Quang Thủy
TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR
KHÓA LUẬN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY Ngành: Công nghệ thông tin
HÀ NỘI – 2006
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Chu Quang Thủy
TÍNH TOÁN THÔNG LƯỢNG CAO VỚI CONDOR
KHÓA LUẬN TỐT NGHIỆP HỆ ĐẠI HỌC CHÍNH QUY Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS Nguyễn Hải Châu
HÀ NỘI – 2006
Trang 3TÓM TẮT NỘI DUNG
Tính toán thông lượng cao trên cụm máy tính là một vấn đề khá mới mẻ nhưng có vai trò rất quan trọng trong nhiều lĩnh vực nghiên cứu khoa học kĩ thuật cũng như trong việc triển khai các ứng dụng Công nghệ thông tin vào đời sống
Nó giúp cho con người sử dụng hiệu quả tài nguyên máy tính và tăng cường khả năng làm việc của cụm máy tính, tránh tình trạng sử dụng máy tính lãng phí Một
hệ thống tính toán thông lượng cao thường được xây dựng từ một tập hợp các máy tính giao tiếp với nhau qua mạng, trong đó có một máy tính trung tâm có thể quản
lí hoạt động của toàn bộ hệ thống tính toán đó Một cụm tính toán như vậy cố gắng thực hiện thật nhiều công việc ứng dụng cho người dùng trong một thời gian dài
Ở mỗi máy tính trong cụm, người dùng sẽ đưa vào các công việc cần tính toán và chờ đến khi công việc đó được hoàn thành mà không cần biết nó được thực hiện trên máy nào của cụm Với một hệ thống như vậy, người ta có thể làm được rất
nhiều công việc lớn đòi hỏi tính toán lâu dài Hệ thống Tính toán thông lượng cao với Condor đã được triển khai sử dụng ở nhiều nơi và sẽ được nghiên cứu thử
nghiệm trong khóa luận này
Trang 4MỤC LỤC
MỞ ĐẦU 1
Chương 1 HỆ THỐNG TÍNH TOÁN THÔNG LƯỢNG CAO (HTC) 4
1.1 Ý nghĩa thực tế 4
1.2 Mô tả hệ thống 4
1.2.1 Mô tả chung 4
1.2.2 Sự khác nhau giữa hệ thống HTC và HPC 7
1.2.3 Lợi ích và ứng dụng của hệ thống HTC 9
1.3 Sự phát triển của phần mềm hệ thống HTC 11
1.3.1 Kiến trúc phần mềm phân tầng 11
1.3.2 Kiến trúc phân tầng quản lí tài nguyên 12
1.3.3 Tính mềm dẻo của giao thức 14
1.4 An toàn cho hệ thống 14
1.5 Các khách hàng 16
Chương 2 GIỚI THIỆU PHẦN MỀM CONDOR 18
2.1 Tổng quan về Condor 18
2.1.1 Khái niệm chung 18
2.1.2 Một số tính năng đặc biệt của Condor 19
2.2 Các hệ thống Condor 22
2.2.1 Phân loại hệ thống 22
2.2.1.1 Một số kiểu hệ thống phổ biến của Condor 22
2.2.1.2 Các phiên bản được hỗ trợ 25
2.2.2 Nội dung nghiên cứu về Condor 27
2.3 Cơ sở hoạt động của hệ thống Condor 28
2.3.1 Mô hình quản lí tài nguyên 28
2.3.2 Các thành phần điều khiển Condor 30
2.3.2.1 Các thành phần điều khiển 30
2.3.2.2 Khởi động các thành phần điều khiển 32
2.3.3 Quản lí tình trạng hoạt dộng của các máy 33
2.3.3.1 Trạng thái máy 33
2.3.3.2 Hoạt động của máy 35
2.3.4 Các thao tác với công việc 37
2.3.4.1 Đưa vào công việc 38
2.3.4.2 Kiểm soát công việc 39
2.4 Phương pháp nghiên cứu thử nghiệm 43
2.4.1 Lập kế hoạch sơ bộ 43
2.4.2 Phương pháp triển khai thực hiện thử nghiệm 43
Chương 3 TRIỂN KHAI THỬ NGHIỆM HỆ THỐNG CONDOR TẠI KHOA CNTT TRƯỜNG ĐẠI HỌC CÔNG NGHỆ 45
3.1 Điều kiện thực tế 45
Trang 53.2 Tiến hành cài đặt hệ thống phần mềm Condor 45
3.2.1 Lựa chọn các máy cho hệ thống 45
3.2.2 Mô tả cài đặt 46
3.2.3 Tạo ra hệ thống file chia sẻ 47
3.2.4 Một số lựa chọn cấu hình cho hệ thống 47
3.3 Các hoạt động thực nghiệm với hệ thống 51
3.3.1 Đưa các công việc vào hệ thống 51
3.3.2 Theo dõi tiến trình thực hiện của các công việc 52
3.4 Kết quả thực nghiệm 52
3.4.1 Tổng hợp các kết quả thực nghiệm 52
3.4.1.1 Số lượng các công việc được hoàn thành 52
3.4.1.2 Thời gian thực hiện công việc của Condor 55
3.4.2 Lập các biểu đồ đánh giá hiệu quả sử dụng hệ thống 57
3.4.3 Nhận xét, đánh giá kết quả thực nghiệm 59
KẾT LUẬN 61
PHỤ LỤC 63
TÀI LIỆU THAM KHẢO 67
Trang 6BẢNG CÁC TỪ VIẾT TẮT
AFS Andrew File System Một dạng hệ thống file chia
sẻ API Application Programming Interface Giao diện lập trình ứng
dụng
CPU Control Processing Unit Bộ điều khiển trung tâm
của máy tính FLOPS FLoating point OPerations per
Second
Sồ các phép tính dấu chấm động trên một giây
HPC High Performance Computing Tính toán hiệu năng cao
HTC High Throughput Computing Tính toán thông lượng cao
NFS Network File System Hệ thống file chia sẻ thông
thường PVM Parallel Virtual Machine Máy ảo song song
Trang 7CÁC THUẬT NGỮ TIẾNG ANH
Account Tài khoản người dùng
Advertising Quảng bá thông tin
Checkpoint Điểm kiểm tra trạng thái
Claiming protocol Giao thức thỏa thuận
ClassAd Chùm tin quảng bá
Collector Thành phần điều khiển thu thập thông tin Daemon Thành phần điều khiển
Grid computing Tính toán lưới
Host Máy phục vụ (hay còn gọi là máy chủ) Mainframe Máy tính lớn
Matchmaker Bộ điều khiển tìm tài nguyên phù hợp Matchmaking Kết nối tài nguyên
Master Chủ, thành phần điều khiển chủ
Migration Sự di trú công việc
Negotiator Sự thương lượng, thành phần thương lượng
Preempt Xếp hàng ưu tiên
Ownership Quyền sở hữu
Remote system call Lời gọi hệ thống từ xa
Schedd Thành phần điều khiển sắp xếp công việc Submit Đưa vào (công việc)
Submit description file File mô tả công việc đưa vào
Trang 8MỞ ĐẦU
Ngày nay, sử dụng công nghệ thông tin đã trở thành nhu cầu tất yếu trong mọi lĩnh vực đời sống Đặc biệt, với sự phát triển như vũ bão của các công nghệ mạng máy tính và Internet, nhu cầu sử dụng và trao đổi thông tin đang ngày càng tăng nhanh Hàng loạt những tập đoàn máy tính lớn trên thế giới, hàng trăm những trung tâm thương mại điện tử, hàng nghìn những công ty đa quốc gia… liên tục ra đời và phát triển, liên tục tiến hành những hoạt động trao đổi thông tin, quảng bá thương hiệu sản phẩm, giao dịch thương mại với nhau… thông qua Internet Điều
đó càng thúc đẩy con người mở ra những khả năng phát triển mới cho nền kinh tế tri thức trong tương lai, nhưng đồng thời nó cũng đặt ra những yêu cầu, đòi hỏi cao hơn về khoa học kĩ thuật để có thể sử dụng tối đa những tài nguyên mà Internet và các mạng máy tính khác mang lại
Với tầm quan trọng của Internet như vậy, các ứng dụng tính toán khoa học
ở mọi lĩnh vực hầu như đều được tin học hoá và ngày càng phong phú, đa dạng Rất nhiều những ứng dụng lớn cần được triển khai rộng rãi thông qua mạng máy tính để có thể kết nối được nhiều người, nhiều tài nguyên ở nhiều nơi khác nhau trên thế giới với nhau Phần lớn các công việc tính toán bằng máy tính ngày càng tăng về cả số lượng và chất lượng, đòi hỏi khối lượng tài nguyên phục vụ việc tính toán ngày càng lớn, đồng thời xuất hiện rất nhiều công việc đòi hỏi thời gian tính toán lâu dài
Một trong những yêu cầu quan trọng nhất của công nghệ thông tin hiện nay
là phải nâng cao hiệu suất sử dụng của các mạng máy tính, nâng cao khả năng sử dụng các tài nguyên có sẵn trên mạng Vấn đề này đã được rất nhiều các nhà khoa học, các chuyên gia về mạng máy tính từ nhiều trung tâm nghiên cứu, nhiều trường đại học nổi tiếng trên thế giới bàn đến Và một giải pháp rất tốt đã được nghiên cứu thành công bởi các giáo sư ở trường đại học Wisconsin- Madison (Hoa Kì), đó là phát triển hệ thống tính toán thông lượng cao được đặt tên là Condor, với khả năng tiết kiệm thời gian rỗi của các máy cũng như tiết kiệm các tài nguyên
có sẵn trên các máy của hệ thống Đây là một trong những đề tài nghiên cứu có giá trị rất lớn mà các nhà khoa học ở Mỹ đã nghiên cứu thành công và được thế giới công nhận
Trang 9Với mong muốn được chia sẻ những kiến thức thiết yếu về các hệ thống tính toán thông lượng cao này, em đã quyết định nghiên cứu về đề tài “Tính toán thông lượng cao với Condor” Trong khoá luận tốt nghiệp này, em xin được trình bày những vấn đề mà mình đã tìm hiểu được về đề tài đó Khoá luận tốt nghiệp sẽ
có những nội dung chính như sau:
- Phần Mở đầu mô tả nhu cầu thực tế, mục đích của đề tài và bố cục của khoá luận tốt nghiêp
- Chương 1 “Hệ thống tính toán thông lượng cao (HTC)” trình bày khái quát các kiến thức liên quan đến hệ thống tính toán thông lượng cao
- Chương 2 “Giới thiệu phần mềm Condor” sẽ giới thiệu về phần mềm Condor, cơ sở của việc tính toán cụm trong hệ thống Condor và nêu phương pháp nghiên cứu tính toán cho đề tài này
- Chương 3 “Triển khai thử nghiệm hệ thống Condor tại khoa CNTT trường Đại học Công Nghệ” sẽ mô tả về quá trình triển khai thử nghiệm một hệ thống tính toán thông lượng cao sử dụng phần mềm Condor được thực hiện ở khoa CNTT, trường Đại học Công Nghệ- ĐHQG Hà Nội và những thống kê, đánh giá kết quả của quá trình thử nghiệm này
- Phần kết luận nêu tóm tắt về những gì đã nghiên cứu được trong khoá luận này, đồng thời nêu ra những định hướng phát triển tiếp theo cho đề tài này
Mặc dù khóa luận đã đạt được các kết quả như đã trình bày và em đã cố gắng rất nhiều nhưng do hạn chế về mặt thời gian và kinh nghiệm cho nên khóa luận chắc chắn không tránh khỏi những sai sót Vì vậy em rất mong nhận được sự đánh giá, góp ý của các thầy, cô và bạn bè để em có điều kiện tiếp tục nghiên cứu
và phát triển tiếp đề tài này
Cuối cùng, em xin gửi lời cảm ơn chân thành tới thầy giáo- Tiến sĩ Nguyễn Hải Châu, người đã tận tình hướng dẫn em trong suốt quá trình thực hiện đề tài khóa luận tốt nghiệp này Em xin chân thành cảm ơn các anh chị thực tập sinh: Đỗ Thị Minh Việt, Nguyễn Thị Thùy Linh, Phạm Duy, Đinh Trung Hiếu đã giúp đỡ
em việc sử dụng máy tính cá nhân để cài đặt thử nghiệm Đồng thời em cũng xin gửi lời cảm ơn đến các thầy cô giáo ở bộ môn Các hệ thống thông tin, khoa CNTT
Trang 10trường Đại học Công Nghệ đã nhiệt tình giúp đỡ cho em trong suốt quá trình nghiên cứu thực nghiệm tại trường của em
Hà Nội ngày 24 tháng 05 năm 2005
Sinh viên thực hiện
Chu Quang Thủy
Trang 11Chương 1 HỆ THỐNG TÍNH TOÁN THÔNG LƯỢNG CAO
(HTC)
1.1 Ý nghĩa thực tế
Đối với nhiều công trình nghiên cứu khoa học và các dự án phát triển lớn, chất lượng của việc nghiên cứu phụ thuộc rất nhiều vào khả năng tính toán của máy tính Yêu cầu thực tế là cần giải quyết nhiều bài toán của nhiều người sử dụng trong khoảng thời gian tính toán kéo dài hàng tuần, hàng tháng Các nhà khoa học trong các lĩnh vực này thấy rằng cần phải có một môi trường tính toán có khả năng thực hiện được những khối lượng công việc rất lớn và phức tạp trong một khoảng thời gian tương đối dài Một môi trường như vậy được gọi là một môi trường Tính toán thông lượng cao (High-Throughput Computing - HPC)
Đã nhiều năm nay, khi nhắc tới lĩnh vực tính toán của các mạng máy tính, người ta thường nói đến môi trường Tính toán hiệu năng cao (High-Performance Computing - HPC) Trong môi trường này, người ta thường quan tâm đến số lượng phép tính hệ thống có thể được thực hiện trong một đơn vị thời gian, hay nói cách khác, trong môi trường HPC, tốc độ tính toán là tiêu chí quan trọng nhất
Tuy nhiên, nhu cầu sử dụng máy tính cho thấy, người sử dụng không chỉ quan tâm đến tốc độ tính toán mà còn quan tâm đến số lượng các công việc được thực hiện trên các hệ thống máy tính trong những khoảng thời gian kéo dài hàng tháng, thậm chí hàng năm Đó là lí do để các hệ thống HTC ra đời
1.2 Mô tả hệ thống
1.2.1 Mô tả chung
Một hệ thống Tính toán thông lượng cao là một hệ thống mạng máy tính luôn cố gắng cung cấp nhiều khả năng xử lí công việc cho các khách hàng (là những người dùng hệ thống) thông qua những khoảng thời gian dài bằng cách khai thác triệt để các tài nguyên tính toán trên mạng và khả năng sử dụng sức mạnh tính toán của các máy tính [2]
Khi mà nhu cầu tính toán của phần lớn các nhà khoa học được thực hiện dựa trên nhiều sản phẩm CPU và bộ nhớ, hiệu năng tính toán cao của một máy đã
Trang 12không còn quá quan trọng trong một môi trường HTC nữa Mục tiêu chính của một môi trường HTC là làm sao để cực đại hóa khối lượng các tài nguyên được truy cập bới các khách hàng sử dụng hệ thống Quan hệ sở hữu phân phối của các tài nguyên máy tính là mục tiêu chính mà một môi trường như vậy cần đạt được để
mở rộng tài nguyên có thể sử dụng Với những xu hướng gần đây về tỉ lệ giá cả sản phẩm tính trên năng lực tính toán của phần cứng máy tính, khả năng điều khiển các tài nguyên tính toán mạnh đã được đặt trong tầm tay của những cá nhân
và từng nhóm nhỏ Những người sở hữu phân phối này sẽ vui lòng đóng góp tài nguyên của họ vào môi trường HTC sau khi họ biết chắc chắn rằng nhu cầu của họ
sẽ được thoả mãn và quyền hạn của họ được bảo vệ
Để đạt được khả năng tính toán cao nhất, hệ thống Tính toán thông lượng cao cung cấp hai chức năng quan trọng Thứ nhất, nó mở rộng các nguồn tài nguyên có sẵn cho những người dùng bằng việc hiện thực hoá quan hệ sở hữu phân phối dùng chung về tài nguyên mạng Thứ hai, nó cần làm tăng tính hiệu quả của việc sử dụng năng lực tính toán dựa trên tài nguyên có sẵn bằng cách đưa thêm các máy đang nằm rỗi vào hoạt động
Việc tận dụng các tài nguyên máy tính hỗn tạp trên mạng đòi hỏi một giải pháp mà có thể có thể vận chuyển tài nguyên được, nó bao gồm một môi trường làm việc tốt, quản lí được tài nguyên mà có thể rút ngắn khoảng cách giữa các tài nguyên trong cụm máy tính Để tạo ra khả năng xử lí cao trong khoảng thời gian dài, môi trường đó phải dựa vào các cấu trúc phần cứng và phần mềm đáng tin cậy
để cho phép các tài nguyên có thể kết hợp và tách rời nhau trong cụm máy tính một cách dễ dàng, đồng thời cho phép hệ thống có thể nâng cấp và cấu hình lại mà không cần nhiều thời gian tạm ngừng để thực hiện việc này
Còn việc đưa các máy tính nằm rỗi vào hoạt động cần được thực hiện một cách hợp lí để đảm bảo hệ thống máy tính hoạt động hiệu quả, tránh xung đột, tranh chấp quyền sử dụng, để thực hiện được nhiều công việc nhất có thể
Một điều quan trọng hơn cả là hệ thống phải xác định và thoả mãn được nhu cầu của những người chủ tài nguyên, các khách hàng và những người quản trị
hệ thống Nếu không có sự tán thành của bất kì một thành phần nào trong các nhóm trên thì môi trường HTC sẽ không thực hiện được Những người chủ tài nguyên trao tặng việc sử dụng tài nguyên của mình cho các khách hàng trong hệ
Trang 13thống Trước khi họ vui lòng làm việc này, họ phải được thoả mãn các đòi hỏi về quyền hạn của họ phải được đảm bảo và các chính sách luật lệ họ xác định phải được lưu tâm Các khách hàng sẽ sử dụng môi trường HTC để chạy các ứng dụng của họ chỉ khi nào lợi ích đạt được của việc xử lí công việc của họ là lớn hơn chi phí của họ cho việc tìm hiểu, học hỏi để sử dụng hệ thống phức tạp đó Còn những người quản trị hệ thống sẽ cài đặt và duy trì hệ thống chỉ khi nào hệ thống đó cung cấp những lợi ích rõ ràng, đích xác cho người dùng mà những lợi ích đó lớn hơn chi phí để duy trì hệ thống
Các tài nguyên trong một cụm máy HTC có thể được sử dụng tài nguyên theo cách được phân phối, nghĩa là sự điều khiển tài nguyên tính toán của cụm là được phân phối, chia sẻ giữa nhiều cá nhân và từng nhóm người dùng riêng biệt Chẳng hạn, nhiều cá nhân trong một tổ chức có thể có cùng quyền sở hữu (ownership) trên một trạm làm việc có năng lực cao Việc sẵn lòng chia sẻ tài nguyên với hệ thống HTC chung của mỗi người là rất khác nhau Cụm máy tính
có thể gồm một số tài nguyên mà được tình nguyện chia sẻ nhưng lại có thể có một số tài nguyên khác không có sẵn cho hệ thống HTC trong những thời gian cao điểm trong ngày hay khi một tài nguyên đang được sử dụng, và một số tài nguyên khác thì chỉ có sẵn cho những người dùng hay những ứng dụng xác định nào đó Thậm chí, khi các tài nguyên là có sẵn cho hệ thống HTC, các ứng dụng có thể chỉ được cho phép truy cập một cách hạn chế tới những thành phần của tài nguyên và
có thể phải xếp hàng chờ đợi để được truy cập tài nguyên Ngoài ra, quyền sở hữu phân phối thường được phân quyền chặt chẽ khi những người chủ tài nguyên thực hiện duy trì và thiêt lập cấu hình cho mỗi tài nguyên theo từng mục đích sử dụng xác định Vấn đề này tạo thêm mức độ hỗn tạp của các tài nguyên
Sự phát triển của một cụm HTC là quá trình phát triển cả về mặt kĩ thuật cũng như về mặt xã hội Các phần mềm HTC phải là các phần mềm mạnh và giàu tính năng để có thể thoả mãn các nhu cầu của các chủ tài nguyên, khách hàng và những người quản trị hệ thống Tuy nhiên, dù có phát triển thế nào thì các hệ thống HTC tốt nhất vẫn phải được sử dụng thử nghiệm trong một tổ chức nội bộ trước khi có thể được đem ra triển khai một cách rộng rãi, hiệu quả Thông thường, việc phát triển này là một tiến trình tiến hoá Trước tiên, một hệ thống
HTC mẫu dùng để phát triển thử nghiệm, được gọi là hệ thống HTC evangelist,
Trang 14cần triển khai một cụm nhỏ với các tài nguyên của nó và các tài nguyên được chia
sẻ bởi hệ thống HTC thực sự Hệ thống HTC evangelist sau đó sẽ giúp một số ít
khách hàng sử dụng cụm máy nhỏ đó Bằng cách tập dượt trước như thế, sự đạt được lợi ích của cụm HTC đối với những khách hàng này được dùng để đánh giá
và xác định nhu cầu đòi hỏi cho hệ thống HTC thực sự trong một tổ chức Ở đây, các khách hàng trên có thể tiếp cận với những người quản trị và những người tạo
ra các chính sách để yêu cầu vùng máy hoạt động (the pool) thực tế được mở rộng, hoặc họ có thể tiếp xúc trực tiếp với những người chủ tài nguyên để hỏi xin sự chia sẻ tài nguyên của họ Những khách hàng này cũng có thể giúp đỡ chỉ bảo các đồng nghiệp của họ để cùng trở thành khách hàng của hệ thống cụm máy tính
1.2.2 Sự khác nhau giữa hệ thống HTC và HPC
Cách đây nhiều năm, cộng đồng các nhà khoa học tin tưởng vào những máy tính rất lớn, được gọi là các máy mainframe, để thực hiện các công việc tính toán Một số lượng lớn các cá nhân và nhóm người phải đóng góp chung các nguồn tài chính với nhau để xây dựng nên một chiếc máy như vậy Người ta thường chỉ có một máy tính như vậy ở trong các cơ quan, thậm chí là trong những trung tâm nghiên cứu lớn nhất vì những chiếc máy tính lớn như vậy là rất đắt Các nhà nghiên cứu sẽ phải đợi trong khi chiếc máy mainframe được quay vòng và họ chờ đến khi được cho phép sử dụng trong một khoảng thời gian xác định Các nhà nghiên cứu phải giới hạn kích thước và phạm vi các công việc của họ thi mới đảm bảo được hoàn thành Trong khi môi trường tính toán như vậy là rất bất tiện cho những người dùng, nhưng nó lại có năng suất tính toán rất cao, bởi vì chiếc máy mainframe đó luôn ở trạng thái bận trong hầu hết mọi khoảng thời gian
Khi máy tính trở nên nhỏ hơn, nhanh hơn và rẻ hơn, các nhà khoa học và các nhà nghiên cứu đã chuyển từ việc sử dụng các máy mainframe sang việc dùng các máy tính cá nhân và các trạm làm việc trung gian nhỏ hơn Một cá nhân hay một nhóm người dùng nhỏ sẽ có điều kiện cung cấp được một tài nguyên tính toán
mà sẽ có sẵn bất cứ khi nào họ muốn Tài nguyên đó có thể nhỏ hơn, chậm hơn tài nguyên trong máy mainframe, nhưng nó cung cấp khả năng truy cập đơn giản và
có giá trị cao hơn Gần đây, thay vì sử dụng một máy tính lớn cho một cơ quan, có rất nhiều các trạm làm việc (workstation) xuất hiện Mỗi trạm làm việc được sở hữu bởi những người chủ sở hữu của nó Đây gọi là quan hệ sở hữu phân phối
Trang 15Trong khi quan hệ này ngày càng thuận tiện cho người sử dụng thì nó cũng trở nên
đỡ tốn kém hơn Thông thường các máy tính rỗi trong những khoảng thời gian dài khi mà những người sử dụng chúng đang bận làm các việc khác như đọc báo, ngủ trưa, xem tivi… Đó là một tình trạng sử dụng máy không thật hợp lí, gây lãng phí
về thời gian tính toán của máy Việc thiết kế các hệ thống HTC đã khắc phục được vấn đề này Các hệ thống HTC lấy được những khoảng thời gian rỗi của máy tính
và đưa nó vào trong những mục đích sử dụng có hiệu quả, đem lại lợi ích cao hơn cho người sử dụng và toàn bộ cơ quan Thực trạng ngày nay đã giải quyết được nhược điểm tính toán trước đây với sự bổ sung các cụm máy tính vào trong danh sách các tài nguyên Những máy tính đó được dành cho việc phục vụ tính toán cho công việc Hệ thống HTC sẽ quản lí các tác dụng hiệu quả của cụm máy tính cũng như quản lí sự hoạt động của các tài nguyên khác
Đã hơn một thập kỉ, nhóm nghiên cứu hệ thống tính toán thông lượng cao Condor thuộc trường đại học Wisconsin- Madison đã tiến hành phát triển và đánh giá các cơ chế và chính sách nhằm hỗ trợ hệ thống HTC trên các tập hợp rộng rãi các nguồn tài nguyên máy tính hỗn tạp được sở hữu phân phối Người ta lần đầu tiên được giới thiệu về sự khác nhau giữa Tính toán hiệu năng cao (HPC) và Tính toán thông lượng cao (HTC) trong một buổi xê-mi-na ở Cơ quan quản lý hàng không và vũ trụ Mỹ (National Aeronautical and Space Administration - NASA) vào tháng 7/1996 và một tháng sau đó ở phòng thí nghiệm vật lí hạt nhân của châu
Âu (CERN-the European Laboratory for Particle Physics) Tháng 7/1997 HPCWire đã công bố một cuộc nói chuyện thảo luận về Tính toán thông lượng cao.
Theo đó, nhiều nhà khoa học cho rằng vấn đề cần thiết hiện nay không chỉ còn là tốc độ tính toán của các máy tính riêng lẻ, mà còn là vấn đề làm sao để mở rộng phạm vi hoạt động của một mạng gồm rất nhiều máy tính và các máy tính đó phải hỗ trợ, cộng tác với nhau trong quá trình làm việc Những nhà nghiên cứu này quan tâm đến việc tính toán dựa theo tiêu chí có bao nhiêu phép tính được thực hiên trong một khoảng thời gian kéo dài tính theo từng tháng hoặc theo năm Thực chất, họ quan tâm theo dõi xem có bao nhiêu công việc sẽ được hoàn thành trong một khoảng thời gian kéo dài Ngược lại với điều này, một môi trường Tính toán hiệu năng cao HPC (High-Performance Computing) sẽ cung cấp một khối lượng
Trang 16sức mạnh tính toán khổng lồ trong một khoảng thời gian ngắn Môi trường này thường được đánh giá bằng các thuật ngữ mô tả số lượng các phép tính của các số dấu chấm động trên một giây FLOPS (FLoating point OPerations per Second) Đó
là sự khác nhau cơ bản giữa một hệ thống HTC so với một hệ thống HPC
1.2.3 Lợi ích và ứng dụng của hệ thống HTC
Từ việc so sánh sự khác nhau giữa hai hệ thống HTC và HTC ở mục trên,
ta có thể thấy rõ được những lợi thế của một môi trường HTC trong một số hoàn cảnh cụ thể Khi cần phải giải quyết những bài toán rất phức tạp về thuật toán, mà
nó không đòi hỏi tốc độ thực hiện phép tính nhanh lắm mà nó cần thực hiện nhiều các hoạt động tác vụ khác bên trong hệ thống như kết nối, truyền thông điệp từ máy này sang máy khác, truy xuất cơ sở dữ liệu từ xa… hoặc khi cần giải quyết một số lượng bài toán rất lớn, rất đa dạng về kiểu hình bài toán thì rõ ràng hệ thống HTC sẽ được sử dụng tốt hơn nhiều so với một hệ thống HPC vì các bài toán này sẽ cần rất nhiều thời gian để thực hiện nhiều tác vụ độc lập khác nhau chứ không chỉ dựa vào các phép toán dấu chấm động
Hệ thống HTC hoạt động tốt từ các mạng cỡ nhỏ đến các mạng cỡ lớn Trên một máy đơn, một hệ thống sử dụng phần mềm Condor như vậy có thể quản
lí các công cụ để tạm dừng một công việc khi người dùng muốn máy tính thực hiện một mục đích khác, và sẽ khởi động lại công việc ban đầu nếu máy được khởi động lại Trên một cụm máy tính được chia sẻ, khi cần chạy nhiều công việc kéo dài thời gian nhưng không thể cung cấp đủ sức mạnh cho một số máy xác định để chạy hết các công việc, thì có thể dùng hệ thống Condor để tìm kiếm những máy đang rỗi để đưa vào thực hiện, đặc biệt là vào thời gian ban đêm hay giờ ăn trưa Thực tế trong một cơ quan hay một công ty thông thường, các máy để bàn thường không sử dụng đến 12 giờ mỗi ngày Việc sử dụng hệ thống HTC sẽ tận dụng được rất nhiều thời gian và năng lực làm việc của các máy Hệ thống sẽ hoạt động với hiệu quả rất cao nếu vùng hoạt động của hệ thống chứa vài trăm máy tính trở lên
Thông thường các cơ quan, công ty luôn cần phải thi hành những nhiệm vụ lâu dài Những công ty ấy có thể đang sử dụng một hệ thống dạng có thể thực hiện một lô công việc nào đó, hay là các nhiệm vụ tính toán được thực hiện bởi sự khởi động chương trình mỗi buổi tối và hi vọng rằng nó sẽ kết thúc trước khi họ trở lại
Trang 17vào buổi sáng hôm sau Trong các tình huống như vậy, một hệ thống HTC với Condor có ưu thế vượt trội Đặc biệt, Condor còn tiết kiệm thời gian và công sức đáng kể hơn khi thời gian thi hành công việc kéo dài càng lâu
Ngoài ra, hệ thống HTC cho phép hầu hết các ứng dụng có thể chạy mà không cần quản lí sự tương tác với người dùng Đây là một ưu điểm lớn vì phần lớn các công ty nhỏ hiện nay không hỗ trợ các chương trình dành cho khách hàng
tự xây dựng và phát triển nên trong thực tế các công việc xây dựng và triển khai ứng dụng cho khách hàng vẫn là trách nhiệm chính của các đội phát triển của các công ty, không có sự tham gia của khách hàng và cần được thực hiện tự động nhiều hơn
Hệ thống HTC được ứng dụng trong rất nhiều lĩnh vực khác nhau, đặc biệt
là trong các ngành khoa học đòi hỏi sự tính toán phức tạp, lâu dài như khoa học máy tính, công nghệ sinh học, công nghiệp điện ảnh…
Lấy ví dụ từ những doanh nghiệp đang sử dụng một môi trường HTC như vậy, cụ thể là môi trường HTC sử dụng phần mềm Condor, các nhiệm vụ đòi hỏi biểu diễn các hình ảnh 3 chiều cho một bộ phim, một công việc được xây dựng về ban đêm và sự kiểm tra hồi qui trên phần mềm, mô phỏng và phân tích thị trường chứng khoán, hay là mô phỏng hiệu quả của rất nhiều quyết định công cộng nói chung Các bộ mã video hiện đại thường cần thời gian dài để mã hóa và một số công ty sản xuất các file video sử dụng để quản lí quá trình đó Một công ty ngành công nghệ sinh học nhỏ có thể muốn sử dụng hệ thống HTC để quản lí các đối tượng nghiên cứu về bản đồ mẫu gen người cần thời gian thực hiện rất lâu Một công ty kỹ thuật tương tự có thể cần nhiều thời gian để chạy mô phỏng sự phức tạp của một tòa nhà lớn, mô phỏng đường thông gió cho các xe ô tô, hay mô phỏng các mạch điện cho các thiết bị điện tử hiện đại
Nếu một công ty thương mại sử dụng hệ thống tài nguyên lưới Globus để
có thể thu được sức mạnh tính toán lớn hơn như nó đã có sẵn trong một ngôi nhà,
hệ thống Tính toán thông lượng cao kiểu Condor-G sẽ cung cấp khả năng quản lí
công việc tin cậy Hay có những hệ thống hiện đại hơn như Condor glidein, trong
đó các tài nguyên có thể chuyển thành các phần của một cụm Condor ảo làm việc hiệu quả hơn
Trang 181.3 Sự phát triển của phần mềm hệ thống HTC
Sự phát triển của hệ thống HTC cần đạt được 4 mục tiêu:
- Sử dụng được các tài nguyên hỗn tạp
- Đáp ứng được sự phát triển của các giao thức mạng
- Có thể truy nhập file từ xa
- Tận dụng được các tài nguyên không được vui lòng chia sẻ
Việc sử dụng các tài nguyên hỗn tạp đòi hỏi khả năng chuyển dịch được của hệ thống, có thể đạt được hiệu quả cao thông qua việc thiết kế một hệ thống phân tầng Một sự tiến triển tốt của các giao thức mạng là cần thiết cho một hệ thống mà các tài nguyên và khách hàng cần những thay đổi xác định nào đó, đòi hỏi sự phát triển của các tính năng mới của hệ thống HTC Một cơ chế truy cập file từ xa bảo đảm một ứng dụng sẽ có thể truy cập các file dữ liệu của nó từ một trạm làm việc nào đó trong cụm Cuối cùng, sự tận dụng các tài nguyên không được trao tặng đòi hỏi khả năng đặt thứ tự ưu tiên (preempt) và phục hồi một ứng dụng bằng cách sử dụng một cơ chế kiểm tra điểm trạng thái
1.3.1 Kiến trúc phần mềm phân tầng
Hệ thống HTC có nhiều trạm làm việc, mỗi trạm tương ứng một khách hàng và tương ứng với một giao diện làm việc Khả năng vận chuyển của hệ thống HTC sẽ phụ thuộc vào một kiến trúc phần mềm phân tầng, như hình vẽ Hệ thống được viết cho một giao diện độc lập hệ thống API, giảm giá thành của việc chuyển đổi sang một kiến trúc mới bởi vì các mã không chuyển đổi được thì được tách ra
và đặt vào các thư viện API
Giao diện API của mạng (network API) thực hiện tất cả các chuyển đổi giữa host và mạng về các dạng số nguyên một cách tự động, kiểm tra sự tràn bộ nhớ (chẳng hạn khi gửi tin từ một máy trạm 64 bít sang một máy trạm 32 bít) và cung cấp các cơ chế tìm kiếm địa chỉ host
Giao diện API quản lí tiến trình (process management API) cung cấp khả năng để khởi tạo, trì hoãn, thôi trì hoãn, và loại bỏ hoàn toàn (kill) một tiến trình
để cho phep hệ thống HTC điều khiển việc thi hành các ứng dụng khách hàng
Trang 19Giao diện API biểu diễn các thông tin máy trạm (workstation statistics API) thông báo các thông tin cần thiết để cài đặt các chính sách của người chủ tài nguyên và xác nhận các yêu cầu cho ứng dụng khách hàng về thời gian trong ngay, thời gian kể từ lần cuối cùng sử dụng bàn phím hay chuột, lượng bộ nhớ có sẵn có thể chuyển đổi và các thuộc tính tài nguyên khác Chẳng hạn, ứng dụng khách hàng có thể đòi hỏi một hệ điều hành và cấu hình CPU xác định, một lượng
bộ nhớ vật lí tối thiểu có sẵn, khoảng trống đĩa và băng thông mạng
Nhiều thư viện đã có cung cấp khả năng chuyển vận cho các dịch vụ hệ thống dùng cho các ứng dụng Có những lợi ích rõ ràng khi sử dụng các thư viện chuẩn khi phát triển hệ thống Với các thư viện được viết sẵn, các nhà phát triển hệ thống HTC tiết kiệm nhiều thời gian vì ít khi phải viết các thư viện mới Các nhà phát triển này cũng tiết kiệm được thời gian khi chuyển hệ thống này sang các cấu hình nền khác nếu như các thư viện đã có sẵn cho cấu hình nền mới Tuy nhiên, việc sử dụng các thư viện có sẵn cũng có một số hạn chế nhất định như là chúng thường nghèo nàn, chưa đủ để sử dụng trong một số trường hợp, đôi khi lại làm tăng thêm lượng dữ liệu không cần thiết cho việc sử dụng, và thường không đáp ứng được cho mọi cấu hình nền của hệ thống hay không làm việc hiệu quả trên một số cấu hình nền
1.3.2 Kiến trúc phân tầng quản lí tài nguyên
Hình vẽ dưới đây chỉ ra một kiến trúc phân tầng quản lí tài nguyên trong Condor Hướng tiếp cận này đem lại lợi ích cho việc thiết kế một hệ thống mẫu mà giao diện cho mỗi tầng hệ thống được định nghĩa trong mô hình mẫu quản lí tài nguyên, cho phép sự cài đặt trên mỗi tầng có thể thay đổi sao cho phù hợp Các tác nhân khách hàng cần tùy chỉnh có thể được phát triển với các thuật toán lập kế hoạch khác nhau được lựa chọn cho phù hợp với các lớp ứng dụng Các tác nhân của người sở hữu tài nguyên có thể được tùy chỉnh để cài đặt các cơ chế điều khiển truy nhập mong muốn Bộ điều khiển tìm kiếm tài nguyên phù hợp (matchmaker) có thể được nâng cấp để sử dụng những thuật toán quản lí tài nguyên mới mà không đòi hỏi phải nâng cấp các tác nhân khác trong cụm
Trang 20Hình 1.1 Kiến trúc phân tầng quản lí tài nguyên
Kiến trúc này được phân chia ra thành các giao thức quảng bá (advitising), kết nối dữ liệu (matchmaking) và thỏa thuận (claiming) Các tác nhân quảng bá
các yêu cầu và các đáp ứng tài nguyên một cách không đồng bộ tới bộ điều khiển
tìm tài nguyên phù hợp matchmaker, để bộ điều khiển này thông báo lại cho các
tác nhân khi một sự phù hợp được tìm thấy Vì bộ điều khiển này không tham gia
trong giao thức thỏa thuận (claiming protocol), giao thức đó có thể được điều
chỉnh cho phù hợp với yêu cầu của các tác nhân và có thể sửa đổi mà không ảnh
Trang 21hưởng tới tiến trình đàm phán thương lượng của hệ thống Bộ điều khiển tìm tài nguyên phù hợp không cần biết chi tiết về sự thương lượng đó, nên nhiều giao thức cho phép thỏa thuận có thể dễ dàng được hỗ trợ bởi các bộ điều khiển như vậy
1.3.3 Tính mềm dẻo của giao thức
Khi hệ thống file phân phối được phát triển và cung cấp các dịch vụ mới chất lượng hơn, các giao thức cũng ảnh hưởng theo Thông thường các giao thức
sẽ tăng lên để chuyển đổi thông tin Điều này thường đòi hỏi tất cả các thành phần của hệ thống phân phối được cập nhật để nhận biết được các thông tin bổ sung Trong một hệ thống HTC lớn thường bất tiện cho việc cập nhật tất cả các thành phần ở một thời điểm, và do đó các tính năng mới không được triển khai cho tới khi có một sự nâng cấp hệ thống chính trong tương lai
Để hỗ trợ sự phát triển này, các giao thức mạng HTC có thể sử dụng một cấu trúc dữ liệu với mục đích chung mà có tính mềm dẻo hơn Trong các giao thức mạng, người ta có thể thêm vào danh sách tham số các tham số mới có tác động đến các giao thức mạng để tạo ra những tính năng mới Khả năng phục hồi lại của giao thức được bảo đảm, vì các tác nhân cũ sẽ bỏ qua các tham số mới và các tác nhân mới sẽ được sửa đổi để chấp nhận các gói dữ liệu có hoặc không các tham số mới
1.4 An toàn cho hệ thống
Một môi trường HTC rất dễ bị tổn thương vì những sự tấn công từ bên ngoài vào các tài nguyên hoặc các khách hàng Một tấn công tài nguyên xuất hiện khi một người dùng không được xác thực chiếm lấy quyền truy nhâp vào tài nguyên thông qua môi trường HTC hay khi một người dùng xác thực vi phạm chính sách truy nhập của người chủ tài nguyên Một tấn công khách hàng xuất hiện khi tài khoản của khách hàng hay các file dữ liệu bị làm hại thông qua môi trường HTC
Việc bảo vệ tài nguyên tránh sự truy nhập trái phép đòi hỏi một có chế xác thực người dùng Người chủ tài nguyên có thể liệt kê rõ ràng những người dùng xác thực được phép bằng chính sách truy cập, sử dụng biểu thức đòi hỏi
Requirements
Trang 22Requirements là đúng (true) cho các yêu cầu tài nguyên này Ngoài ra, tác nhân tài
nguyên cũng có thể thiết đặt các thuộc tính khách hàng một cách hợp lí hơn
Việc bảo vệ chống vi phạm chính sách truy nhập tài nguyên của người chủ đòi hỏi tác nhân tài nguyên phải duy trì sự điều khiển trên ứng dụng và kiểm tra hoạt động của ứng dụng Tác nhân tài nguyên có thể sử dụng giao diện lập trình ứng dụng API của hệ điều hành để xác định giới hạn sử dụng tài nguyên cho ứng dụng Cũng có thể chạy ứng dụng dưới một tài khoản “khách hàng” (“guest”) mà chỉ được cung cấp quyền truy cập rất hạn chế tới trạm làm việc Để giới hạn sự truy cập vào hệ thống file, tác nhân đó có thể sử dụng các giao diện API của hệ điều hành để thiết lập thư mục chủ hệ thống file (the file system root directory) để trở thành một thư mục đặc biệt được bảo vệ gọi là thư mục “sandbox” Tuy nhiên,
có lẽ cách làm hiệu quả nhất là ngăn ngừa các lời gọi hệ thống từ các ứng dụng bằng cách chèn thêm vào giao diện hệ điều hành Việc này cho phép tác nhân tài nguyên kiểm soát toàn bộ việc truy nhập hệ thống thực hiện bởi ứng dụng và khẳng định một cách chắc chắn chính sách truy cập tài nguyên của người chủ bằng cách loại bỏ tất cả các lời gọi hệ thống từ xa mà vi phạm chính sách đó
Để đưa vào một ứng dụng cho môi trường HTC, khách hàng phải được cho phép truy cập hệ thống tới các ứng dụng có thể thi hành và các file dữ liệu Điều này được thực hiện bởi sự chuyển đổi các file tới một thư mục hay một hệ thống file được chia sẻ cho các ứng dụng HTC Trong trường hợp này, không cần thiết phải có sự tin cậy về uy tín của khách hàng Khi ứng dụng kết thúc, khách hàng truy tìm kết quả trong các file đầu ra (output file) nằm trong thư mục được chia sẻ này Khi đó, các file dữ liệu và file thi hành của khách hàng có nguy cơ bị can thiệp và sửa đổi Mặt khác, môi trường HTC có thể chạy ứng dụng với sự tin cậy của hệ thống file của khách hàng, cho phép các file của khách hàng được truy
Trang 23nhập trực tiếp và thuận tiện Trong trường hợp đó, tài khoản của khách hàng dễ bị tấn công
Một tác nhân tài nguyên không đáng tin cậy có thể dễ gây ra một sự tấn công khách hàng (customer attack) Do đó, để cho phép sự thực hiện từ xa được đảm bảo, một ứng dụng cần phải truy cập các file dữ liệu thông qua một cơ chế truy cập từ xa Tác nhân tài nguyên phải có khả năng điều khiển hay thay ứng dụng để làm nhiệm vụ lấy dữ liệu của khách hàng hay sửa đổi các file của khách hàng Trong trường hợp này, khi ứng dụng chạy với sự tin cậy của hệ thống file của khách hàng, kẻ tấn công có cơ hội để truy cập tất cả các file của khách hàng và
có thể cài đặt các phần mềm gián điệp (trojan horse) vào trong hệ thống file của khách hàng Để bảo vệ chống lại sự tấn công này, môi trường HTC phải chắc chắn rằng tất cả các tác nhân tài nguyên là đáng tin cậy Các tác nhân tài nguyên có thể được được mã hóa xác thực hoặc cụm máy tính có thể được hạn chế để chỉ cho phép chứa các tác nhân tài nguyên trên các host đáng tin cậy được xác thực thông qua địa chỉ IP
Các đường truyền mạng cũng có một nguy cơ bị tổn thương Hệ thống các file và dữ liệu của khách hàng được gửi đi mà không được mã hóa thông qua mạng sẽ có nguy cơ bị người khác can thiệp Các đường mạng không được mã hóa cũng có những nguy cơ bị chiếm đoạt điều khiển, cho phép kẻ tấn công có thể chỉnh sửa các file thi hành và file dữ liệu và lấy được quyền truy cập hệ thống không xác thực
Cuối cùng, các tác nhân HTC có nguy cơ bị tấn công theo kiểu tấn công phổ biến là tấn công làm tràn bộ nhớ Các nhà phát triển HTC và các quản trị mạng cần có nhận thức tốt về vấn đề này và nên đảm bảo cho chính họ rằng sự cài đặt hệ thống là an toàn bằng cách sử dụng phần mềm kĩ thuật đảm bảo chất lượng
1.5 Các khách hàng
Thông thường các khách hàng được cấp quyền truy cập tới môi trường tính toán cụm thông qua một tài khoản (account) trên một hay nhiều máy trạm của cụm máy tính Khách hàng sẽ chuyển các file dữ liệu ứng dụng tới máy trạm của mình
và biên dịch ứng dụng để sử dụng được bởi môi trường cụm Tuy nhiên, sẽ tốt hơn cho cả các khách hàng và người quản trị hệ thống nếu cung cấp quyền truy cập từ
Trang 24xa cho các khách hàng tới cụm Khách hàng cài đặt một tác nhân khách hàng trên trạm của họ, người quản trị hệ thống sẽ cho phép tác nhân đó truy cập vào hệ thống HTC Khách hàng sẽ không cần phải dùng thao tác vận chuyển các file dữ liệu, vì một cơ chế truy cập file từ xa đã có sẵn ở mỗi máy trạm của khách hàng Người quản trị hệ thống cũng không cần phải tạo một tài khoản mới cho khách hàng ở mỗi máy trạm mà chỉ cần tạo một tài khoản HTC
Các khách hàng từ xa là những người không làm việc trực tiếp trong cụm
có thể mong muốn có sự xem xét đặc biệt khi cấu hình môi trường HTC Những tác nhân khách hàng đó có thể không được xem là đáng tin cậy như tác nhân khách hàng địa phương, và do đó sự phòng ngừa an toàn có thể cần bổ sung Các tác nhân khách hàng từ xa có thể kết nối tới cụm qua một mạng diện rộng với băng thông được giới hạn, tính tin cậy thấp hơn và vấn đề an toàn được quan tâm hơn
Do đó, có một đòi hỏi lớn hơn về việc áp dụng cơ chế truy nhập file từ xa, lưu trữ cục bộ các file trung gian trong cụm và mã hóa sự giao tiếp qua mạng
Trang 25Chương 2 GIỚI THIỆU PHẦN MỀM CONDOR
2.1 Tổng quan về Condor
2.1.1 Khái niệm chung
Condor là một hệ thống phần mềm để tạo ra một môi trường Tính toán thông lượng cao HTC Nó sử dụng hiệu quả sức mạnh tính toán của các máy trạm được giao tiếp với nhau qua mạng Condor có thể quản lí một cụm các máy được dành riêng Sức mạnh tính toán của Condor có được do tận dụng các tài nguyên rỗi trong cụm máy đó
Một người dùng đưa công việc tới Condor Condor tìm một máy sẵn sàng làm việc trên mạng và bắt đầu chạy công việc trên máy đó Condor có khả năng nhận thấy một máy đang chạy một công việc là không tiếp tục sẵn sàng (có thể bởi
vì người chủ máy đó trở lại và bắt đầu gõ vào bàn phím) Nó có thể kiểm tra trạng thái của công việc và di chuyển công việc đó tới một máy khác đang nằm rỗi Condor sẽ có thể tiếp tục thực hiện công việc trên máy mới này sau khi nó dời khỏi máy cũ
Condor tận dụng lợi thế của những tài nguyên tính toán thường bị bỏ phí và đưa chúng vào sử dụng hiệu quả Condor sắp xếp hợp lí những nhiệm vụ cần làm bằng cách cho phép nhiều công việc được đưa vào cùng một lúc và thiết lập mức
ưu tiên cho mỗi công việc Theo cách này, một lượng tính toán khổng lồ có thể được làm với rất ít sự can thiệp của người dùng Hơn nữa, Condor cho phép nhiều người dùng được sử dụng các máy rỗi mà họ có thể truy nhập tới
Condor không đòi hỏi một tài khoản (account) để đăng nhập vào máy mà chạy công việc Condor có thể làm điều này bởi kĩ thuật lời gọi hệ thống từ xa (remote system call technology), dùng cho các phép tính toán giống như khi đọc hay ghi từ/vào các file trên đĩa Những lời gọi này được chuyển qua mạng để được thực hiện và ghi lại kết quả trên máy đưa công việc đó vào
Condor cung cấp những đặc tính quan trọng cho các người dùng Mã nguồn không phải sửa đổi để đạt được lợi ích mong muốn Các mã có thể liên kết lại với
Trang 26thư viện Condor để tạo ra hai khả năng cao hơn: công việc có thể sinh ra các trạng thái kiểm tra và chúng có thể thực hiện các lời gọi hệ thống từ xa
2.1.2 Một số tính năng đặc biệt của Condor
Điểm kiểm tra trạng thái và sự di trú (Checkpoint and Migration)
Vì công việc có thể liên kết với các thư viện Condor, những người dùng Condor có thể được bảo đảm rằng công việc của họ sẽ từ từ hoàn thành, thậm chí trong môi trường đang thay đổi mà Condor sử dụng Khi một máy chạy công việc được đưa vào (submit) Condor trở nên không có sẵn, công việc đó có thể được kiểm tra trạng thái Công việc này có thể tiếp tục sau khi chuyển sang một máy khác Đặc tính kiểm tra định kì của Condor sẽ kiểm điểm định kì một công việc ngay cả khi có sự thay đổi đặc biệt trên máy thực hiện khi có sự di chuyển công việc để đảm bảo cho việc tính toán tích luỹ theo thời gian đối với một công việc
mà bị mất khi có lỗi hệ thống, chẳng hạn như việc tắt máy hoặc va chạm (crash), xung đột
Một điểm kiểm tra trạng thái (checkpoint) là tập hợp đầy đủ của các thông tin về trạng thái của một chương trình Có một điểm kiểm tra trạng thái như vậy, một chương trình có thể sử dụng nó để tiếp tục thi hành công việc từ trạng thái lúc công việc đó bị dừng Với những việc tính toán lâu dài, khả năng sinh ra và sử dụng điểm kiểm tra trạng thái có thể tiết kiệm nhiều ngày, thậm chí hàng tuần cho việc tính toán tích lũy Nếu một máy xảy ra va chạm, hay phải khởi động lại cho một nhiệm vụ quản lí, một điểm kiểm tra trạng thái sẽ giữ được những gì tính toán
đã được hoàn thành Condor tạo ra những điểm kiểm tra cho công việc, làm định
kì như vậy, hay khi máy đang thực hiện công việc trở nên không có sẵn Bằng cách này, công việc có thể được tiếp tực trên máy khác có cấu hình tương tự và
điều này được gọi là sự di trú quá trình (migration).
Các lời gọi hệ thống từ xa (Remote System Calls)
Dù việc chạy các công việc là trên những máy từ xa, sự thực hiện của kiểu
hệ thống Condor chuẩn vẫn giữ gìn, bảo vệ môi trường hoạt động địa phương thông qua các lời gọi hệ thống từ xa Người dùng không phải lo lắng về việc làm cho các files dữ liệu có sẵn cho các trạm làm việc từ xa hay là thậm chí có thể thu được một tài khoản người dùng (người dùng không xác định) ở trạm làm việc từ
Trang 27xa trước khi Condor thực hiện các chương trình ở đó Chương trình hoạt động trong Condor cứ như thể nó vẫn đang chạy trên chiếc máy ban đầu từ khi mà được người dùng đưa vào, không có vấn đề gì khác đối với chiếc máy thật sự hoàn thành công việc
Không cần thay đổi cho mã nguồn của người dùng
Không có việc lập trình đặc biệt nào được đòi hỏi cho Condor Condor có thể chạy những chương trình độc lập không tương tác Việc kiểm tra trạng thái (checkpointing) và sự chuyển đổi của các chương trình trong suốt và tự động, vì
nó sử dụng các lời gọi hệ thống từ xa Nếu có sự thay đổi cần thực hiện đối với một chương trình, người dùng chỉ việc liên kết lại chương trình đó Mã nguồn không được biên dịch lại cũng như không thay đổi
Các vùng hoạt động của hệ thống Condor có thể được móc nối với
Các công việc có thể được sắp xếp theo thứ tự:
Việc sắp xếp các công việc để thi hành được đòi hỏi bởi sự phụ thuộc giữa các công việc với nhau trong một tập hợp Tập các công việc xác định sử dụng một đồ thị vận hành không tuần hoàn, nơi mỗi công việc là một nút trong đồ thị Các công việc tiếp theo được submit tuân theo sơ đồ đó
Condor cho phép tính toán lưới (Grid Computing)
Khi tính toán lưới trở thành thực tế, Condor đã làm điều đó Kĩ thuật glidein
cho phép những công việc được đưa tới Condor được thi hành trên các máy tính lưới được định vị ở nhiều nơi Khi mà các vấn đề tính toán lưới phát triển, khả năng của Condor cũng tăng theo (bắt đầu từ dạng Globus), để có thể kiểm soát được tài nguyên
Trang 28 Đáp ứng mong muốn của những người chủ máy tính
Chủ nhân của một máy có quyền ưu tiên đầy đủ để sử dụng máy Một chủ nhân nói chung vui lòng cho phép những công việc khác được tính toán trên máy
đó khi nó rỗi, nhưng muốn điều đó lùi lại ngay khi mà người ấy trở lại máy mình Chủ nhân không muốn thực hiện những hành vi đặc biệt nào để lấy lại quyền làm chủ của mình Condor sẽ điều khiển việc này một cách tự động
Cơ chế chùm tin quảng bá ClassAds
Một nhân tố đóng góp vào thành công của hệ thống là cơ chế chùm tin quảng bá (ClassAd) Cơ chế này cung cấp một vùng làm việc vô cùng linh hoạt cho việc kết nối giữa nhu cầu tài nguyên với sự đáp ứng tài nguyên Người dùng
có thể dễ dàng yêu cầu cả các đòi hỏi của công việc lẫn sự đáp ứng công việc mong muốn Các công việc muốn được tìm thấy các máy để có thể thi hành thì cần
có cơ chế này Một công việc sẽ đòi hỏi một cấu hình nền (platform) xác định trên các máy thi hành mà đã chứa sẵn các tài nguyên cần thiết, như là yêu cầu về cấu hình chung và lượng bộ nhớ có sẵn Một chùm tin quảng bá (ClassAd) riêng được sinh ra tương ứng với mỗi công việc và mỗi máy, liệt kê tất cả các thuộc tính của công việc hay của máy Condor hoạt động như một bộ điều khiển kết nối tài nguyên (matchmaker) để thực hiện kết nối giữa các công việc và các máy bằng cách ghép cặp các chùm tin quảng bá ClassAd của một công việc và một máy
Cơ chế này phức tạp chứ không chỉ đơn giản là việc nối ghép các đặc điểm nền tảng của các công việc với các đặc điểm nền của các máy Một công việc có thể muốn thi hành trên một máy có khả năng tính toán dấu chấm động tốt hơn, hay
có thể muốn thi hành trên một tập các máy xác định nào đó hơn Những mong muốn này cũng xảy ra tương tự với các chùm tin quảng bá ClassAd Hơn nữa, một người chủ máy có quyền cho phép những công việc nào được thi hành trong điều kiện hoàn cảnh nào trên máy đó Người chủ đó viết một file cấu hình xác định những yêu cầu và mong muốn cho các công việc, có thể cho phép các công việc được thực hiện khi máy đó nằm rỗi (tức là khi tải của máy thấp và không có tác động đến bàn phím), hay cho phép các công việc chỉ được thực hiện vào các tối thứ ba chẳng hạn Và cũng có thể có một yêu cầu là chỉ các công việc được đưa vào từ một nhóm người dùng nào đó được thực hiện Bên cạnh đó, bất kì yêu cầu nào của người chủ máy đều có thể mô tả như một sự ưu tiên (preference), chẳng
Trang 29hạn khi một máy thích thi hành các công việc của một nhóm được chọn, nhưng sẽ chấp nhận các công việc của các nhóm khác nếu như không có công việc nào của nhóm được chọn
2.2 Các hệ thống Condor
2.2.1 Phân loại hệ thống
2.2.1.1 Một số kiểu hệ thống phổ biến của Condor
Condor có nhiều môi trường thực hiện chương trình, được gọi là các kiểu
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
Trang 30(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
Trang 31độ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
Trang 32Mặ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
2.2.1.2 Các phiên bản được hỗ trợ
Condor có sẵn để download từ Internet thông qua địa chỉ
http://www.cs.wisc.edu/condor/downloads Các gói chương trình dạng nhị phân của Condor có sẵn hầu hết các phiên bản quan trọng cho UNIX và một số phiên bản cho WINDOWS Bảng dưới đây mô tả chi tiết về các cấu hình nền (platform)
mà phiên bản Condor mới nhất 6.7.19 hỗ trợ Trong đó, clipped nghĩa là Condor không hỗ trợ kiểm tra điểm trạng thái (checkpointing) hay các lời gọi hệ thống từ
xa (remote system calls) trên các platform đó Các phiên bản như vậy là chính là
các phiên bản Condor cho kiểu hệ thống vanilla, chỉ hỗ trợ các công việc kiểu vanilla (vanilla jobs), chứ không hỗ trợ các công việc kiểu chuẩn (standard jobs)
Trang 33Bảng 2.1: Các môi trường platform được hỗ trợ bởi Condor phiên bản 6.7.19
Architecture Operating System
Hewlett Packard
PA-RISC (both PA7000
and PA8000 series)
(R5000, R8000,
R10000)
- IRIX 6.5 (clipped)
Intel x86 - Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9
- RedHat Enterprise Linux 3, 4
PowerPC - Macintosh OS X (clipped)
Trang 34- Yellowdog Linux 3.0 (clipped)
Itanium IA64 - Red Hat Enterprise Linux 3
(clipped)
- SuSE Linux Enterprise Server 8.1
(clipped) Opteron x86_64 - Red Hat Enterprise Linux 3
2.2.2 Nội dung nghiên cứu về Condor
Hiện nay, một hệ thống Condor chuẩn standard vẫn chưa được áp dụng cho
môi trường Windows mà mới chỉ được sử dụng phổ biến trên các hệ thống UNIX
và một số hệ điều hành không phổ biến ở Việt Nam Trong hoàn cảnh hiện tại,
việc nghiên cứu về hệ thống Condor chuẩn standard là rất khó khăn, phức tạp, đòi
hỏi nhiều kiến thức chuyên sâu về các hệ điều hành, đặc biệt là hệ điều hành UNIX Việc triển khai hệ thống Condor trên UNIX cũng là rất khó thực hiện Vì vậy, đề tài khóa luận tốt nghiệp này sẽ chỉ nghiên cứu về cách triển khai hệ thống
Condor kiểu vanilla trên môi trường Windows và được thử nghiệm tại khoa Công
Nghệ Thông Tin trường Đại học Công Nghệ
Trên Windows, như mô tả ở mục trên, một hệ thống Condor kiểu hạn chế
vanilla sẽ sử dụng một trong hai cơ chế để làm việc với các hệ thống file của
người dùng (các khách hàng) là sử dụng một hệ thống file chia sẻ hoặc một cơ chế
di chuyển file Theo mặc định người ta thường sử dụng cơ chế di chuyển file nhưng việc dùng cơ chế này là rất phức tạp và khó quản lí hệ thống trong điều kiện thực tế tại phòng máy Do đó, việc triển khai thử nghiệm hệ thống Condor tại phòng máy của nhà trường sẽ được thực hiện với một hệ thống file chia sẻ NFS
Việc nghiên cứu thử nghiệm một hệ thống tính toán như vậy sẽ có một số hạn chế chưa thực hiện được, đó là:
Trang 35- Chưa đánh giá được khả năng thực sự của một hệ thống HTC chuẩn được dùng phổ biến trên môi trường UNIX
- Chưa xác định được một số cơ chế làm việc quan trọng của một hệ thống HTC như là kiểm tra điểm trạng thái, di trú quá trình thi hành công việc
2.3 Cơ sở hoạt động của hệ thống Condor
2.3.1 Mô hình quản lí tài nguyên
Trong Condor, mỗi khách hàng được đại diện bởi một tác nhân khách hàng (customer agent) Tác nhân này quản lí một danh sách hàng đợi của các mô tả cho các ứng dụng của khách hàng đó và gửi các yêu cầu về tài nguyên tới một chương trình điều khiển thực hiện việc tài nguyên tìm kiếm tài nguyên phù hợp
matchmaker Mỗi tài nguyên cũng được đại diện bởi một tác nhân tài nguyên
(resource agent) Tác nhân tài nguyên dùng để cài đặt các chính sách của người
chủ tài nguyên và gửi các đề nghị về tài nguyên tới matchmaker Điều khiển matchmaker có trách nhiệm tìm kiếm những điểm nối (match) phù hợp giữa các
yêu cầu tài nguyên với các đề nghị tài nguyên và báo lại cho các tác nhân trên biết khi nó tìm thấy một điểm nối thích hợp Dựa vào sự thông báo này, tác nhân khách hàng và tác nhân tài nguyên thực hiện một giao thức thỉnh cầu để bắt đầu sự cho phép sử dụng tài nguyên Kiến trúc này được mô tả như hình vẽ dưới đây:
Trang 36Hình 2.1 Mô hình quản lí tài nguyên
Các yêu cầu tài nguyên và đề nghị đáp ứng tài nguyên chứa đựng những
ràng buộc để xác định liệu một điểm nối (match) có chấp nhận được hay không
Do đó, tác nhân khách hàng sẽ có một ràng buộc trong yêu cầu tài nguyên mà ràng buộc này sẽ xác định đề nghị đáp ứng nào là chấp nhận được Ví dụ, tác nhân khách hàng có thể chỉ muốn các tài nguyên đang chạy trên các hệ điều hành xác định Tác nhân tài nguyên thì có một ràng buộc đặt trong đề nghị đáp ứng để xác định các yêu cầu nào sẽ được phục vụ Một đáp ứng kết nối với một yêu cầu khi
tất cả các ràng buộc đó được thoả mãn
Chính sách quản lí thực hiện:
Chương trình matchmaker cài đặt các chính sách bằng cách dùng các tập ràng buộc gây áp lực lên các điểm nối kết Ví dụ, matchmaker cài đặt một cơ chế
về thứ tự ưu tiên của khách hàng bằng cách nối các yêu cầu tài nguyên với thứ tự
ưu tiên đó, sao cho các yêu cầu tài nguyên từ khách hàng với mức ưu tiên cao hơn
sẽ có cơ hội tốt hơn để tìm thấy một điểm ghép nối Bộ điều khiển matchmaker
Trang 37cũng có thể xếp đặt quyền ưu tiên về sự cho phép thực hiện bằng cách nối một tài nguyên với một yêu cầu mới để duy trì một mức độ cho phép phù hợp nhất định Tác nhân khách hàng hay tác nhân tài nguyên cũng có sự chọn lựa để chiếm lấy sự cho phép này vào bất kì thời gian nào
2.3.2 Các thành phần điều khiển Condor
2.3.2.1 Các thành phần điều khiển
Dưới đây liệt kê tất cả các thành phần điều khiển và chương trình có thể bắt đầu chạy với Condor và những gì chúng thực hiện
+ condor_master: là thành phần điều khiển chủ, có trách nhiệm giữ cho tất
cả các thành phần khác của Condor chạy trong mỗi máy trong vùng hoạt động của Condor Nó sinh ra các thành phần điều khiển khác, và kiểm tra định kì để xem liệu có đối tượng nhị phân mới nào được cài trên một thành phần nào trong chúng hay không Nếu có, nó sẽ khởi động lại các thành phần điều khiển bị ảnh hưởng
Và nếu bất kì thành phần điều khiển nào bị va chạm, thành phần chủ đó có thể thông báo đến người quản trị Condor và khởi động lại thành phần điều khiển đó Thành phần điều khiển này hỗ trợ rất nhiều các lệnh quản trị cho phép người dùng khởi động, dừng hay cấu hình lại các thành phần điều khiển từ xa Nó sẽ chạy trên mọi máy trong vùng hoạt động của Condor mà không quan tâm đến các chức năng nào mà mỗi máy thực hiện
+ condor_startd: thành phần này mô tả một tài nguyên đã có cho vùng hoạt
động Condor Nó quảng bá (advertise) các thuộc tính xác định về tài nguyên mà
được sử dụng để đáp ứng cho các yêu cầu tài nguyên Thành phần này sẽ chạy trên bất kì máy nào của vùng hoạt động mà bạn muốn nó có thể thi hành công việc người dùng Nó có trách nhiệm khẳng định chính sách mà người chủ tài nguyên thiết đặt mà sẽ quyết định xem dưới những điều kiện nào thì các công việc từ xa sẽ được bắt đầu, trì hoãn, trở lại, bỏ trống hay bị bóp chết Khi thành phần này sẵn
sàng để thi hành một công việc thì nó sẽ sinh ra thành phần condor_starter được
mô tả dưới đây
+ condor_starter: thành phần này thực tế sẽ sinh ra một công việc thực sự
của Condor từ xa trên một máy cho trước Nó thiết lập (set up) môi trường thực hiện và quản lí công việc một khi nó đang chạy Khi công việc kết thúc, thành