WEB开发网
开发学院服务器服务器方案 集群系统MOSIX分析(4) 阅读

集群系统MOSIX分析(4)

 2008-12-01 11:02:39 来源:WEB开发网   
核心提示: MOSIX中,每个进程的控制块中都保持着一条MOSIX连接contact(struct mosix_link *contact),集群系统MOSIX分析(4)(2),用于deputy和remote之间的通讯,进程的remote部分可以在节点间多次迁移, comm_use() :为进程设置新

集群系统MOSIX分析(4)

MOSIX中,每个进程的控制块中都保持着一条MOSIX连接contact(struct mosix_link *contact),用于deputy和remote之间的通讯。进程的remote部分可以在节点间多次迁移,但是deputy总能根据它的contact连接来定位remote部分;remote也能根据它的contact连接和deputy部分通讯合作。对于未迁移的进程,contact总是为NULL。

MOSIX连接层接口

MOSIX连接层提供了一系列接口用于集群间进程之间互相发送和接收数据。从这些接口的名字上,我们就很容易判断出它们的功能。

comm_open():为MOSIX 通讯打开一条连接

mosix_link * comm_open(int mos, mosix_addr *maddr, unsigned long timo)

如果mos > 0,则连接到第#mos号节点上的迁移守护进程。

如果mos = COMM_TOADDR,则连接maddr->saddr中给定的地址。

如果mos = COMM_ACCEPT,则打开一个SOCKET,并且可以接受连接。

如果mos = COMM_MIGD,则为迁移守护进程设置SOCKET。

如果mos = COMM_INFOD,则为信息守护进程设置SOCKET。

如果mos = COMM_LOOSE,则允许连接多个守护进程。

comm_use() :为进程设置新的连接并返回旧的连接

mosix_link *comm_use(struct task_struct *p, mosix_link *mlink)

进程p将使用mlink连接进行通讯。

comm_close():关闭Mosix通讯连接

void comm_close(mosix_link *mlink)

调用comm_shutdown(mlink)关闭对连接的写入,然后通过sock_release(mlink->sock)释放该连接上的套接字。

上一页  1 2 3 4 5  下一页

Tags:集群 MOSIX

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接