600 likes | 812 Views
P2P 研究简论. 大纲. ( 1 )如何追踪学术前沿? ( 2 )当前 P2P 研究状况 ( 3 )如何写 Review , Project Technical Report 和 Research Paper ? ( 4 ) P2P 项目实验如何做?. (1) 如何追踪学术前沿. 研究的起点: 选择性 阅读文献 研究的进阶:学习别人的思考过程 研究的突破:写作. 看文献的方法. 知名的会议追踪 Sigcomm Infocom Iptps IEEE P2P SPAA PODC ICNP NSDI ICDCS IPDPS ICDCS.
E N D
大纲 • (1)如何追踪学术前沿? • (2)当前P2P研究状况 • (3)如何写Review,Project Technical Report和Research Paper? • (4)P2P项目实验如何做?
(1) 如何追踪学术前沿 • 研究的起点:选择性阅读文献 • 研究的进阶:学习别人的思考过程 • 研究的突破:写作
看文献的方法 • 知名的会议追踪 • Sigcomm • Infocom • Iptps • IEEE P2P • SPAA • PODC • ICNP • NSDI • ICDCS • IPDPS • ICDCS
计算机领域会议很重要,好论文都在会议上,期刊基本都是总结性的。要学会追踪会议和研究新方向。第一点就是要知道:什么是好的会议?计算机领域会议很重要,好论文都在会议上,期刊基本都是总结性的。要学会追踪会议和研究新方向。第一点就是要知道:什么是好的会议? • 养成写会议跟踪的好习惯 • 参看本书作者之一李振华(现北大网络所在读博士)的近期一流会议追踪http://blog.sina.com.cn/s/articlelist_1582283797_9_1.html
P2P专业国际会议 • IPTPS 重视新思想 • IEEEP2P 专门性会议 • P2P相关的国际会议 • SIGCOMM最权威会议 SIGCOMM01 Chord/CAN 录取文章少 • INFOCOM顶级会议 录取文章多,分设多专题研究组 • ICDCS:很不错的会议
AREA: System Technology • Rank 1: http://www3.ntu.edu.sg/home/ASSourav/crank.htm • SIGCOMM: ACM Conf on Comm Architectures, Protocols & AppsINFOCOM: Annual Joint Conf IEEE Comp & Comm SocSPAA: Symp on Parallel Algms and Architecture(Plaxon 97) • PODC: ACM Symp on Principles of Distributed Computing Viceory02) • SOSP: ACM SIGOPS Symp on OS Principles(CFS/PAST 01) • CCS: ACM Conf on Comp and Communications Security • MOBICOM: ACM Intl Conf on Mobile Computing and Networking • ICNP: Intl Conf on Network Protocols • ICDCS: IEEE Intl Conf on Distributed Comp Systems • IEEE Symposium on Security and Privacy • OSDI: Usenix Symp on OS Design and Implementation • ICPP:International Conference on Parallel Processing • IPDPS:International Parallel and Distributed Processing Symposium
P2P重要国际刊物 • IEEE/ACM Transactions on Networks • IEEE Transcations on Parallel and Distributed Systems • IEEE Journal on Selected Areas in Commnunications
高起点,精选题 • 学CS的,中文的阅读论文选择应该在:《中国科学E》、《计算机学报》、《软件学报》、《计算机研究与发展》层面选择。并非是别的杂志不好,而是从有限的时间获得最有用的帮助的角度考虑。 • 英文论文尽量选择Rank 1级别以及重要的学术期刊阅读。 • 如何选择论文:is this a problem? 实际上是选择感兴趣的问题领域:第一要经得起时间考验;第二要有一定的新颖性。如果说在上面圈定的杂志里没有找到你所感兴趣的问题题材,或者很少,那么要谨慎考虑你的问题趣向是否有问题了。当然不是说你的问题趣向不值得做,而是要谨慎考虑。 • 一篇高质量的论文带给你的不仅仅是论文本身,还有一大萝的参考文献。从此,你就可以陷入一张大网中了。如果你从这张大网中理出一个头绪,那么你的问题题材选择就通过了。 • 还要注意目标论文的类型。在初级阶段,可以选择Review性质的论文;但是到了一定阶段,一定要啃paper/article/report性质的论文了。
他山之石-张五常论选题 • 张五常:要是今天我再写博士论文,选题材可以信手拈来,一天可以想出好几个。但当年这题材选择很困难,选了三年,转了四次题目,而每次花了几个月工夫才放弃。那是我求学过程中最痛苦的日子,有两年多为选论文题材挣扎。于今回顾,那是我学得最多的时期,是从一个靠修科考试充实的学生晋升成为一个经济学家的过程。
他山之石-博士生的经验论 • 我在这两年的博士学习期间,逐渐认识到科研与人的密切关系,其实科研的主流是受少数人物引导和操纵,站在最前面的几个就是媒介称作科学家的人物,因此新手如果想有什么突破,那就应当将自己的目标定在这些人物的身上,首先是研究和分析这些人物的研究历史,该过程其实就是你迅速掌握该领域的研究进展的最佳途径,因此研究首先从人开始是新手开始个人研究的最有效途径,同样,你对该研究领域著名人物的研究了解程度就代表了你当前的科学思想水准。我建议,新手查文献,不要只是死盯关键词,而是死盯科学家,前者可能会搞乱你对改研究领域的认识,而后者却使你很快走上征途。
追踪阅读最重要的目标:创新 • 新方法解决新问题 • 新方法解决旧问题 • 旧方法解决新问题 • 旧方法解决旧问题
擅用学术工具 • Google学术搜索:scholar.google.com • SJTU学术搜索:www.lib.sjtu.edu.cn • Microsoft学术搜索:http://academic.research.microsoft.com • Scopus学术搜索:http://www.scopus.com • ScienceDirect:http://www.sciencedirect.com/可访问alert • CiteSeer:http://citeseer.ist.psu.edu/
居家必备 • 小木虫 http://emuch.net/bbs/
(2) P2P当前研究状况 • P2P十年:何去何从 by 李振华
P2P新应用简介 • P2P是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。 • 将P2P思想应用到各个领域:无线网络、分布计算、体系架构。。。 • 主要有: • 分布式协作环境 • Wireless meets p2p • 存储网络 • Cloud storage • 分发/共享 • P4P, pub/sub in p2p enviroment
VRR的“Virtual Ring”和MANET网络拓扑的对应关系 [Caesar et al.06] Matthew Caesar, Miguel Castro, Edmund B. Nightingale, Greg O’Shea1,Antony Rowstron. Virtual Ring Routing: Network Routing Inspired by DHTs. In SIGCOMM 2006, pp. 351-362.
(3)如何写Review,Project Technical Report和Research Paper? • Review • Project Technical Report • Research Paper
Review • 1. Provide a short summary of the paper (1-2 paragraphs). • 2. List the strengths of this paper (in bullet form). Another way this can be phrased: list reasons why this paper should be accepted into the conference. Aim to list at least 2-3 strengths. • 3. List the weaknesses of this paper (in bullet form). Why should this paper be rejected? You should have at least 2-3 weaknesses, along with justifications for why you think these are weaknesses and ways you think the paper could be improved to correct these weaknesses.
Project Technical Report • 类似research paper,作为正式发表paper前的工作总结,通常会比research paper描述更详细(有时可称为extend version),格式更自由些。可对比Chord的technical paper和research paper • 格式可参考Research Paper
Research Paper • IEEE/ACM Transaction • Top Conference • JCST • 计算机学报、软件学报、研究与发展
写作--从模仿做起 • 系统为王:提出系统整体架构,而后依次 介绍各个组成成分,并对重要部分重点介绍 • 算法为王:给出基本概念,问题的形式化描述,适用的模型,提出各种算法,进行理论(复杂性)分析与定理证明
Weixiong Rao, Ada W. Fu, Lei Chen, Hanhua Chen,“ Towards Efficient Full-Text Filtering and Dissemination in a DHT Environment", Proceedings of the 25th International Conference on Data Engineering (IEEE ICDE 2009), Shanghai, China, April, 2009. (Acceptance Rate: 16.8%)
W. Rao, L. Chen, A. Fu, G. Wang, "Optimal Resource Placement in Structured Peer-to-Peer Networks", IEEE Transactions on Parallel and Distributed Systems, TPDS
Xiao-Yong Li and Xiao-Lin Gui. A Comprehensive and Adaptive Trust Model for Large-Scale P2P Networks. Journal of Computer Scinece and Technology. 24(5): 868-882, Sept. 2009 (SCI IDS: 500FC;EI:20094112369704)
写作/思想 • 学习写作以期刊为佳(期刊正规化,发表很慎重,但时效性差) • 学习思想以会议为佳(会议重视idea,时效性很强) • 学会独立的研究和思维 • 从会议中寻找 • 追踪学术前沿,做热点的研究 • 吸收新方法和新思维,形成自己的ideas • 从期刊中寻找 • 经典的旧方法可以解决新问题 • 旧的问题可以用新方法解决 • Top Conference文章可再投期刊,需要至少再加30%的新内容。
如何做项目实验? • 1、自己搭建系统 • 如北大的AmazingStore,Maze,自己修改,数据齐全 • 2、公认仿真平台 • PlanetLab • 每个节点上同时运行大量的条带虚拟机(sliver),节点的资源(包括CPU时间、内存、外存、网络带宽等等)被分配给这些虚拟机。虚拟机如同Internet上的真实主机一样,可以安装和运行程序。 • 由许多节点上的虚拟机条带组成的一个环境叫做切片(slice)。用户在PlanetLab上的试验部署在各自拥有的切片上,也就是部署在由每个节点上的一个虚拟机组成的一个大规模网络试验环境上 • 3、P2P模拟器 • P2PSim,GnutellaSim,PeerSim,自由度较小,可以评估算法
模拟器与仿真介绍 • 1 经典网络模拟器和拓扑产生器(新P2P协议测试) • 2 P2P模拟器(经典协议模拟,也可实现一些新协议) • 3 仿真(真实环境,最有说服力)
P2P模拟与仿真 • 模拟与仿真(ISO定义) • 模拟simulation:选取一个物理的或抽象的系统的某些行为特征,用另一系统来表示它们的过程 • 仿真emulation:用另一数据处理系统,主要是硬件,来全部或部分地模拟某一数据处理系统,以至于模仿的系统能象被模仿系统一样接受同样的数据,执行同样的程序,获得同样的结果 • 模拟有众多模拟器:NS-2,GT-ITM,BRITE。。。 • 仿真:PlanetLab
1 经典的网络模拟器与拓扑产生器 • NS-2 • GT-ITM • BRITE
NS-2 • Uc berkeley,面向对象的、离散事件驱动 • (1)实现了对许多网络协议的模拟,如著名的TCP、UDP协议,和数据源发生器,如FTP、WWW、Telnet、Web、CBR和VBR等 • (2)模拟了路由队列的管理机制,如Drop Tail,RED和VBR,实现了Dijkstra和其他多种路由算法 • (3)还实现了各种网络多播协议和一些应用于局域网模拟的MAC层协议
NS-2 • NS-2由C++和Otcl两种程序设计语言实现 • 一方面,具体协议的模拟和实现,需要一种程序设计语言,它需要很有效率地处理字节、报头等信息,需要应用合适的算法在大量的数据集合上进行操作。C++ • 另一方面,许多网络中的研究工作,都是围绕网络组件和环境具体参数的设置和改变而进行的,需要在短时间内快速地开发和模拟出所需要的网络环境,并且方便修改和发现、修复程序中的Bug。Otcl(objective Tcl,developed by MIT)
Transit-Stub模型与GT-ITM拓扑产生器 • Transit-Stub模型是一个得到计算机领域公认的Internet拓扑模型。GT-ITM软件一直是权威的Internet拓扑产生器。 • Transit-Stub模型 • 现代Internet可以看成一系列互联的“路由区域”(routing domain)的集合,每个路由区域是一组结点(路由器、交换机或者主机),这组结点可以看成是受到统一管理、共享路由信息和路由规则。 • 两类区域:Stub,Transit。Stub仅限本区域消息,而Transit不限制。
Internet拓扑产生器 • GT-ITM • 基于Transit-Stub模型的网络模拟器 • http://www-static.cc.gatech.edu/projects/gtitm/ • 广泛用于P2P的延迟模型,如Chord,CAN,Tapestry均用它来模拟Internet时延测试。
通用拓扑产生器 • BRITE的通用性具体表现在3个方面 • 代表性:能反映真实Internet拓扑结构的多方面属性,如层次结构、结点度分布等。 • 广含性:能够组合多种模型产生网络拓扑、如层次模型、水平模型、幂律模型等。 • 互操作性:给许多广泛使用的网络模拟或可视化工具提供接口,如前面讲过的NS-2。
2 P2P模拟器 • 功能和性能指标 • 分类 • 常用的模拟器
P2P模拟器的一些功能和性能指标 1.模拟器架构(Simulator Architecture),它包括:是否支持结构化(struc tured overlay)和非结构化(unstructrued overlay)协议,或者两者都支持; 是否支持网络层模拟(network simulation)还是只能支持覆盖层模拟(ov erlay simulation);支持离散事件模拟(discrete event simulation)还是轮 转模拟(cycle‐based simulation),或者两者都支持;是否支持分布式并 行化模拟(distributed parallel simulation);是否支持搅动(churn),搅动 的粒度;支持的P2P层路由方式(routing model)等。 2.实用性(Usability),它用于衡量学习和使用模拟器的难易程度。它 包括:文档是否全面易懂;API和模块结构定义是否清晰;源代码理 解是否容易(Java语言学习曲线很小);模拟试验搭建是否方便(如采取 脚本语言搭建模拟场景)等。 3.可扩充性(Scalability),它是指模拟器能够模拟器的网络规模,一般 以覆盖层节点多少衡量。因为P2P协议应用的网络规模都比较大,所 以这点是模拟器的一个相当重要的性能指标。现在PeerSim已经达到 了100万节点的规模。
4.统计(Statistics),统计功能就是展示协议或者应用模拟过程中或者4.统计(Statistics),统计功能就是展示协议或者应用模拟过程中或者 结束之后的结果展示,这是运行模拟的最终目的,模拟者才能对协 议或者应用给出功能和性能评价。它包括:是否动态统计,是否有 比较友好的统计展示等。 5.底层网络模拟(Underlying Network Simulation),站在TCP/IP协议层次 结构当中看,P2P协议建立的覆盖网是在传输层与应用层之间的一个 网络层次;为了分析和研究的方便,一般会对覆盖层一下进行某种 程度的抽象甚至忽略它。当覆盖层之下对模拟很重要的时候(如考虑 到拓扑一致性),这时候需要实现完全的底层网络或者简化的底层网 络。
P2P网络模拟器分类 • 通用模拟器 • P2P模拟器为协议的模拟提供了很多共性的基础设施,协议或者应用建模者只需要实现协议或者应用的核心部分即可。这样的模拟器一般有比较清晰的层次和模块化结构,易于扩展和替换协议和应用。如PeerSim,P2PSim等 • 协议专用P2P模拟器 • 专用于某协议的软件,用途是评价协议的正确性和有效性,为在其上的应用提供P2P层服务;更进一步将协议部署到实际网络当中。如FreePastry,Chimera等
并行化通用P2P网络模拟器 • 前面的通用P2P模拟器,只能在单计算机上运行,模拟效率有限。并行化模拟将模拟器部署在多台计算机上,通过多台计算机的并行模拟提高模拟效率和扩大模拟规模。如HiFiP2P • 传统通用网络模拟器 • 传统的网络模拟器虽然能够模拟P2P网络,但在其上模拟P2P网络复杂度很大,同时模拟规模很有限。但也不失为P2P网络模拟的工具。如NS-2,JavaSim等。
常用的P2P模拟器 • P2PSIM(结构化,面向协议,小规模)) • GnutellaSim(Gnutella纯分散式) • PeerSim(结构化和非结构化,大规模)
P2PSim 1.P2PSim运行在一些类UNIX的操作系统中,它是MIT的IRIS项 目的一部分,采用C++开发。它是一个用来评价、研究、分析 P2P协议的免费的、多线程的、离散事件模拟器,它只能模拟 结构化的P2P网络,模拟达到包级别。 2.其设计的目标是让人更容易的理解P2P协议源码、更方便的 比较不同的协议和使模拟器本身具有合理的性能。 3.最新版本是p2psim‐0.3,它实现的P2P协议有Chord、Koorde、 Kelips、Tapestry和Kademlia。并且这些协议实现的非常的高效。 4.支持搅动、支持迭代和递归路由查询、可以通过继承来实现 新协议、支持多种底层网络拓扑格式、支持一种网络时延模 型。 5.文档不够完善、不支持分布式模拟和带宽变动、节点规模很 小(3000节点) 6.主页http://pdos.csail.mit.edu/p2psim/
数据包层Gnutella模拟器GnutellaSim • GnutellaSim是一个可扩展的数据包层(packet-level)Gnutella模拟器,它用一个细致的网络模型来对Gnutella系统进行全面的评价。 • 它是基于NS-2.27版和PDNS(Parallel/Distributed NS)开发的,而PDNS是NS的分布式版本。
PeerSIM • 1.PeerSim是BISON项目的一部分,它的目标是可模拟大规模的动态P2P协议网络的通用P2P网络模拟器,遵照GPL发布。它支持结构化和非结构化P2P网络模拟,采用Java开发。 • 2.它支持两种模拟方式:离散事件模拟和轮转模拟,其中离散事件模拟可模拟底层传输层,模拟精度高;轮转模拟不考虑覆盖层之下,模拟效率高并且模拟规模大。 • 3.它有很高的可扩展性,PeerSim没有自带任何P2P协议的实现,但在PeerSim主页中有很多PeerSim使用者提供的P2P协议实现源码;它的高可扩展和可插拔的组件结构特性,使得实现协议和替换协议很简单。 • 4.轮转模拟方式下,能够达到100万覆盖层节点规模。 • 5.统计功能做的比较好,轮转模拟文档比较详细,离散事件模拟文档不详细。到2008年11月,已经有140多篇重要的P2P方面论文中使用PeerSim模拟器。 • 6.不支持分布式模拟。主页是:http://peersim.sourceforge.net/