分步式计算接口的问题
Intel的朋友
问点可能无关的问题
你们在推并行计算技术
我想做一个服务器软件的接口,用来支持分布式计算
当然也可以分布式并行计算,不过好象难度大了点^__^
是这样的,我写了服务器和客户端软件,本身是用来支持分布式P2P传输的
新的版本我把它的协议升级了,现在可以支持DLL形式的分布式计算,这个是开放代码和接口的
在测试中我也已经实现了分布式计算,只要动几下鼠标,自己编写两个函数就可以实现
问题在于
我想把这个功能标准化,也就是让它能够支持尽可能多的其他用户可能会用到的分布式计算
所以这个接口比较难定义
目前我的函数接口,调用端和执行端[可以有多个点]的入口参数是
const __int64 pDll_XXXXXXXXXXXXXX(SOCKET s , const __int32 i_usernumber ,const __int32 i_threadnum, const __int32 i_version ,const unsigned __int64 u64_dllcrc , char * p_buffer , const char * p_str=NULL)
SOCKET s,系统自动负责两个点之间的连接[可以是INTERNET上任何两台运行我的软件的计算机,用鼠标就可以操作,和FTP用相同的界面],程序保证这个SOCKET是有效的,并且已经连接成功
i_usernumber ,对方用户在服务器上的用户编号
i_threadnum ,本地机器上第几个工作线程
i_version , dll版本号
u64_dllcrc , dll的一个自身校验,可以识别DLL是否为相同
p_buffer ,是个缓冲区,里面保存了对方传递过来的一个不超过2000字节的函数参数
p_str目前没有使用
这样的接口合理吗?有更好的推荐没有?
另外,客户端启动前,都会调用一个扩展DLL初始化函数,这个可以由编写者自己决定
还有需要补充否?
也就是说,如果用户想编写代码执行自己的分布式计算,现在不需要从头写,只要写DLL里的函数,因为我们的服务器和客户端可以负责帐号管理,版本校验,网络连接等工作,这样是否合理?