网络模型

操作系统-网络IO模型

荒凉一梦 提交于 2019-12-27 04:01:28
操作系统-网络IO模型 用户空间及内核空间 Linux 网络 IO 模型 阻塞IO(Blocking IO) 非阻塞IO(Non-Blocking IO) IO复用(IO Multiplexing) 信号驱动的IO(Singal Driven IO) 异步IO 5中IO模型的对比 参考文档 用户空间及内核空间 我们知道现代操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接访问内核,保证内核的安全,操作系统将虚拟存储空间划分为两部分——一部分为内核空间,一部分为用户空间。针对Linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF)供内核使用,称为内核空间;而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF)供各个进程使用,称为用户空间。每个进程可以通过系统调用进入内核,因此,Linux内核由系统内的所有进程共享。于是从具体进程的角度来看,每个进程可以拥有4G字节的虚拟空间。 寻址空间是用来干嘛的?和内存空间有何差别? Linux寻址空间分配如下图所示: 有了用户空间和内核空间,整个Linux内部结构可以分为三部分,从最底层到最上层依次是:硬件–

Convolution with even-sized kernels and symmetric padding论文解读笔记

一个人想着一个人 提交于 2019-12-27 02:11:10
文章目录 导读 摘要 引言 相关工作 对称填充 实验 讨论 总结 导读 我们都习惯使用3*3的卷积核,这篇文章介绍了 偶数卷积核 其实表现更强 。 首先附上文章地址: Convolution with even-sized kernels and symmetric padding 【PDF】 摘要 紧凑型卷积神经网络主要通过深度卷积,扩展的通道和复杂的拓扑来提高效率,这反过来又加剧了训练过程。 此外,在这些模型中, 3×3内核占主导地位 ,而偶数大小的内核(2×2、4×4)很少被采用。 在这项工作中,我们通过信息侵蚀假设来量化偶数大小的核卷积中发生的偏移问题,并通过在特征图的四个侧面(C2sp,C4sp)提出对称填充来消除它。 对称填充以很少的计算成本释放了偶数大小的内核的泛化能力,使其在图像分类和生成任务方面优于3×3内核。此外,C2sp获得了与新兴紧凑型模型相当的精度,而训练期间的内存和时间消耗却少得多。 对称填充和偶数卷积可以很好地实现到现有框架中,为体系结构设计提供有效的元素,尤其是在强调训练工作的在线和持续学习场合。 引言 深度卷积神经网络(CNN)在许多计算机视觉任务中都取得了重大成功,例如图像分类[37],语义分割[43],图像生成[8]和游戏[29]。 除了特定领域的应用程序之外,还设计了各种体系结构来提高CNN的性能[3,12,15]

Google's BBR拥塞控制算法模型解析

浪子不回头ぞ 提交于 2019-12-27 01:02:00
0.模型 模型是最根本的! 我非常讨厌把所有的东西杂糅在一起,我比较喜欢各个击破,所以说,我最喜欢正交基!我希望把待观测的东西分解成毫无耦合的N个方面,然后各自研究其特性。这个思路我曾经无数次提出,但是几乎没人会听,因为一旦分解,你将看不到目标,看不到结果,拆了的东西并不定能再装起来...令人欣慰的是,TCP的BBR算法思路也是这样,不幸的是,TCP领域的顶级专家并没有N维拆解,人家只是拆解了2个维度。 带宽和RTT BandWidth & RTT 我很惊奇Yuchung Cheng(郑又中)和Neal Cardwell是怎么发现这个正交基的,为什么之前30年都没有人发现这个,最为惊奇的是,他们竟然对了!他们的模型基于下图展开: 这张图几乎完全描述了网络的行为!这就是网络传输的本质模型!之所以之前的Reno到CUBIC都是错的,是因为它们没有使用这个模型,我先来解释一下这个模型,然后再看看将Reno/CUBIC套在这个模型上之后,是多么的荒唐。 值得注意的是,这个模型是Kleinrock & Gale早在1981年就提出来的,然而直到现在才被证明是有效的。之前的年月里,人们面临着实现问题(同时测量问题,后面会讲)。因此我把这个模型最终的实现者作为模型的主语,即Yuchung Cheng和Neal Cardwell们的模型,这并不是说他们是模型的发明者。就类似牛顿的定律一样

【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)

雨燕双飞 提交于 2019-12-26 12:03:12
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建。用深度学习做文字识别,用的网络当然是CNN,那具体使用哪个经典网络?VGG?RESNET?还是其他?我想了下,越深的网络训练得到的模型应该会更好,但是想到训练的难度以及以后线上部署时预测的速度,我觉得首先建立一个比较浅的网络(基于LeNet的改进)做基本的文字识别,然后再根据项目需求,再尝试其他的网络结构。这次任务所使用的深度学习框架是强大的Tensorflow。 网络搭建 第一步当然是搭建网络和计算图 其实文字识别就是一个多分类任务,比如这个3755文字识别就是3755个类别的分类任务。我们定义的网络非常简单,基本就是LeNet的改进版,值得注意的是我们加入了batch normalization。另外我们的损失函数选择sparse_softmax_cross_entropy_with_logits,优化器选择了Adam,学习率设为0.1 #network: conv2d->max_pool2d->conv2d->max_pool2d->conv2d->max_pool2d->conv2d->conv2d->max_pool2d->fully_connected->fully_connected def build

漫谈OSI七层网络模型

廉价感情. 提交于 2019-12-24 16:51:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 学习网络总是绕不开“OSI七层网络模型”,说它" 通过分层的方式将复杂的网络通信简化,不同的网络节点,每一层只跟自己相同的层的通信,无需关心底层通信细节 "。大概是这么个意思吧,但是自己完全无法理解:分了这么多层看起来明明是复杂化了,怎么就说简化了呢?还说每层只跟自己相同的层通信,这怎么理解呢?你的数据明明是从上层到下层封包,然后在下层物理层和对方连接上,再从下到上解包,看不到“每层只跟自己相同的层通信”的意思啊? 就是这张图,如何理解水平方向用虚线表示的“层间通信”呢?还有就是分了这么多层为什么说是将通信工作简化了呢? 现在觉得,用写信这件事做比喻就能很好的理解上述两个问题了。首先是水平的"层间通信",比如我想给外省的朋友写信,那么对我而言在主观感觉上,这就是我和朋友的沟通,就是我们两个人之间的事,这就是上图中水平虚线表示的所谓“层间通信”。但是,实际这次沟通是不是只是我和朋友间的事呢?当然不是,我们两个人根本无法直接通信,实际在客观世界上跟我直接接触的是本地邮局的邮筒,我把写好的信装入信封写好地址塞入邮筒里,然后等待回信。为了实现我和外省朋友间的通信,在我和朋友之间其实有很多人参与其中,他们从各有分工,把邮件从邮箱中取出来,然后分类汇总、逐级分发等

Image Super-Resolution Using Deep Convolutional Networks 论文总结

喜夏-厌秋 提交于 2019-12-24 01:16:28
Image Super-Resolution Using Deep Convolutional Networks 论文总结 提示: 文中【】中的内容表示我没读懂的内容或不知道怎么翻译的内容 若文中有错误或知道【】中内容的正确含义,希望能在评论区中指出 Abstract 摘要讲了讲论文写了些啥: 作者提出了一种针对单图像超分辨的深度学习方法,即SRCNN。该方法直接学习低/高分辨率图像之间的端到端映射。映射是用一个低分辨率图像为输入,高分辨率图像为输出的深度卷积神经网络来表示的。 证明了传统基于稀疏编码的SR方法也可以看作是一个深度卷积网络。 传统方法是分别处理每个组件,而SRCNN联合优化所有层。 SRCNN具有轻量级的结构,同时有最先进的恢复质量,并且实现了快速的实际在线使用。 作者探索了不同的网络结构和参数设置,以实现性能和速度之间的权衡。 SRCNN可以同时处理三个颜色通道,表现出更好的整体重建质量。 Introduction 超分辨率问题本质是不适定的( inherently ill-posed)或者说超分辨率是个欠定逆问题( underdetermined inverse problem)。意思就是超分辨率是个解不是唯一的问题,因为对于任何给定的低分辨率像素都存在多重解。对于这个问题通常用强先验信息约束解空间来缓解,为了学习强先验信息,现在最先进的方法大多基于例子的策略

图解TCPIP-OSI7层网络模型

假装没事ソ 提交于 2019-12-23 02:13:35
OSI(Open System Interconnect) 应用层: HTTP 表示层: 转换应用处理信息和网络传输信息. 网络传入对比特流解释不同,所以一般使用base64转码 会话层: 建立和断开通信连接 socket的listen(),accept(),connect() 传输层: TCP/UDP协议 网络层: IP地址协议 数据链路层: 将0/1序列划分为有意义的数据帧,传送 物理层 1.计算机以二进制0/1表示信息 2.传输媒介用电压的高低/光闪灭/电波的强弱表示 3.物理层就是将二者进行转换 参考: <图解TCP IP> 来源: CSDN 作者: Claroja 链接: https://blog.csdn.net/claroja/article/details/103508488

Memcached学习(一)--网络模型

眉间皱痕 提交于 2019-12-21 07:12:00
1、Memcached的网络模型   Memcached的网络模型是基于Libevent网络库开发的,同时Memcached采用多线程的工作方式,工作线程和主线程之间采用pipe进行通信。Memcached的网络线程模型主要涉及两个主要文件: memcached.c 和 thread.c 文件。 Memcached的网络模型流程大致如下: 1、memcached会在main函数中创建主线程的event_base,将监听端口的socket注册到主线程的event_base,由主线程来监听和接受客户端连接。 2、main函数创建主线程的同时,也会创建N个工作线程,每个工作线程都拥有各自的event_base 和LIBEVENT_THREAD数据结构来存储线程的信息(线程基本信息、线程队列、pipe文件描述符)。工作线程会将pipe管道的接收端 fd 注册到自己的event_base。 3、当有新连接建立时,主线程会通过accept 函数来与客户端建立新连接,同时将新连接相关的信息填入CQ_ITEM结构并放入工作线程的conn_queue队列,同时向选定的工作线程的管道写入字符,以此触发工作线程的libevent事件。 4、主线程是通过求余数的方式来选择线程池中的一个工作线程,工作线程得到通知后,会从conn_queue队列中取出CQ_ITEM

Python Day30:网络编程/OSI模型

核能气质少年 提交于 2019-12-21 05:12:34
## 网络编程 ```python 网络编程就是编写基于网络的应用程序 CS结构: 客户端应用程序client(访问数据端) 服务端应用程序:server(提供共享数据端) 学习网络编程,目的就是编写基于C/S结构的应用程序 网络通讯的两个条件: 1,物理传输介质:双绞线/光纤/同轴线/无线电波 2,通讯协议 通讯协议:发送方和接受方共同遵守的一套规则,为了能正确解析数据 OSI七层模型:计算机界的通用语言 物理层———数据链路层———网络层————传输层————会话层————表示层————应用层 会话层、表示层、应用层,都是属于应用程序层的。 物理层:各种物理介质 ``` ## OSI模型之数据链路层 ```python 数据链路层:规定了代表0和1的电信号的分组方式以及一组电信号应该包含哪些内容。以太网协议工作在链路层! 一组电信号构成一个数据包,帧! 每一帧分成报头head0和数据data两部分 head包含(18个字节): 发送源地址Mac:6个字节 接受源地址Mac:6个字节 数据类型(标签+以太类型)6个字节 data包含:46——1500个字节 head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送 ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址 mac地址

python之网络编程之OSI七层模型与tcp/udp三次握手四次挥手

依然范特西╮ 提交于 2019-12-20 07:36:27
1.客户端/服务端架构 1.硬件c/s架构 2.软件c/s架构 (b/s) 互联网中处处是c/s架构 客户端client《-----基于网络通信------》 server服务器 浏览器客户端 browser《---基于网络通信-----》server 浏览器是客户端(B/S架构也是C/S架构的一种) server端必须满足的条件: 1.稳定运行(网络、硬件、操作系统、服务端应用软件),对外提供服务 (运维负责网络、硬件、操作系统 软件出现bug可以先甩锅给运维) 2.服务端必须绑定一个固定的地址 2.什么是互联网 两大要素 1.底层的物理连接介质,是为了通信铺好道路 2.一套统一的通信标准-----互联网通信协议 如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的internet实际上就是一系列统一的标准, 这些标准称之为互联网协议。 互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite) 互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。 3.osi七层模型 tcp/ip五层模型讲解 1.物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 2.数据链路层: 数据链路层由来 :单纯的电信号0和1没有任何意义,必须规定电信号多少位一组