ĐẠ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
ĐẠ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
TÓ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.
MỤ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
3.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
BẢNG CÁC TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Ý nghĩa
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
CNTT Công Nghệ Thông Tin Công Nghệ Thông Tin
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
JVM Java Virtual Machine Máy ào của Java
NFS Network File System Hệ thống file chia sẻ thông
thường
PVM Parallel Virtual Machine Máy ảo song song
CÁ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
Platform Cấu hình nền
Pool Vùng máy hoạt độ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
Thread Luồng
1
MỞ ĐẦ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.
2
Vớ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
3
trườ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
4
Chươ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 đã
5
khô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ệ
6
thố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,
7
cầ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.
8
Trong 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
9
sứ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
10
và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.
11
1.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.
12
Giao 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.
13
Hì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
14
hưở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.
15
Ví dụ:
Requirements = (Customer= =
||
Customer= =
)
Hệ thống HTC phải chắc chắn về giá trị của thuộc tính khách hàng. Tác
nhân tài nguyên có thể xác nhận thuộc tính khách hàng bằng cách yêu cầu tác nhân
khách hàng kí số lên các yêu cầu tài nguyên với khóa riêng của khách hàng đó.
Tác nhân tài nguyên sẽ xác nhận chữ kí và khi đó xác định được biểu thức
Requirements 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
16
nhậ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ừ
17
xa 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.
18
Chươ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