Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác<br />
<br />
Sơ lược về hệ điều hành phân<br />
tán và hệ tự trị cộng tác<br />
Bởi:<br />
Hà Quang Huy<br />
<br />
Sơ lược về hệ điều hành phân tán<br />
HĐH phân tán mới thực sự là một HĐH quản lý tài nguyên máy tính trên phạm vi lãnh<br />
thổ lớn. Các máy tính được kết nối lôgic (theo phần mềm) trong HĐH phân tán một<br />
cách tương đối chặt chẽ, hệ thống tài nguyên của mỗi máy tính đóng góp thực sự vào<br />
hệ thống tài nguyên chung thống nhất và tham gia vào việc giải quyết mỗi bài toán điều<br />
phối quá trình, điều phối bộ nhớ, điều phối vào-ra v.v. HĐH phân tán, về lôgic là một<br />
hệ thống thống nhất song về vật lý lại được “phân bố” chạy trên nhiều máy tính ở các vị<br />
trí khác nhau.<br />
Sự phát triển các trạm làm việc mạnh và những tiến bộ của công nghệ truyền thông tạo<br />
ra sự cần thiết và hợp lý để mở rộng việc chia xẻ tài nguyên thêm một bước nữa: để bao<br />
gồm dạng tổng quát hơn nữa các hoạt động cộng tác giữa một tập hợp gồm các máy tính<br />
tự trị, được kết nối bởi một mạng truyền thông. Chia xẻ tài nguyên và cộng tác các hoạt<br />
động phân tán kiểu này của môi trường tính toán là những mục tiêu chính trong thiết kế<br />
HĐH phân tán và là tiêu điểm chính của tập bài giảng này.<br />
Cần xác định những thành phần trong một hệ phân tán kết nối lỏng là cần phân tán hay<br />
không tập trung. Tài nguyên vật lý là phân tán vì được thừa hưởng tự nhiên từ hệ kết<br />
nối lỏng. Thông tin và nhu cầu thông tin trở nên phân tán do tính tự nhiên của nó hoặc<br />
do nhu cầu tổ chức, chẳng hạn về tính hiệu quả và tính an toàn. Hơn nữa, hiệu năng hệ<br />
thống cần được nâng cao nhờ tính toán phân tán. Làm thế nào để các tài nguyên và hoạt<br />
động phân tán được quản lý và điều khiển là những trách nhiệm căn bản của HĐH phân<br />
tán. Nên chăng HĐH phân tán tự nó cũng phân tán ? Lời giải đáp là về đại thể là nên<br />
theo cách thức đó chính do tính tự nhien của nó và nhu cầu tổ chức. Điều đó đặt ra vấn<br />
đề thi hành phân tán đối với các chức năng quản trị và điều khiển của HĐH phân tán,<br />
chính là thiết kế các thuật toán phân tán. Nhu cầu về các thuật toán phân tán trong các<br />
HĐH phân tán thúc đẩy việc tích hợp hai chủ thể có quan hệ mật thiết này trong một số<br />
tài liệu.<br />
<br />
1/7<br />
<br />
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác<br />
<br />
Khi cho một HĐH phân tán trên một hệ phân tán, hy vọng có được sự che khuất các chi<br />
tiết thi hành của hệ thống đó đối với người dùng. Điều phân biệt mấu chốt giữa HĐH<br />
mạng và HĐH phân tán ở chính khái niệm trong suốt. Trong suốt là một khái niệm<br />
mới. Trong HĐH tập trung, người sử dụng chia xẻ thời gian có sự trong suốt đồng thời<br />
(concurrency transparency) nếu họ không nhận biết thực tế có nhiều người dung fkhác<br />
cũng đang chia xẻ cùng một hệ thống. Một chương trình được gọi trong suốt định vị<br />
(location transparrency) nếu như bản đồ của chương trình vào trong bộ nhớ vật lý và/<br />
hoặc bộ xử lý là bị che khuất. Trong HĐH phân tán khái niệm này còn được mở rộng<br />
tới định vị file và đồng thời truy nhập nếu file có thể nằm bất kỳ trên hệ thống lưu trữ<br />
và truy nhập nó thông qua đường dẫn lôgic hơn là vật lý. Đối với quá trình phân tán, có<br />
thể đạt được phân tán song song và phân tán hiệu năng nếu quá trình có thể được thực<br />
hiện trên một bộ xử lý bất kỳ mà không kể sự nhận biết của người dùng và không kể sự<br />
khác nhau đáng kể về hiệu năng. Còn nhiều ví dụ nữa và có giới hạn hay không ? Một<br />
hệ thống trong suốt hoàn toàn là hợp lý hoặc thậm chí chỉ hy vọng là một câu hỏi còn<br />
được bàn luận. Nói chung, tính trong suốt là một cái tốt đẹp cần có và chúng ta vẫn sử<br />
dụng nó như mở rộng mấu chốt của HĐH phân tán.<br />
Trong các mục trước đây, hệ thống tính toán được mô tả như một hệ thống trừu tượng<br />
bao gồm các quá trình và các file. Cần bổ sung các thuật toán (chính xác hơn là các<br />
thuật toán điều khiển phân tán) mà quản lý sự thực hiện các quá trình trên các file trong<br />
hệ phân tán. Như vậy, HĐH phân tán bao gồm ba thành phần chính: điều phối các quá<br />
trình phân tán, quản trị các tài nguyên phân tán và thi hành các thuật toán phân tán. Tại<br />
mỗi nút trong hệ phân tán, giả thiết rằng tồn tại những môđun thực hiện việc quản trị tài<br />
nguyên địa phương.<br />
Một số HĐH phân tán điển hình như AMAEBA, MACH, CHORUS, DCE được giới<br />
thiệu trong [8].<br />
<br />
Sơ lược về hệ tự trị cộng tác<br />
HĐH tự trị cộng tác cho một cách thức linh hoạt hơn so với HĐH phân tán. Các máy<br />
tính thành viên vừa được phép tham gia kết nối vào toàn bộ hệ thống lại vừa được phép<br />
chạy một cách độc lập. Khi tham gia vào hệ thống, tài nguyên của máy tính thành viên<br />
được toàn bộ hệ thống sử dụng (gần như theo cách thức của HĐH phân tán) còn khi máy<br />
thành viên chạy độc lập thì nó độc quyền sử dụng tài nguyên riêng. Về thực chất, trong<br />
hệ tự trị cộng tác, tính "tự trị" của máy thành viên được chú trọng hơn so với tính thống<br />
nhất lôgic của toàn bộ hệ thống.<br />
Như vậy, nếu chỉ cần duy trì tính trong suốt ở một mức độ nào đó và hủy bỏ về cái nhìn<br />
của một hệ thống nhất lôgic của hệ đa máy tính, nhận được cách nhìn khác nhau hoàn<br />
toàn của một hệ (phần cứng và phần mềm) lỏng lẻo thuần túy. Mỗi người dùng hoặc quá<br />
trình thao tác tự trị bằng cách cung cấp các dịch vụ của mình và yêu cầu các dịch vụ từ<br />
nơi khác. Nhóm các hành động có thể được điều phối bằng việc trao đổi dịch vụ và yêu<br />
2/7<br />
<br />
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác<br />
<br />
cầu. Dịch vụ mức cao có thể được cung cấp bằng cách giải quyết chúng từ những dịch<br />
vụ ở mức thấp hơn. Mọi hệ thống phần mềm có thể được định danh một cách thoải mái<br />
bằng cách tích hợp nhiều dịch vụ với sự thoả thuận nào đó theo cấu trúc. Đây là cách<br />
tiệm cận đã bắt chước cách ứng xử trong xã hội loài người: ứng xử trong hệ thống máy<br />
tính làm theo cách ứng xử trong xã hội loài người phức tạp. Đây là cách nhìn của hệ tự<br />
trị cộng tác.<br />
<br />
Hình 1.8 minh họa một số khác biệt cơ bản giữa HĐH phân tán với hệ tự trị công tác.<br />
Hệ phân tán được đặc trưng bằng phân tích dịch vụ trong khi hệ tự trị cộng tác lại nhấn<br />
mạnh việc tích hợp dịch vụ.<br />
Hệ tự trị cộng tác là hệ thống phần mềm định hướng dịch vụ mức cao đòi hỏi hỗ trợ<br />
cơ chế truyền thông trên đó các giao thức truyền thông mức cai đã được xây dựng. Lấy<br />
ví dụ hình ảnh cách thức giao dịch bất động sản có thể được thực hiện trong một hệ tự<br />
trị cộng tác. Người mua nhà, là một quá trình khách, có thể tạo ra một yêu cầu tới hoặc<br />
trực tiếp tới chủ ngôi nhà hoặc gián tiếp tới đại lý bất động sản (cả hai đều là quá trình<br />
phục vụ). Chủ ngôi nhà là quá trình khách tới người môi giới. Người môi giới có thể từ<br />
một đại lý bất động sản, một phục vụ lớn hơn có thể chỉ dẫn cho người mua nhà một<br />
môi giới giành riêng. Người bán là khách tới đại lý bất động sản giống như một khách<br />
tới người môi giới. Người mua có thể định vị được đại lý bất động sản nhờ xem thông<br />
tin trên Trang vàng, đã được biết đến như một quá trình phục vụ trực tiếp. Nếu ngôi nhà<br />
được chủ của nó bán trực tiếp thì người chủ có thể quảng cáo tại đâu đó nhờ quá trình<br />
phục vụ với địa chỉ đã biết. Hình 1.9 trình bày một loạt các quan hệ Client/Server của<br />
<br />
3/7<br />
<br />
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác<br />
<br />
một ứng dụng hệ tự trị cộng tác. Phục vụ kiểu Trang vàng và đại lý bất động sản cung<br />
cấp dịch vụ môi giới hoặc thương mại như những dịch vụ định vị. Khái niệm mấu chốt<br />
của hệ tự trị cộng tác là tích hợp các dịch vụ thành dạng hoạt động cộng tác. Cả phần<br />
cứng và phàn mềm là tách rời và không tập trung hoàn toàn.<br />
Tư tưởng của hệ tự trị không tập trung hình như gượng gạo. Tuy nhiên, một mở<br />
rộng đơn giản có khái niệm Làm việc cộng tác được hỗ trợ bằng máy tính (Computer<br />
Supported Cooperative Work: CSCW). CSCW là một khung nhằm hỗ trợ phần mềm<br />
nhóm (groupware), một ứng dụng phần mềm lớn mà bao gồm các người dùng cộng tác<br />
và tài nguyên phân tán dọc theo một mạng hỗn tạp. Một ví dụ là hội thảo phân tán, trong<br />
đó cuộc mit tinh điện tử trong một mạng vật lý phân tán có thể được tổ chức. Trái ngược<br />
với triết lý máy tính đơn được chỉ cho người dùng và tài nguyên có thể thiết kế và quản<br />
trị, là sự nhận biết rõ ràng sự tồn tại đa máy tính. Người dùng, từ mạng logic của họ<br />
với mụctiêu riêng và được sẵn sàng cho điều khiển truy nhập và bảo vệ của nhóm. Hệ<br />
cộng tác không tập trung là hệ thống cungg cấp những dịch vụ chuẩn cho phép tích hợp<br />
các dịch vụ cộng tác mức cao trong một hệ thống mạng lớn. Với số lượng rất lớn đã lên<br />
phương án về mạng và con người, đây là sự tiến hóa tự nhiên của HĐH mạng và HĐH<br />
phân tán.<br />
Nhu cầu trộn các ứng dụng hệ tự trị cộng tác có thể bùng phát một số cố gắng chuẩn hóa<br />
cho việc phát triển tương lai của phần mềm phân tán, đáng chú ý là Quá trình phân tán<br />
mở (Open Distributed Processing: ODP) và Kiến trúc môi giới yêu cầu đối tượng chung<br />
(Common Object Request Broker Architeturre: CORBA). ODP là khung hệ thống công<br />
cộng hõ trợ phân tán, liên thao tác và khả chuyển đối với các xử lý phân tán hõn tạp cả<br />
bên trong và dọc theo tổ chức tự trị. CORBA ccung cho cùng triết lý và sử dụng mô hình<br />
hướng đối tượng để thi hành yêu cầu dịch vụ trong suốt dọc theo một hệ thống phân<br />
tán đa đối tượng hỗn tạp liên kết nối. Cả ODP và CORBA dùng dịch vụ thông minh<br />
trader hoặc broker làm thuận tiện liên tương tác trong hệ tự trị cọng tác. Trang vàng và<br />
đại lý bất động sản như những thương nhân. Chúng có thể được nhìn như tuyến phần<br />
mềm liên kết quá trình khách và phục vụ và chúng phục vụ như một phần mềm lớp giữa<br />
(middleware) hỗ trợ các ứng dụng cộng tác phân tán.<br />
<br />
4/7<br />
<br />
Sơ lược về hệ điều hành phân tán và hệ tự trị cộng tác<br />
<br />
-Đồng thời với tiến trình phát triển trên đây của các HĐH, việc nghiên cứu về các hệ<br />
thống xử lý song song cũng được phát triển. Tương ứng với các mô hình song song trên<br />
các hệ thống tập trung SIMD, MISD, MIMD là các mô hình SPMD (Single Program<br />
Multiple Data), MPSD, MPSD trong đó đối tượng thực hiện song song là chương trình<br />
thay cho chỉ thị (instruction).<br />
Một hướng nghiên cứu thời sự hiện nay là mô hình tính toán cụm (Cluster Computing)<br />
trong đó việc song song hóa một cách hiệu quả là mục tiêu của các mô hình như vậy.<br />
Trong các mô hình tính toán song song thì cách thức SPMD là điển hình nhất.<br />
Tính toán song song trên mạng các máy tính cá nhân, khai thác công suất dư thừa của các<br />
máy tính cá nhân trong mạng cũng là hướng đang được đặc biệt chú ý, theo đó tìm cách<br />
"tổ hợp sức mạnh" các máy tính cá nhân trong mạng thành "siêu máy tính ảo" (có người<br />
còn gọi là "siêu máy tính con nhà nghèo). Cách thức nói trên liên quan đến việc tạo<br />
dựng "cụm máy tính cá nhân" (PC-cluster) bằng một hệ thống phần mềm (thuộc dạng<br />
middleware) với tên gọi là phần mềm PC-cluster. Hiện tại có hai lớp phần mềm PCcluster miễn phí điển hình là PVM (Parallel Vitural Machine) và MPI (Message Passing<br />
Interface). Tính đến thời điểm năm 2002, một số hệ thống PC-cluster đã được cài đặt<br />
thử nghiệm tại một số cơ quan trong nước (trong đó có khoa Công nghệ, ĐHQGHN)<br />
song hiệu quả thực sự của chúng hiện vẫn còn ở mức rất khiêm tốn.<br />
Vấn đề thiết kế và nghiên cứu đối với HĐH tập trung (truyền thống), hoạt động trong<br />
một hệ thống có một hoặc nhiều bộ xử lý, đã được nghiên cứu tương đối dầy đủ. Tuy<br />
nhiên, với việc phát triển nhanh chóng các trạm làm việc cá nhân và mạng cục bộ dẫn<br />
đến sự phát triển nhanh chóng các khái niệm HĐH mới, là HĐH mạng và HĐH phân<br />
tán (một số tác giả, đặc biệt là các tác giả Việt kiều, dùng thuật ngữ "phân bố" thay cho<br />
thuật ngữ "phân tán" được dùng trong tài liệu này). Vấn đề quan hệ đến mạng và HĐH<br />
phân tán là mục tiêu nghiên cứu của giáo trình này. Một vấn đề khác nổi lên là phát triển<br />
các hệ thống tự động cộng tác, trong đó nhấn mạnh việc thiết kế các thuật toán phân tán<br />
<br />
5/7<br />
<br />