拓扑

Numa解释

心已入冬 提交于 2019-11-30 02:20:23
原路径:http://www.sohu.com/a/126402403_609500 内容概要 今天的文章我们将简单学习下Hyper-V如何通过NUMA(Non-Uniform Memory Access)来对虚机内存访问进行加速。 SMP和NUMA 1 根据 CPU 访问内存中地址所需时间和距离我们可以将CPU和内存结构分为SMP(SMP,Symmetric Multi-Processor,也称之为一致内存访问UMA)、NUMA和MPP(Massive Parallel Processing)三种结构。,NUMA具有更加好的扩展性。NUMA将CPU和相近的内存配对组成节点,在每个NUMA节点里,CPU都有本地内存,访问距离短,性能好。NUMA比SMP具有更好的扩展性,SMP使用共享内存控制器,所有的CPU使用共享内存总线访问内存,如图1所示。在CPU不多的时候,,也可能发生CPU之间相互“争夺”对共享内存总线的访问。,如图2所示。在服务器CPU日益增多和虚拟化普及的时代,NUMA更能适应高密度虚拟化环境的要求。 图1 图2 虚拟机NUMA拓扑映射 2 那么虚机是否能用到NUMA的特性呢?从Windows Server 2012开始,Hyper-V虚机可以映射虚拟的NUMA拓扑,在虚机配置了较多内存的时候,使用NUMA拓扑映射能保证分配给虚机的CPU只访问本地的内存

拓扑排序学习笔记

Deadly 提交于 2019-11-30 01:40:29
拓扑排序 1.拓扑排序只对于 有向无环图 而言 (Directed Acyclic Graph简称DAG) 2.在一个有向无环图中,若a–>b–>c,则拓扑序列为 (a,b,c);也就是说如果一条边a—>b,那么在拓扑序列里a就在b前面; 知道了这两点,那么就可以来求拓扑序列了; 首先,我们知道在DAG中一定存在一个入度为0的点,那么这个点就是我们的起始点;根据这个点我们就可以通过bfs往后找,每找到一个相连点,就把这一条边删去,怎么删呢? 比如我们从a点开始,发现a与b相连,我们就要把a–>b这条边删去,就是b的入度减一,当发现一个点的入度为0时,就把这个点入队,并且用容器存下这个点;所得的容器里面的序列就是拓扑序列; 代码实现十分简单; 模板题: 给定一个n个点m条边的有向图,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。 若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。 输入格式 第一行包含两个整数n和m 接下来m行,每行包含两个整数x和y,表示存在一条从点x到点y的有向边(x, y)。 输出格式 共一行,如果存在拓扑序列,则输出拓扑序列。否则输出-1。 代码: # include <bits/stdc++.h> # define LL long long #

基于HTML5的WebGL设计汉诺塔3D游戏

你说的曾经没有我的故事 提交于 2019-11-29 17:12:26
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏。 http://hightopo.com/demo/hanoi_20151106/index.html 汉诺塔的游戏规则及递归算法分析请参考 http://en.wikipedia.org/wiki/Tower_of_Hanoi 。 知道了汉诺塔的规则和算法,现在就开始创建元素。用HT for Web( http://www.hightopo.com )现有的3D模板创建底盘和3根柱子不是问题,问题是要创建若干个中空的圆盘。一开始的想法是:创建一个圆柱体,将圆柱体的上下两端隐藏,设置柱面的宽度来实现圆盘的效果,经过多次尝试并查阅相关api文档,发现柱面是没有厚度的,改方法不可行。 后来在HT for Web自定义3D模型的WebGL应用( http://www.hightopo.com/blog/381.html )受到启发,圆盘的形成就是在xy平面上的一个矩形,根据y轴旋转一周产生的,通过查阅相关文档,最总决定采用ht.Default.createRingModel方法来创建圆盘模型,然后在创建node的时候通过shape3d属性引用创建好的模型。 在逻辑实现上,采用了栈的先进后出的原理,对圆柱上的圆盘做顺序控制,确保每次移动的圆盘都是最小的圆盘。 在算法上,采用的是递归算法

HT for Web 3D游戏设计设计--汉诺塔(Towers of Hanoi)

蹲街弑〆低调 提交于 2019-11-29 17:11:54
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏。 汉诺塔的游戏规则及递归算法分析请参考 http://en.wikipedia.org/wiki/Tower_of_Hanoi 。 知道了汉诺塔的规则和算法,现在就开始创建元素。用HT for Web( http://www.hightopo.com )现有的3D模板创建底盘和3根柱子不是问题,问题是要创建若干个中空的圆盘。一开始的想法是:创建一个圆柱体,将圆柱体的上下两端隐藏,设置柱面的宽度来实现圆盘的效果,经过多次尝试并查阅相关api文档,发现柱面是没有厚度的,改方法不可行。 后来在HT for Web自定义3D模型的WebGL应用( http://www.hightopo.com/blog/381.html )受到启发,圆盘的形成就是在xy平面上的一个矩形,根据y轴旋转一周产生的,通过查阅相关文档,最总决定采用ht.Default.createRingModel方法来创建圆盘模型,然后在创建node的时候通过shape3d属性引用创建好的模型。 在逻辑实现上,采用了栈的先进后出的原理,对圆柱上的圆盘做顺序控制,确保每次移动的圆盘都是最小的圆盘。 在算法上,采用的是递归算法,通过递归算法,将搬迁过程一步一步记录下来,再采用堆的原理一步一步地执行搬迁过工作。 http://v

acwing 848 有向图的拓扑序列

老子叫甜甜 提交于 2019-11-28 18:07:31
地址 https://www.acwing.com/problem/content/description/850/ 题目描述 给定一个n个点m条边的有向图,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。 若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。 输入格式 第一行包含两个整数n和m 接下来m行,每行包含两个整数x和y,表示点x和点y之间存在一条有向边(x, y)。 输出格式 共一行,如果存在拓扑序列,则输出拓扑序列。 否则输出-1。 数据范围 1≤n,m≤105 样例 输入样例: 3 3 1 2 2 3 1 3 输出样例: 1 2 3 算法1 拓扑排序流程为BFS 流程如下 1 首先找到第一个入度为0 的点 放入待处理队列,记录答案拓扑数组中 拓扑的必要条件 2 然后从该点连接的各个点 做以下操作: 2.1 删除该边后,查看从该点连接的的点的入度 2.2 如果入度为0 那么该点放入待处理队列,记录答案拓扑数组中, 再次进行BFS 直到待处理队列为空 C++ 代码 #include <iostream> #include <iostream> #include <vector> #include <queue> using namespace std; int

WebGL 3D on iOS8 正式版

痴心易碎 提交于 2019-11-28 17:18:38
今天iOS8终于正式发布了,升级了手头设备后对我来说最重要的就是测试WebGL的3D是否真的能跑苹果的系统了,跑了多个 HT for Web 的3D例子都非常流畅,比Android刚支持WebGL时好太多了,基本还没发现什么问题,苹果做事还是值得肯定,要嘛不做,要做就做真正能用的WebGL。 以下是跑 HT for Web 的3D网络空间拓扑图在iphone5上的截图和 视频操作 效果,自然不如PC上流畅,但iOS8第一步就能让WebGL达到这样的效果和性能我已经很知足了,感谢苹果! http://v.youku.com/v_show/id_XNzg1MzIzNDY0.html 来源: oschina 链接: https://my.oschina.net/u/1423144/blog/315558

计算机网络概述

一曲冷凌霜 提交于 2019-11-28 05:44:16
计算机网络概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 ![](https://img2018.cnblogs.com/blog/1237308/201908/1237308-20190822160655061-1548852226.png) 💡 指南 学习之前,先看一下入门三问: 一、什么是计算机网络? 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 ——摘自百度百科 二、为什么学习计算机网络? 计算机网络是计算机科学的基础课程,也是计算机专业考研必考科目,可见其重要性。作为一名程序员,了解计算机网络,对于 Web 领域,通信领域的开发有莫大的帮助。 在浏览器中访问网页的原理是什么?Wifi 是如何工作的?防火墙是如何保障网络安全的?什么是安全证书?Cookie 和 Session 是什么东西?。。。 如果你接触过这些技术,如果你想了解这些技术的原理,那么你就有必要学习一下计算机网络了。 三、如何学习计算机网络? 本人有 2 年通信领域开发经验,从事通信设备上的协议开发。就我个人的学习经验来看

拓扑排序

懵懂的女人 提交于 2019-11-27 22:02:46
有向无环图 如果一个有向图的任意顶点之间都无法通过一些有向边回到自身,那么称这个有向图为有向无环图(Directed Acyclic Graph,DAG). 拓扑排序 拓扑排序是将有向无环图G的所有顶点排成一个线性序列,使得对图G中的任意两个顶点u,v,如果存在边u->v,那么在序列中u一定在v前面,这个序列又被称为拓扑序列。 求解拓扑序列的方法 步骤如下: 一、定义一个队列Q,并把所有入度为0的结点加入序列。 二、取队首结点,输出。然后删除所有从它出发的边,并令这些边到达的顶点的入度减1,如果某个顶点的入度减为0,则将其加入队列。 三、反复进行步骤二,直到队列为空,如果队列为空时入过队的结点数目恰好为N,说明拓扑排序成功,图G为有向无环图,否则,拓扑排序失败,图G中有环。 可使用邻接表来实现拓扑排序。显然,由于需要记录结点的入度,因此需要额外建立一个数组inDegree[MAXV],并在程序一开始读入图时就记录好每个结点的入度。接下来就只需要按上面的步骤进行实现即可。 拓扑排序的代码如下: #include<bits/stdc++.h> using namespace std; vector<int>G[MAXV];//邻接表 int n,m,inDegree[MAXV];//顶点数,入度 //拓扑排序 bool topologicalSort(){ int num=0;/

SDN第四次上机作业

对着背影说爱祢 提交于 2019-11-27 11:56:31
0.作业链接 http://www.cnblogs.com/easteast/p/8073301.html 1.实验步骤 1.建立以下拓扑,并连接上ODL控制器。 使用mininet创建拓扑 使用命令行开启ODL控制器 查看拓扑 2.利用ODL下发流表,使得h3在10s内ping不通h1,10s后恢复。 配置信息 验证性连通性截图 3.借助Postman通过ODL的北向接口下发流表,再利用ODL北向接口查看已下发的流表。 来源: http://www.cnblogs.com/liu424/p/8098794.html