goyas

2019年12月21日

GTC 2019参会整理

摘要:NVIDIA GTC 2019在苏州金湖国际会议中心举行,由于同事有其他会议冲突,所以我代替他来参加了此次会议。作为刚接触GPU和机器学习不久的新人来说,感觉进入了一个新世界,深刻体验到技术的革新迭代之快,英伟达通过对GPU的全栈优化,实现摩尔定理的加速。 2019年12月16日~2019年12月1 阅读全文

posted @ 2019-12-21 20:36 goyas 阅读 (168) 评论 (0) 编辑

2019年12月1日

enable_shared_from_this用法分析

摘要:一、背景 在 "为什么需要异步编程" 文章末尾提到,"为了使socket和缓冲区(read或write)在整个异步操作的生命周期一直保持活动,我们需要采取特殊的保护措施。你的连接类需要继承自enabled_shared_from_this,然后在内部保存它需要的缓冲区,而且每次异步调用都要传递一个智 阅读全文

posted @ 2019-12-01 19:17 goyas 阅读 (85) 评论 (0) 编辑

2019年11月30日

为什么需要异步编程

摘要:一、背景 在 "Reactor和Proactor模型" 一文中讲到,Reactor模型提供了一个比较理想的I/O编程框架,让程序更有结构,用户使用起来更加方便,比裸API调用开发效率要高。另外一方面,如果希望每个事件通知之后,做的事情能有机会被代理到某个线程里面去单独运行,而线程完成的状态又能通知回 阅读全文

posted @ 2019-11-30 17:13 goyas 阅读 (272) 评论 (0) 编辑

Reactor和Proactor模型

摘要:一、背景 前面介绍了I/O多路复用模型,那有了I/O复用,有了epoll已经可以使服务器并发几十万连接的同时,还能维持比较高的TPS,难道还不够吗?比如现在在使用epoll的时候一般都是起个任务,不断的去巡检事件,然后通知处理,而比较理想的方式是最好能以一种回调的机制,提供一个编程框架,让程序更有结 阅读全文

posted @ 2019-11-30 10:28 goyas 阅读 (165) 评论 (1) 编辑

2019年11月25日

epoll介绍及使用

摘要:小程序功能:简单的父子进程之间的通讯,子进程负责每隔1s不断发送"message"给父进程,不需要跑多个应用实例,不需要用户输入。 首先上代码 #include<assert.h> #include<signal.h> #include<stdio.h> #include<sys/epoll.h> 阅读全文

posted @ 2019-11-25 09:36 goyas 阅读 (36) 评论 (0) 编辑

2019年11月24日

I/O多路复用模型

摘要:背景 在文章《unix网络编程》(12)五种I/O模型中提到了五种I/O模型,其中前四种:阻塞模型、非阻塞模型、信号驱动模型、I/O复用模型都是同步模型;还有一种是异步模型。 想写一个系列的文章,介绍从I/O多路复用到异步编程和RPC框架,整个演进过程,这一系列可能包括: I/O多路复用模型 epo 阅读全文

posted @ 2019-11-24 17:44 goyas 阅读 (189) 评论 (0) 编辑

2019年11月4日

深度学习分布式模型

摘要:背景 随着各大企业和研究机构在PyTorch、TensorFlow、Keras、MXNet等深度学习框架上面训练模型越来越多,项目的数据和计算能力需求急剧增加。在大部分的情况下,模型是可以在单个或多个GPU平台的服务器上运行的,但随着数据集的增加和训练时间的增长,有些训练需要耗费数天甚至数周的时间, 阅读全文

posted @ 2019-11-04 09:12 goyas 阅读 (362) 评论 (0) 编辑

2019年10月12日

一个极简的分布式文件系统

摘要:前言 开源的分布式存储系统比较多,比较有名的有:Ceph、GlusterFS、HDFS、TFS等。这些系统都比较复杂,代码动则几十上百万行,这些系统对初学者来说门槛比较高,特别是对于从事非分布式存储行业,但又想跨行学习分布式的同学来说,往往有这想法,但是不知道怎么入手。本文介绍之前实现的一个C++极 阅读全文

posted @ 2019-10-12 11:08 goyas 阅读 (409) 评论 (0) 编辑

一个基于protobuf的极简RPC

摘要:前言 RPC采用客户机/服务器模式实现两个进程之间的相互通信,socket是RPC经常采用的通信手段之一。当然,除了socket,RPC还有其他的通信方法:RDMA、http、管道…… 网络开源的RPC框架也比较多,一个功能比较完善的RPC框架代码比较多,如何快速的从这些代码盲海中梳理清楚主要脉络, 阅读全文

posted @ 2019-10-12 10:39 goyas 阅读 (536) 评论 (0) 编辑

导航

统计