PlanetLab介绍
转自http://blog.sina.com.cn/s/blog_83517c050100vyzq.html
PlanetLab产生背景
随着计算机技术和通信技术的不断发展,Internet的商业化和迅速普及,计算机网络相关科学与技术的研究和创新发生了重要的变化。其中最典型的现象是研究人员对真实(或逼近真实)的大规模网络实验环境的需求越来越强烈。大规模网络试验环境是当前计算机网络研究迫切需要解决的问题[7][8]。为了建设能够给计算机网络研究人员使用的大规模网络试验环境,国际上已经有很多先驱的工作和成功的经验。例如DETER,WAIL,Sparta,Aerospace,netbed,netlab,Emulab等大规模网络实验环境。遗憾的是,这些试验环境中很多仅仅为所属的学校,科研机构或Internet商业公司提供特别的独享的试验服务。只有Emulab,WAIL和netlab允许除本身拥有者之外的其他研究人员使用,但是它们有两个明显的缺陷:
1) 并非真正的共享型。每一个独立的试验都需要完全独占试验床的一部分节点,所以研究人员在被分配足够多的节点的使用权之前无法部署试验;
2) 并非真正的大规模。虽然已经有很多节点,但是资源仍然有限,而且所有节点都部署在美国境内,可以容纳的试验数量非常有限,远小于节点总数。
现在,越来越多的服务(或应用)架构在Internet上广泛分布的大量结点上,例如CDNs,Peer-to-Peer等服务,并由此也产生了很多分布式数据结构、服务和系统。
因此,PlanetLab就是这样应运产生的一个具有类似机制的超级测试床,是部署、开发和接入全球规模服务的开放平台,使得使用者可以在真实世界条件下,部署大规模的分布式应用程序。
PlanetLab的目的及作用
PlanetLab的主要目标之一是用作重叠网络的一个测试床。任何考虑使用PlanetLab的研究组能够请求一个PlanetLab分片,在该分片上能够试验各种全球规模的服务,包括文件共享和网络内置存储、内容分发网络、路由和组播重叠网、QoS重叠网、可规模扩展的对象定位、可规模扩展的事件传播、异常检测机制和网络测量工具[11][12]。
PlanetLab也可以作为一个超级测试床,在其上更多的狭窄定义的虚拟测试床能够被部署。即,如果我们将服务的概念泛化(一般化)以包括传统上认为的测试床,那么多个虚拟测试床能够在PlanetLab上部署。例如,我们正在开发一个“分片中的Internet”服务,其中在一个分片中重新创建Internet的数据平面(IP转发引擎)和控制平面(如BGP和OSPF的路由协议)。网络研究人员能够使用这项基础设施来试验对于Internet协议簇的修改和扩展。
除了支持短期试验外,PlanetLab也设计用来支持长期运行的服务,这些服务支持一个用户基础(用户群)。即,与其将PlanetLab严格地看作一个测试床,我们采取更长远的观点,其中重叠网既是一个测试床又是一个部署平台,因此支持一个应用的无缝迁移,从早期原型,通过多次设计迭代,到一项持续演进的受欢迎服务。
PlanetLab站点分布
由于PlanetLab节点遍布世界各地,一个 slice上的虚拟机也就遍布世界各地。这样用户就得到了一个由遍布世界各地的服务器组成的网络。在这个网络上,用户就可以进行全球范围的、真实环境下的网络试验。截止 2009年5月25日,PlanetLab已经拥有495个site,1038个节点,这个数字还在增加。
2004年12月27日,中国教育和科研计算机网(CERNET[15])加入PlanetLab,CERNET的加入是PlanetLab中国项目启动的开始,CERNET首先在中国20个城市的25所大学中设立50个PlanetLab节点,这使得CERNET成为亚洲第一个地区性PlanetLab研究中心。
PlanetLab的体系结构
PlanetLab由一个管理中心(PLC)和遍布全球的几百个节点(node)组成。一个节点就是一台运行着PlanetLab组件的计算机(服务器)。节点由许多独立的站点(site)管理和维护。这些站点包括大学、研究机构和Internet商业公司等。一般来说,每个站点至少提供2个节点的服务。每个节点上同时运行大量的条带虚拟机(sliver),节点的资源(包括CPU时间、内存、外存、网络带宽等等)被分配给这些虚拟机。虚拟机如同Internet上的真实主机一样,可以安装和运行程序。
由许多节点上的虚拟机条带组成的一个环境叫做切片(slice)[12]。用户在PlanetLab上的试验部署在各自拥有的切片上,也就是部署在由每个节点上的一个虚拟机组成的一个大规模网络试验环境上。由于PlanetLab节点部署在世界各地,因此切片网络上的虚拟主机也就遍布世界各地,这样用户就获得了一个由遍布世界各地的主机组成的网络试验环境。借此,用户可以进行全球范围的、真实环境下的网络试验。PlanetLab的这套设计思想被研究者称为基于切片的计算(slice-basedcomputing)。所有PlanetLab机器运行一个常规软件包,包括一个基于Linux的操作系统,启动节点和分发软件更新的机制,监控节点健康、审计系统活动并控制系统参数的管理工具集,管理用户账户和分发密钥的工具。节点的体系结构
PlanetLab的节点上会安装很多 VSERVER虚拟机,并由相关服务组件进行维护。节点由一张启动光盘引导,初次安装时硬盘会被完全清空以存放操作系统镜象及 VSERVER虚拟机。
PlanetLab介绍的更多相关文章
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
- HTML5 介绍
本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...
- ExtJS 4.2 介绍
本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...
随机推荐
- IEC_62304_CheckList
IEC 62304 Reference Software Lifecycle Process Applicable for Class A Class B Class C PRIMARY LIFECY ...
- jekyll开发静态网站
一.Ruby环境安装配置 首先下载ruby安装ruby download ,安装完ruby后,再安装rubyGems:运行gem update --system即可. 然后下载DevKit-mingw ...
- Java基础之PDF文件的合并
1.首先下载一个jar包:pdfbox-app-1.7.1.jar 2.代码如下: package com; import java.io.File; import java.io.IOExcepti ...
- C#中的特殊数据类型
一.c#中的特殊数据类型 C#中特殊数据类型有class类型.结构类型.数组类型.枚举类型.集合类型.委托类型.事件.Lambda表达式.接口类型. 1.class类型 1.1类定义 class St ...
- c# 设计模式 之:抽象工厂
1.作用:抽象工厂的目的就是生产[产品族],之前讲的“工厂模式”的每一个factory只造一种产品,抽象工厂让一个factory造多个产品. uml类图: 代码实现: 抽象工厂代码: namespac ...
- 已经不再使用的表为什么数据页还在SQLServer的内存缓存中
1. 问题发现 在学习内存调优时,使用如下代码,查询目前内存缓冲区中生产数据库的每个对象缓存页计数 SELECT count(*)AS cached_pages_count ,name ,index_ ...
- ScriptManager的使用方法 .(转)
从这一节开始我将和大家一起学习ASP.NET AJAX的服务器端控件的用法.首先,安装ASPAJAXExtSetup.msi,可以到微软官方网站上去下载.安装之后当你新建项目的时候会多出一个ASP.N ...
- iOS9 News 应用
iOS9 News 应用 iOS9 中国区虽然没有 News 应用,但最新的开发工具中是有的,以下是笔者截取的模拟器gif图,供君欣赏:
- 通过u盘启动盘重装系统
前言:一直想通过u盘启动盘给旧本装个win7,但是发现网上完整的教程很少.这里分享给大家我重装的一些步骤和遇到的问题. 前期准备: 1.我们要准备一个容量在4G以上的U盘. 2.我们要将U盘中的重要数 ...
- 对于over-posting的防御
over-posting简单的说就是指用户通过猜测等手段得知了后端数据Model的属性名称,在数据更新或添加的时候提交了本不应该允许用户更改的数据库字段,并且在服务器端因为没有进行防御而将恶意提交的数 ...