会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
星見遥
博客园
首页
新随笔
联系
订阅
管理
2021年2月27日
GFS简介
摘要: GFS是Google在2003年提出的一个分布式文件存储系统,是Google三剑客之一。GFS主要适用于大文件的顺序读取以及追加写。 GFS由一个master和多个chunck server构成。master负责维护文件和块命名空间、文件到块的映射和每个块副本的位置,以及对块租约、chunck se
阅读全文
posted @ 2021-02-27 11:40 星見遥
阅读(1642)
评论(0)
推荐(0)
2021年2月25日
无锁编程—RCU
摘要: 当我们对链表等数据结构进行并发读写时,通常会通过读写锁进行保护。但是,每一次对读写锁的操作都必须直接在内存中进行,不能够使用cache,这也就导致了读写锁的效率其实是比较低的。即使是在没有写者的情况下,每一次上读锁仍然需要访问内存。更严重的是如果多个CPU同时执行到CAS指令,每一次CAS指令的执行
阅读全文
posted @ 2021-02-25 10:07 星見遥
阅读(1428)
评论(0)
推荐(1)
2021年2月21日
MapReduce原理及简单实现
摘要: MapReduce是Google在2004年发表的论文《MapReduce: Simplified Data Processing on Large Clusters》中提出的一个用于分布式的用于大规模数据处理的编程模型。 原理 MapReduce将数据的处理分成了两个步骤,Map和Reduce。M
阅读全文
posted @ 2021-02-21 20:32 星見遥
阅读(1391)
评论(0)
推荐(0)
2021年2月18日
Protobuf入门
摘要: 在Kafka中,发送的消息是字节数组,因此就需要一个方法来将消息对象序列化为字节数组,在消费者端再反序列化为对象。最常用的序列化格式就是JSON了。虽然JSON对人类非常友好,但是对于机器来说,更容易进行序列化和反序列化的格式还是二进制的格式。 Protobuf(Protocol buffers)是
阅读全文
posted @ 2021-02-18 17:58 星見遥
阅读(936)
评论(0)
推荐(0)
2021年2月17日
Kafka学习(1)入门
摘要: 消息引擎(消息队列)是后端最常用的中间件,其主要功能有解耦、异步、削峰。而Kafka是Apache开发的最常用的消息引擎之一。 安装 直接到Kafka的官网下载二进制包然后解压就行了,Kafka需要Java的运行环境。首先启动Zookeeper作为Kafka的服务协调工具,之后启动Kafka就行了。
阅读全文
posted @ 2021-02-17 16:53 星見遥
阅读(305)
评论(0)
推荐(0)
CS144学习(4)IP路由
摘要: 最后一个实验是要实现一个IP路由表,只需要实现添加路由表项和前缀匹配两个部分,不涉及路由协议。这个实验就很简单了,就20行代码就差不多了。 实验的关键在于如何存储路由表,最简单当然也是最慢的方法就是直接保存在一个数组中,然后一个个匹配过去,时间复杂度为O(n)。 一种方法是通过哈希表来进行改进,但哈
阅读全文
posted @ 2021-02-17 09:23 星見遥
阅读(613)
评论(0)
推荐(0)
2021年2月16日
CS144学习(3)ARP协议
摘要: 第五个实验主要的内容是ARP地址解析协议。ARP协议位于IP层的底部,用于将下一跳的IP地址转换成MAC地址传给数据链路层。在主机中一般会有一个ARP缓存表,用于缓存最近的IP和MAC地址对应信息。ARP数据包是封装在以太网帧当中发送。 ARP请求的源IP地址和源MAC地址设置为本机的IP和MAC地
阅读全文
posted @ 2021-02-16 16:42 星見遥
阅读(636)
评论(0)
推荐(0)
CS144学习(2)TCP协议实现
摘要: Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了。之后经过包装就可以进行TCP的接收和发送了。 代码全部在github上了。 Lab1 流重组器 这一个实验是要实现一个流重组器,传入数据的片段以及起始位置,之后对其进行
阅读全文
posted @ 2021-02-16 11:12 星見遥
阅读(2491)
评论(1)
推荐(0)
2021年2月11日
CS144学习(1)Lab 0: networking warmup
摘要: CS144的实验就是要实现一个用户态TCP协议,对于提升C++的水平以及更加深入学习计算机网络还是有很大帮助的。 第一个Lab是环境配置和热身,环境按照文档里的配置就行了,前面两个小实验就是按照步骤来的,就不细讲了。 Writing webget 这一个实验是要用他封装好的socket库写一个简单的
阅读全文
posted @ 2021-02-11 12:20 星見遥
阅读(2693)
评论(0)
推荐(0)
2021年2月10日
XV6学习(16)Lab net: Network stack
摘要: 最后一个实验了,代码在Github上。 这一个实验其实挺简单的,就是要实现网卡的e1000_transmit和e1000_recv函数。不过看以前的实验好像还要实现上层socket相关的代码,今年就只有网卡驱动了。 虽然实验文档里面给了一本400多页的网卡文档,但其实也不需要怎么读这本厚厚的文档,实
阅读全文
posted @ 2021-02-10 18:50 星見遥
阅读(3131)
评论(0)
推荐(1)
下一页
公告