- 博客(66)
- 收藏
- 关注
原创 Go|Channel 底层实现和运行调度逻辑
CSP(Communicating Sequential Process)通信顺序进程,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。Golang 其实只用到了 CSP 的很小一部分,即理论中的 Process/Channel(对应到语言中的 goroutine/channel)
2023-03-27 17:03:54
1441
1
原创 Go|Golang 调度器设计思想、GMP 协程调度模型详解
Golang 协程的 GMP 调度模型,是 Golang 能实现轻量级高并发的核心。
2023-03-27 16:50:48
1615
原创 【Java】阻塞队列 BlcokingQueue 原理、与等待唤醒机制condition/await/singal的关系、多线程安全总结
在实习过程中使用阻塞队列对while + sleep 轮询机制进行了改造,提升了发送接收的效率,这里做一点点总结。自从Java 1.5之后,在java.util.concurrent包下提供了若干个阻塞队列,BlcokingQueue继承了Queue接口,是线程安全的。阻塞功能使得生产者和消费者两端的能力得以平衡,当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列是满时,往队列里添加元素的操作将会被阻塞。
2023-03-05 23:19:38
1238
原创 【踩坑】org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 33; schema_reference.4: 无法读取方案文档
org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 33; schema_reference.4: 无法读取方案文档 'https:www.springframework.orgschemacontextspring-context.xsd', 原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是
2022-10-10 16:29:01
1374
原创 Raft 论文精读笔记|In Search of an Understandable Consensus Alg orithm (Extended Version)
这篇文章完全按照原 Raft 论文的结构做的笔记,没有遗漏论文中的任何细节,但是更简洁,有更清晰的分点划分,也加入了部分自己的理解。
2022-05-14 22:07:54
386
原创 【6.824分布式系统】Lab 2: Raft|Part 2A: Leader 选举
6.824 分布式系统的作业,Lab 2: Raft, Part 2A: Leader 选举
2022-05-10 17:38:25
758
原创 【6.824分布式系统笔记】LEC 5: Go, Threads, and Raft|Go协程并发问题、Raft Debug技巧
这节课主要是讲编程方法。从 Go 内存模型开始,讲了 Go 协程并发时容易出现的问题,一些更优雅的处理方法,最后讲了 Lab 2 构建 Raft 中的一些问题和 Debug 技巧。
2022-05-03 14:32:58
483
原创 Golang 内存模型|The Go Memory Model
本文主要介绍多个 Go协程之间对同一个变量并发读写时需要注意的同步措施和执行顺序问题。并列出几个常见错误。
2022-04-27 16:11:15
1819
原创 【6.824分布式系统笔记】LEC 4: Primary-Backup Replication | 虚拟机、容错、复制状态机、输出控制
这节课基于论文 Fault-Tolerant Virtual Machines,讨论一些关于容错(Fault-Tolerance)和复制(Replication)的问题。
2022-04-26 22:08:22
1731
原创 【6.824分布式系统笔记】LEC 3: GFS |HDFS、背景、GFS架构、文件读写、一致性
GFS 这是这门课里有关如何构建大型存储系统的众多案例学习的第一篇。GFS论文也涉及到很多本课程常出现的话题,例如并行性能、容错、复制和一致性。
2022-04-24 17:48:10
1937
原创 GFS 谷歌文件系统论文笔记(GFS 即 HDFS 原型)
大数据组件 HDFS 即 GFS 开源实现,用于存储非结构化数据 。上层还有 HBase(Big Table)用于存储结构化数据。再上层就是 MapReduce 计算框架。
2022-04-24 17:43:56
2083
原创 【6.824分布式系统笔记】LEC 2: RPC and Threads|Go语言、线程并发、channel 与常见问题
谈论一下Go语言,和接下来的lab中对分布式编程最有用的machinery。
2022-04-10 16:34:38
2139
原创 【6.824分布式系统笔记】LEC 1: Introduction|引言、技术思想和 MapReduce
引言和技术思想MIT不愧是MIT,Introduction都上得这么好,层层深入,引导思考。国内的课要是有这种水平就好了。为何需要分布式系统?并行获得高性能容错物理上本就是分布式安全 / 隔离讨论的基础架构:储存通信计算(MapReduce)抽象出接口,尽量将分布式特性隐藏在系统内,操作起来像非分布式系统一样。使用的工具例如:PRC (Remote Procedure Call)远程过程调用,用以掩盖网络的不可靠。线程,提供结构化的并发。并发控制,锁。性能
2022-04-08 18:18:15
2264
原创 Linux TC 流量控制与排队规则 qdisc 树型结构详解(以HTB和RED为例)
Linux 操作系统中的流量控制器 TC (Traffic Control) 用于Linux内核的流量控制,它规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。
2022-04-05 13:02:28
17046
1
原创 Mininet 上启用 DCTCP 和 ECN 进行拥塞控制、使用 HTB 和 RED 队列进行流量控制
开启 DCTCP,使用 ECN 进行拥塞控制,需要主机和交换机的配合。主机要开启 ECN 功能,能处理 ECN 信号;交换机要能在拥塞队列过长时进行 ECN 标记。部署前还需要先清空系统中可能存在的残留qos规则、进程等。
2022-04-05 12:49:57
2699
2
原创 5. MapReduce 和 Yarn 技术原理【华为HCIA-BigData】
本章主要讲述大数据领域中最著名的批处理与离线处理计算框架 MapReduce,包括 MapReduce 的原理、流程、使用场景,以及 Hadoop 集群中负责统一的资源管理与调度的组件 Yarn,包括 Yarn 的定义、功能与架构、HA 方案和容错机制,以及利用 Yarn 完成资源调配的常用方法。最后,还简单介绍华为为这些组件所提供的增强特性。
2022-03-05 22:06:10
2260
原创 4. HBase 技术原理【华为HCIA-BigData】
本章主要讲述开源的非关系型分布式数据库HBase,它可以满足大规模数据**实时**处理应用的需求。
2022-02-28 17:06:18
2147
原创 3. Hive分布式数据仓库【华为HCIA-BigData】
Hive是基于Hadoop的数据仓库软件,可以查询和管理PB级别的分布式数据。数据仓库软件使用SQL读取、写入和管理分布式存储中的大型数据集。可以将表结构投影到已经存储的数据上。提供了命令行工具和DBC驱动程序以将用户连接到Hive。
2022-02-27 16:50:50
4058
2
原创 OpenvSwitch 中使用 QoS 进行限速和整流
Quality of Service(QoS,服务质量)通常作为ip层的流量控制的代名词。本文介绍OVS的QoS功能,并进行实验测试。
2022-02-24 17:00:47
5888
1
原创 软件定义网络SDN基础实验:MiniNet常用命令、创建网络拓扑、OpenFlow流表操作
MiniNet常用命令、如何创建网络拓扑、OpenFlow流表操作
2022-01-03 16:59:17
25170
5
原创 使用 sudo (root用户) 无法使用 X11 转发的问题: X11 connection rejected because of wrong authentication.
root 用户无法用 X11 转发的图形界面解决方案
2021-12-15 14:23:36
4828
原创 SDN 环境配置及问题解决:Mininet + Ryu + OpenFlow 1.3 + Ubuntu 20.04
开始软件定义网络(SDN)项目
2021-12-14 11:38:33
7754
11
原创 【吴恩达深度学习目标检测作业】Tensorflow2.x 下 yolo.h5 文件的问题
吴恩达深度学习作业,使用YOLO算法完成车辆检测时 yolo.h5 文件的问题。
2021-12-13 16:55:45
3609
原创 使用frp进行内网穿透,实现ssh远程访问Linux
流程很简单,服务端和客户端都下载 frp 配置文件,分别修改配置(地址、端口映射),然后启动运行即可。本文基于 Linux 配置,macOS 和 Windows 流程一致,最多是命令可能有点区别。
2021-12-12 20:55:12
6626
原创 《机器学习》学习笔记9:异常检测与推荐系统
异常检测(Anomaly detection)是机器学习算法的一个常见应用。虽然它主要用于无监督学习问题,但又类似于一些监督学习问题。
2021-11-11 16:44:16
913
原创 《机器学习》学习笔记8:无监督学习 - 聚类与降维
在无监督学习中,我们的数据没有附带任何标签。将这些无标签数据分成N个分开点集(称为簇)的算法,就被称为聚类算法。聚类算法可用于市场分割、社交网络分析、组织计算机集群、管理数据中心等。
2021-11-04 10:21:56
1456
原创 吴恩达《机器学习》课后测试Ex4:神经网络反向传播(详细Python代码注解)
对于这个练习,我们将再次处理手写数字数据集,这次使用反向传播的前馈神经网络。 我们将通过反向传播算法实现神经网络成本函数和梯度计算的非正则化和正则化版本。 我们还将实现随机权重初始化和使用网络进行预测的方法。
2021-10-11 19:39:35
1065
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人