複製鏈接
請複製以下鏈接發送給好友

MOSIX

鎖定
MOSIX是Linux核心集羣計算的功能之一。它支持的操作系統平台有BSD/OS 和Linux,它允許任意多個基於X86/Pentium的服務器和工作站協同工作
外文名
MOSIX
類    型
功能
定    義
Linux核心集羣計算的功能之一
MOSIX為Linux核心增添了集羣計算的功能。在MOSIX集羣環境中,用户無需對應用程序進行修改,或將應用程序與庫連接起來,或將應用程序分配到不同的節點上運行。MOSIX會自動將這些工作透明地交給別的節點來執行。
MOSIX的核心是適應性的資源管理算法,它對各節點的負載進行監測並做出相應的迴應,從而提高所有進程的整體性能。它使用搶先的進程遷移方法來在各節點中分配和再分配進程,從而充分利用所有的資源。適應性的資源管理算法具體上又包括適應性的負載平衡算法、內存引導算法和文件I/O的優化算法。這些算法都對集羣中的資源使用情況的變化做出響應。如:節點上的不平衡的負載分佈或由於內存不足而導致的過多的磁盤換入換出。在這種情況下,MOSIX將進程從一個節點遷移到另外一個節點上,從而來均衡負載或將進程遷移到有足夠的內存空間的節點上。
由於MOSIX是在Linux的核心中實現的,因此它的操作對應用程序而言是完全透明的。可以用它來定義不同的集羣類型,這些集羣中的機器可以相同也可以不同。
與Turbocluster、Linux Virtual Server、Lsf等集羣系統不同的是,MOSIX集羣中的每個節點既是主節點又是服務節點,不存在主控節點。對於那些在本地節點創建的進程而言,該節點就是一個主節點;對於那些從遠方節點遷移過來的進程而言,該節點就是服務節點。這意味着可以在任意時刻向集羣中增加節點或從集羣中刪除節點,而不會對正在運行的進程產生不良的影響。MOSIX的另外一個特性就是它的監測算法能夠監測每個節點的速度、負載、可用內存、IPC 以及I/O rate 。系統使用這些信息來決定將進程發送到哪個具體的節點上。當在某個節點上創建了一個進程以後,該進程就在這個節點上執行。當該節點的負載超過了一定的閥值以後,就將該進程透明地遷移到別的節點上繼續執行。
MOSIX文件系統採用直接文件系統訪問的方法,它可以允許遷移到別的節點的進程在本地進行I/O操作。這樣就減少了需要進行I/O操作的進程與創建該進程的節點之間的通訊,從而允許這些進程更加自由地在集羣中的節點中進行遷移。MOSIX文件系統使所有節點都可以像訪問本地文件系統一樣透明地訪問其它節點上的所有目錄和文件。
一個低端的MOSIX配置可以包含通過以太網連接起來的多台PC機。一個較大的配置可以包含通過快速以太網連接起來的多台工作站和服務器。高端的MOSIX配置可以包含通過Gigabit-Ethernet連接起來的多台SMP 或非SMP工作站和服務器。
MOSIX文件系統
MOSIX集羣使用了自己的文件系統MFS文件系統。MFS將集羣中的所有文件系統和目錄都看作是一個文件系統,而且它提供了對所有節點上的所有文件系統的統一訪問,它還通過只提供一個cache保證了cache的一致性。
MFS包含了許多位於不同節點上的文件子樹,因此它就允許對多個文件進行並行操作和cache一致性。
在MOSIX集羣中進行進程遷移時,如果此進程主要佔用的是CPU資源,則遷移此進程對於提供系統性能是非常有效的,但是如果此進程需要進行大量的I/O操作,則遷移進程非常不利。這是因為每個I/O操作都需要與該進程原來所處的節點進行通訊。
因此MFS增加了對DFSA(Direct File System Acess)的支持。DFSA的目的就是讓那些需要進行大量I/O操作的進程遷移到遠端節點上,該遠端節點擁有大多數I/O操作將會涉及到的文件,因此大多數的I/O操作都能在遠端節點上完成,而且在遠端節點上可以通過本地訪問來訪問數據。如果一個系統調用是節點無關的,此係統調用就會在遠端節點上執行,否則就在本地執行。MFS比其它網絡文件系統優越的地方就是它允許使用本地文件系統,這樣就減少了進程和文件服務器之間的通訊開銷。