- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 ISCA2018论文分享-Dynamic Memory Dependence Predication
Dynamic Memory Dependence PredicationConferences: ISCA, 2018Authors: Zhaoxiang Jin ; Soner ÖnderSite: https://ieeexplore.ieee.org/document/8416831Keywords: Memory Dependence Prediction, Store Qu...
2019-03-12 17:36:48 733
原创 ISCA2018论文分享-RANA神经加速器
RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAMConferences: ISCA, 2018Authors: Fengbin Tu ; Weiwei Wu ; Shouyi Yin ; Leibo Liu ; Shaojun WeiSite: https://ieeexplo...
2018-11-27 21:39:53 1103
翻译 复制状态机(State Machine Replication)
这篇博文主要是对wiki上的复制状态机的翻译。 复制状态机在分布式领域是一个常用且重要的技术,通过复制服务副本,并和副本一起来协调客户端的交互,来实现容错服务。这个方法同样提供了一个框架,来理解和设计复制管理协议。当然,一切的技术的源头都是业务,针对业务需求来实现相关技术是最高效、最聪明的方法。因此学习技术之前,多问问自己,这样实现的目的是什么,如果
2017-12-01 22:19:07 10290 1
原创 《linux内核设计与实现-笔记2》
第 3 章 进程管理这一章主要介绍进程在linux系统中的表示,从如何创建到如何被回收的整个过程。同时特别提到了线程在linux系统中的实现。进程的定义:进程就是处于执行期的程序,但进程不仅局限于可执行代码,还包括其他资源,比如打开的文件,挂起的信号,内核数据,处理器状态,多个线程,全局变量等。 线程的定义: 线程是进程中活动的对象,线程有单独的程序计数器,进程栈,一组进程寄存器。值得注意的
2017-11-07 16:38:33 374
原创 《linux内核设计与实现-笔记1》
第 1 章 Linux 内核简介linux是类unix系统,因此书籍一开头说明了unix的开发历程。unix强大的根本原因在于:unix很简洁,有明确设计目的,系统调用精简所有东西都被当作文件对待unix内核和相关系统工具是c语言编写,具有良好的移植能力unix进程创建速度快,并且有fork系统调用unix有简单且稳定的进程间通信原语至今,unix已经是一个支持抢占式多任务、多线程、虚
2017-11-06 18:57:36 597
原创 9月总结
时间真是过得很快,就又到了10月。找工作是最近的一个主题,加上导师以及实习的事情,真的是非常的忙。当然现在基本已经确定要从事云计算的行业,因此在不断的学习和积累相关知识。在这里说一些自己的体会,仅代表自己的观点,欢迎大家指正!云计算纵向来看,分为iaas、paas、saas。具体的概念想必大多数人都以了解。iaas,基础即服务,这个块大公司都在努力做到最好,当然基本上的竞争都差不多了,一个很重要的原
2017-10-20 20:46:32 285
转载 分布式理论基础-选举、多数派、租约
选举之前我们聊了2pc、3pc,其中都强调了coordinator的概念。实际上,在分布式系统中,节点之间一开始都是平等的,没有主次。为了运用2pc、3pc,也为了保证事务的原子性,一般都会选择一个节点作为coordinator(也叫leader、master节点)。因此就会有各种选举策略,本文列举了三种方式,可以解决大部分情况下的问题。选举(election)实际上,选举问题也是一个一致性问题
2017-09-12 16:40:04 832
原创 一点小感悟
不知不觉,已经到了9月。近几个月的找工作也快接近尾声了。能够找到心仪的企业已经是同学们最大的期望。我也不例外。今天算是一个阶段的转折,准备开始新一轮的努力。好好奋斗,一切为了自己,为了家人。秋天是一个可爱的季节,我经常能够看到北京美丽的晚霞。虽然这种晴朗的天气比较少,但偶尔的出现总会让你心动不已。人人都说程序猿不会说话,程序猿不懂的生活,只会写代码。我们要做懂生活,热爱生活的程序猿~今天,一篇《一个
2017-09-09 15:30:54 316
原创 分布式理论基础-一致性、2PC、3PC
一致性问题是分布式理论中的根本性问题。 解决一致性问题的两种方法,2PC、3PC 满足一致性系统需要: agreement(全认同) validity(值合法) termination(可结束)面临的问题: 消息传递异步无序(asynchronous) 节点宕机(fail-stop) 节点恢复(fail-recover) 网络分化(network partit
2017-08-16 10:33:54 404
原创 6月总结
写博客其实有一段时间了。总有有些意犹未尽,过了一个充实且忙碌的一个月,是应该有点总结性的东西。人总是容易浮躁。有了一些小的成绩,心里总是很在意。研二以来,自己还是非常努力的。一边完成导师的任务,一边刷题找工作。但是一些成绩不能让自己止步不前。不然之前的努力都白费了。从事计算机这个行业,如果不能以坚持学习的态度,就会落后于时代,落后于他人。现在大家都在努力找好的公司,因此自己也不能掉队。6月份主要
2017-07-07 21:55:00 289
原创 C++面向对象程序设计
前言面向对象有三个核心概念,抽象、继承、多态。数据抽象就是多类事物的共同特征抽象出来,抽象出一个类,这个类定义了接口。继承是描述类与类之间的关系,是一种包含关系。比如苹果和梨子都是水果,水果是基类,它包含苹果和梨子的共同特征(数据特征、行为特征),而苹果和梨是派生类,有它们自己独有的特征。多态,c++主要指的是动态绑定,根据里氏替换原则,使用父类的地方都可以用子类去替换。在运行时,根据实际类型(c+
2017-06-22 23:25:11 1616
原创 C++拷贝控制
前言c++作为高级语言,面向对象编程是其重要的语言特性。设计好的架构,其基础也是类的设计。我们之前已经将类本身的知识梳理了一遍。这一章着重介绍类控制,包括拷贝控制、重载、面向对象设计以及模板和泛型编程。这些非常非常重要,是实现工程必须要掌握的基础知识。要打起十分的精神来学习。按照c++ primer的顺序,我们从拷贝控制说起。这章看的时间有点久,有些东西很陌生。可能自己接触的实际工程太少,有些经验的
2017-06-20 23:06:14 356
原创 C++动态内存和智能指针
前言对象有生命周期,C++对象的生命周期与存储位置是息息相关的。C++对象按照创建位置可以分为全局对象、局部对象、局部静态对象。他们的生命周期是固定的,由编译器创建和销毁。另外,C++支持动态分配对象,动态对象的分配和释放需要程序显示的操作。C++内存分为静态存储区、栈内存、堆内存三种。静态内存:保存局部static对象、类static数据成员、全局变量栈内存:保存函数内定义的非static对象
2017-06-20 17:33:31 359
原创 IO、容器、泛型算法和动态内存
前言最近刚刚开题答辩,现在需要重新投入到战斗中来。C++标准库是一类强大的数据结构和算法的集合。利用C++泛型的能力,使得一些数据结构和算法得以方便的使用。C++标准库内容很多,我也只打算按照C++primer的顺序,复习其中的IO、容器、泛型算法以及动态内存。这些都是轮子,可以直接拿来用。但是有必要好好阅读和理解其中的源代码,对于我们来说将是很大的提升。往往在刷题过程中,都需要用到很多数据结构。合
2017-06-14 23:15:39 354
原创 类---C++ 基础
前言不知不觉,已经复习到了类。面向对象编程是C++的一个重要特征。类是对数据和操作的封装,相对于函数,提供了更高层次的抽象。例子:struct Sales_data { std::string isbn() const { return bookNo;} Sales_data &combine(const Sales_data &); double avg_price() c
2017-06-08 23:02:28 344
原创 函数---C++ 基础
前言刚看了《桃子的博客》,关于个人阶段性学习的总结。深感自己要从事后端开发需要学习更多的知识。语言仅仅是基础的基础。还需要对算法以及操作系统、网络、分布式有深入的学习。前方的路还很长,现在必须要先打起精神,先把这个语言过关计划搞定。所有的坚持一定会有收获。函数是编程语言中的重要一环,实际是一个代码块。有入口和出口。本文只提出一些需要注意的东西。1.局部对象函数构成一个新的作用域,在函数内部定义的变量
2017-06-07 15:39:32 314
原创 表达式---C++ 基础
前言这一章相对来说比较轻松,主要涉及到的是c++中常见的运算符。一些耳熟能祥的东西我就不打算写在博客里了,主要分析一些细微的点。虽然不要注重细节,但是不知道细节就没有好的语言基础。骐骥千里,非一日之功。C++ 中提供了许多的运算符,算术运算符、逻辑和关系运算符、赋值运算符、位运算符等等。按照操作数的数量,可以分为一元运算符、二元运算符、三元运算符,一般的来说它们之间的优先级也是一元大于二元,二元大于
2017-06-07 15:34:46 432
原创 C++反射的实现
前言反射的概念: 指程序在运行时,访问、检测和修改它本身状态或行为的一种能力。wikipedia简单的来说,就是一种自描述和自控制的能力。如果联想到镜子,就可以很好的理解,你能通过镜子看到自己,包括自己的动作,自己的外表。唯一不同的地方是,计算机语言的反射能力还包含对看到的自己采取措施。反射的作用在计算机编程语言中,反射机制可以用来:获取类型的信息,包括属性、方法动态调用方法动态构造对象
2017-06-06 17:04:58 9491 2
原创 字符串、向量和数组---C++ 基础
前言上一章,复习了基本数据类型,趁热打铁,继续把字符串、向量(vector)和数组搞定。字符串是由字符组成,也是序列结构,因此,本章其实设计到的数据结构是序列。那么就需要考虑是否能够随机访问,如何遍历,如何进行一些基本操作,以及这些基本操作的效率问题。整个系列的复习会将所有涉及到的stl进行分析,工作量可能会大,但是复习嘛,总是一步一个脚印。废话不多说,开始干货。3.1 using声明命名空间命名空
2017-06-06 00:58:39 498
原创 变量和基本类型---C++ 基础
前言之前笔试了几家公司,居然在语言这种基础的问题上摔跟头。不得不进行恶补。科研任务重,C++ primer不能丢。因此,准备一波C++ primer深入阅读计划。C++primer 主要分为四个部分c++基础c++标准库类设计者的工具高级主题这个系列的复习将从c++基础开始,着重复习自己之前忘记或者不清楚的地方,力求深入分析。此后准备阅读侯捷大神的《深入探索C++对象模型
2017-05-10 22:33:04 492
原创 几个有用的数学概念-数论
数学是算法基础。我们在写题时会经常碰到数论、概率、组合计数方面的问题。如何重复利用已知的数学概念和知识来解决问题,非常关键。这篇文章是在阅读《算法竞赛入门经典》一书后的总结。如果读者已经清楚且明白其中的知识点,那么可以忽略本文。数论记得从高中数学竞赛开始那会就接触过数论,仅仅是接触。数论给我的感觉是很难,里面逻辑性很强,有时候绕不弯来就懵逼了。但是既然算法里面需要,那无论如何也得翻
2017-03-27 17:19:53 1555
原创 动态规划-算法学习之路
这是我开始写博客的第一篇。以此纪念一下。概述动态规划(dynamic programming),首先不是一个特定的算法。它是一种思想,大部分的优化问题,都可以使用动态规划来解决。优化问题是我们经常碰到的一类问题,很多情况我们都不知道如何下手解决,首先我们应该做的,是分解问题,看看能不能将这个问题分解成多个子问题。谈到问题分解,很多人都会联想到分治算法。分治算法是学会分解问题的第一步。而动态规划比分治
2017-03-16 18:46:26 3321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人