GOMAXPROCS大于CPU核数有意义吗?——GMP笔记
本文为小徐先生文章温故知新——Golang GMP 万字洗髓经的笔记,仅为粗浅记录。
什么是 GMP
G:goroutine 是 Go 中对协程的抽象。G 有自己的生命周期、运行栈、执行的函数。
本文为小徐先生文章温故知新——Golang GMP 万字洗髓经的笔记,仅为粗浅记录。
G:goroutine 是 Go 中对协程的抽象。G 有自己的生命周期、运行栈、执行的函数。
本次实验为实现Raft中的选举部分,在实现时除了要完全按照论文的Figure2实现节点状态以外。在实际编写代码时,以下部分曾经困扰了我,现在总结如下:
在开始之前,必须指出 RAFT 不是具体的分布式系统设施,比如 GFS 和 VM-FT 就是提供具体功能的分布式设施。RAFT 是一种算法,它可以应用在具体的分布式系统中以维护容错性并保持一致性。
两阶段提交是一种原子提交协议,用于确保分布式事务的原子性(要么全部执行,要么全部不执行)。它主要包含两个阶段:
论文首先分析了作为一个大型的分布式存储系统的特点和难题:
由于以上特点,GFS 在设计时提出了以下假设: