基于LAN的资源共享

最近在积极思考final year project的内容, 一方面想做点和实际相关的内容,一方面又想接触技术层面多些。这几周不能说整天查资料在找题目,至少经常brain storm一下。
高中的时候就想做机器人,也就是计算机语言方面的内容。这方面的东西中文做的比较少,中文语义理解的研究还很初级。看看MSN机器人,现在也慢慢红起来了,看到香港的地铁里都有机器人的广告,可见他还是有经济价值的。不过说到底,现在的机器人大多还是基于关键词搜索,要让他搞点“创新”就难了吧。
真的把这个题目做好也不错,不过神经网络不是我的长项,甚至只是耳闻,没做过一点细致接触。所以我又想到另一个题目。

基于LAN的资源共享


这儿的资源共享不包括资料共享,主要是计算资源共享。比如一个有2台电脑的最基本LAN网络,如何使他们运行大多数东西的效率达到最高。说白了,就是集群。一台电脑的cpu占用超过90%时候可不可以借用另一台计算机的cpu进行运算而提高使用效率。

我现在想到现存的问题有以下:
1. 如果在一个超过2台计算机的LAN网络,1台计算机需要“借用”资源的时候应该向哪台计算机借用,或是同时向哪几台计算机借用。

这里的有一个算法问题,比如一个10M网络,计算机之间沟通速度差不多是1M/s,硬盘<->内存之间的传输是50M-80M/s不等。用户外部输入数据是1M,输出数据为2M,处理器为了计算,生成的中间数据为50M,纯计算时间为30秒。
若本地计算机cpu的计算量已经达到极限,那么通过网络向另一台计算机输入1M的数据,然后接受2M的输出数据是非常划算的。如果输入数据巨大如1G,那光从一台计算机传输这些数据到另一台就需要很多时间,不划算。
另外,不是每一台计算机都完全空闲,可能会有一些计算机在处理高强度运算,有些在进行低强度运算却在进行持续的硬盘读写等等。
若这些计算机有个人所有权,如何分配好资源又保障拥有者的合理使用权是很重要的。

2. 隐私问题
这不用多解释吧,不但需要隐藏自己的输入数据,有些情况下用户还希望保证自己正在运行的程序不为他人所知。

3. 效率问题
2个人合力做一件事情,提高的效率肯定不是100%,差的话甚至比一个人做还慢。现在的双核/多核处理器都有这样的问题,别说是集群了。从软件层面上说也需要改进,需要把一个程序分为很多块进行处理。

对于这些难题目前能想到的:
由SOA(http://en.wikipedia.org/wiki/Service-oriented_architecture)来实现,不同节点(peer)提供不同的服务(service),把这些服务加起来就成了一个完整的软件程序。对于现存不基于SOA设计的程序,可不可以把他就认为是一种service来服务。
P2P网络之间的隐私问题,版权问题需要保护,部分参考(http://www.i2p.net/)

这里的研究应该主要是放在SOA上,SOA不光是本地计算服务共享,还包括远程服务共享。我个人认为做好这么一个题目已经很需要时间了。至于安全,版权,隐私等等问题固然重要,确是不同方向的两个题目。

不想把研究基于windows平台的现有程序,这些大多已经定型,也不开源,做了研究也奈何不了,做个外部程序效率一定不够理想。比较理想的基于开源平台,把非系统服务放在一个LAN当中来研究。可行的话也可以把系统服务来共享,这个我不太了解。

说了这么多,其实只是brain storm的一点点设想,欢迎提反对意见
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值