随着科学技术的发展,科学计算和生产,以及人们生活,娱乐对于高速网络环境下大规模的数据分发的要求日益提高.传统的基于c/s模型的分发方法,如http,ftp等服务,由于其固有的限制,不可能从根本上解决服务器端的带宽和计算能力瓶颈问题;现有的基于p2p模型的各种数据分发方法,则存在着性能不好,可靠性差,安全性差等诸多严重的问题,难以胜任真实的,严肃的科学研究实践.
为了解决这些问题,我们设计了一套全新的,基于p2p模型的,用于高速网络环境中分发大型文件的分布式文件分发系统.这套系统希望能够通过科学,合理的设计来消除现有p2p系统中存在的诸多问题,汲取c/s模型和p2p模型中的优点,并能够胜任较大规模的数据分发任务的需要.
调度的好坏是决定一个系统能否有效地运转的重要因素.对于我们正在设计的这套系统来说,其调度子系统不仅需要合理地处理来自本地的各种调度请求,还需要与网络上的其他节点配合,以期在整个网络的全局范围内,达到最佳的执行效率;通过有效而合理地安排任务执行和请求的先后次序,调度子系统不仅要在本地达到充分利用网络带宽和磁盘高速缓存等资源,而且,以全局的观点看,它还需要实现整个网络范围内的负载平衡和故障转移,在保证数据正确传输的前提下,尽可能地缩短整体的响应时间,以期提高传输效率,并合理地利用网络带宽和计算资源.
正确地设计调度子系统需要对现有的基于单处理器,多处理器,numa等不同体系结构下的调度器进行深入的了解,以及对于前人在这一方面研究成果的深入理解和认识.除此之外,需要建立一系列可实现的评估模型,以便让计算机能够有效地完成调度任务.
调度算法中可能会涉及一些np-完全问题,因此,调度器的实现中很可能会不可避免地选择一些折衷的算法以给出这些问题的近似解.如何在这些近似的算法中选出最合理的那些,同样需要设计正确的评估模型,并进行试验和论证.
二、注意要点:
系统整体设计中要充分考虑性能,可伸缩性,可靠性和安全性,并在设计中予以体现.
建立并选取可能的评估模型,对于系统的执行给出合理的论证,并确保选定的评估模型的可实现性和正确性.
作为系统的核心部件,调度子系统的实现必须正确.调度子系统在设计时,同时实现对应的单元测试代码,并使用这些代码对调度子系统进行压力测试.
使用c++语言进行开发.为了保证系统整体的可移植性,这部分的实现必须完全符合c++98以及posix等相关规范.
系统的编码过程必须规范,通过合理地使用版本控制,确保软件的质量.
总结测试数据,撰写毕业设计论文
三、时间安排:(XX-02-10 – XX-05-30)
2.10---3.25 阅读相关文献,设计系统的整体架构,编写架构文档并实现初步的原型.(占全部时间的大约40%)
3.26---4.27 精细的原型实现,这一阶段调度子系统和其他子系统的每日构建和联调应能够正确通过.(占全部时间的大约30%)
4.28---5.19 系统的稳定化和测试,撰写《毕业设计论文》.这一阶段,整个系统的每日构建和联调必须能够正确通过.(占全部时间的大约20%)
5.20---5.30 总结毕业设计中出现过的问题,完成《毕业设计论文》.这一阶段,整个系统应能够正确运行.(占全部时间的大约10%)
四、参考文献:
"distributed systems: concepts and design (3rd edition)" george coulouris, et al, XX. (isbn: 0202219180)
the design and implementation of the 4.4 bsd operating system, mckusick, et al, 1996. (isbn: 0202249794)
the art of computer programming, volume 1 and 3, donald e. knuth, 1997, 1998(isbn 0-201-89683-4, isbn 0-201-89685-0)
the darknet and the future of content distribution, peter biddle, et al, XX ttp://crypto.stanford.edu/drmXX/darknet5.doc]