PingPong

NTP网络对时器,GPS北斗对时装置—京准电子科技

和自甴很熟 提交于 2020-04-23 09:50:24
NTP网络对时器,GPS北斗对时装置—京准电子科技 NTP网络对时器,GPS北斗对时装置—京准电子科技 NTP网络对时器,GPS北斗对时装置—京准电子科技 咨询我京准电子科技,请+官微 ahjzsz 1 、引言 作为数字通信网的基础支撑技术, 时钟同步技术 的发展演进始终受到通信网技术发展的驱动。在网络方面,通信网从模拟发展到数字,从TDM网络为主发展到以分组网络为主;在业务方面,从以TDM话音业务为主发展到以分组业务为主的多业务模式,从固定话音业务为主发展到以固定和移动话音业务并重,从窄带业务发展到宽带业务等等。在与同步网相关性非常紧密的传输技术方面,从同轴传输发展到PDH,SDH,WDM和DWDM,以及最新的OTN和PTN技术。随着通信新业务和新技术的不断发展,其同步要求越来越高,包括钟源、锁相环等基本时钟技术经历了多次更新换代,同步技术也在不断地推陈出新,时间同步技术更是当前业界关注的焦点。 2 、时钟技术发展历程 时钟同步涉及的最基本技术包括钟源技术和锁相环技术,随着应用需求的不断提高,技术、工艺的不断改进,钟源技术和锁相环技术也得到了快速的演进和发展。 (1) 钟源技术 时钟振荡器是所有数字通信设备的基本部件,按照应用时间的先后,钟源技术可分为普通晶体钟、具有恒温槽的高稳晶振、原子钟、芯片级原子钟。 一般晶体振荡器精度在nE-5~nE-7之间,由于具有价格便宜、尺寸小

WebGPU学习(十):介绍“GPU实现粒子效果”

[亡魂溺海] 提交于 2020-04-18 10:06:22
大家好,本文介绍了“GPU实现粒子效果”的基本思想,并推荐了相应的学习资料。 本文学习webgpu-samplers-> computeBoids示例 ,它展示了如何用compute shader实现粒子效果,模拟鸟群的行为。 上一篇博文: WebGPU学习(九):学习“fractalCube”示例 下一篇博文: WebGPU学习(十一):学习两个优化:“reuse render command buffer”和“dynamic uniform buffer offset” 最终渲染结果: 为什么不在CPU端实现粒子效果? 虽然在CPU端实现会更灵活和可控,但如果粒子数量很大(如上百万),且与场景有交互,则最好在GPU端实现。 示例的实现思想 首先执行compute pass 代码如下: const numParticles = 1500; ... let t = 0; return function frame() { ... const commandEncoder = device.createCommandEncoder({}); { const passEncoder = commandEncoder.beginComputePass(); passEncoder.setPipeline(computePipeline); passEncoder.setBindGroup

计算机网络--网络层3

痴心易碎 提交于 2020-04-13 21:53:23
【今日推荐】:为什么一到面试就懵逼!>>> 路由算法 路由算法分类 静态路由: 手工配置 路由更新慢 优先级高 动态路由: 路由更新快 定期更新 及时响应链路费用或网络拓扑变化 全局信息: 所有路由器掌握完整的网络拓扑和链路费用信息 E.g. 链路状态(LS) 路由算法 分散(decentralized)信息: 路由器只掌握物理相连的邻居以及链路费用 邻居间信息交换、运算的迭代过程 E.g. 距离向量(DV) 路由算法 链路状态路由算法 Dijkstra 算法 所有结点(路由器)掌握网络拓扑和链路费用 通过“链路状态广播” 所有结点拥有相同信息 计算从一个结点(“源”)到达所有其他结点的最短路径 获得该结点的转发表 迭代: k次迭代后,得到到达k个目的结点的最短路径 符号: c(x,y): 结点x到结点y链路费用;如果x和y不直接相连,则=∞ D(v): 从源到目的v的当前路径费用值 p(v): 沿从源到v的当前路径,v的前序结点 N’: 已经找到最小费用路径的结点集合 Dijkstra 算法:讨论 算法复杂性: n个结点 每次迭代: 需要检测所有不在集合N’中的结点w n(n+1)/2次比较: O(n 2 ) 更高效的实现: O(nlogn) 存在震荡(oscillations)可能: e.g., 假设链路费用是该链路承载的通信量: 距离向量路由算法 重点 :结点获得最短路径的

我们来说一说TCP神奇的40ms

被刻印的时光 ゝ 提交于 2019-12-05 13:15:28
本文由云+社区发表 TCP是一个复杂的协议,每个机制在带来优势的同时也会引入其他的问题。 Nagel算法和delay ack机制是减少发送端和接收端包量的两个机制, 可以有效减少网络包量,避免拥塞。但是,在特定场景下, Nagel算法要求网络中只有一个未确认的包, 而delay ack机制需要等待更多的数据包, 再发送ACK回包, 导致发送和接收端等待对方发送数据, 造成死锁, 只有当delay ack超时后才能解开死锁,进而导致应用侧对外的延时高。 其他文字已经介绍了相关的机制, 已经有一些文章介绍这种时延的场景。本文结合具体的tcpdump包,分析触发delay ack的场景,相关的内核参数, 以及规避的方案。 背景 给redis加了一个proxy层, 压测的时候发现, 对写入命令,数据长度大于2k后, 性能下降非常明显, 只有直连redis-server的1/10. 而get请求影响并不是那么明显。 分析 观察系统的负载和网络包量情况, 都比较低, 网络包量也比较小, proxy内部的耗时也比较短。 无赖只能祭出tcpdump神奇, 果然有妖邪。 22号tcp请求包, 42ms后服务端才返回了ack。 初步怀疑是网络层的延时导致了耗时增加。Google和km上找资料, 大概的解释是这样: 由于客户端打开了Nagel算法, 服务端未关闭延迟ack, 会导致延迟ack超时后

laravel5.2基础多模块开发(pingpong/modules)

巧了我就是萌 提交于 2019-12-04 16:22:48
1.下载laravel5.2 http://laravelacademy.org/resources-download 2.解压下载好的安装包,且重命名,此处我命名为:mini_shop 3.编辑composer.json文件,新增下面一行代码:"pingpong/modules": "~2.1" 4.打开命令行窗口,切换到mini_shop目录下,运行composer update名称(前提:已经安装composer) 5.运行安装完毕后,配置config/app.php,在providers下新增如下: 'providers' => [ Pingpong\Modules\ModulesServiceProvider::class, ] 在aliases下新增如下: 'aliases' => [ 'Module' => Pingpong\Modules\Facades\Module::class, ] 6.发布包的配置文件,在命令行下运行:php artisan vendor:publish 到此laravel模块开发配置完毕! 模块的使用详见官方文档:https://packalyst.com/packages/package/pingpong/modules 来源: oschina 链接: https://my.oschina.net/u/3223370/blog