自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(165)
  • 资源 (3)
  • 收藏
  • 关注

原创 胶东老家

老家,是那最原始的,却源源不断迸发我生命活力的源泉,永远的源泉。  老家是一个隐在胶东丘陵中的小小村庄。这里的晴天总是梦幻般的蓝底白云缀。家乡无大河,却有许多孕育小鱼的溪流滋润一方。你听不到狼嚎,看不到蛇跑,顶多夜里闻几声“咕咕喵”,冬天雪地上瞄几沓山兔的爪印。你不必仰头瞻望任何一颗树,树大自直,家乡的树从不盛气凌人。漫山的苹果树合上些许的桃树、樱桃树、梨树、李子树、栗子树定在春夏

2015-02-16 16:30:32 2606 4

原创 CRAK——Linux上的checkpoint/restart技术

我们都用过虚拟机,它能让保存一个正在运行系统的状态,这里用到的技术就是checkpoint,日后还可以restart,不过这是针对整个系统,有没有可能只checkpoint一个process,这个方向引来了研究热潮,CRAK就是其中做的比较不错的一个。Checkpoint/restart技术应用场景:1. 在分布式负载均衡方面,往往需要一个进程从一个host移到另一个host上

2015-02-09 12:19:09 4323 3

原创 C Socket Programming server client

用C语言socket编程写简单的server和client程序,目的为了测试一次socket连接中,数据从client端开始发送至server端接受完毕所耗的时间,以及找到原因和提升性能。这里贴出代码,make以后,直接运行server和client即可。sever.c/************************************ * For msmr * serv

2015-02-04 19:26:56 1895

原创 libevent基础:用libevent写服务端server程序和客户端client程序

最近在进行一个基于libevent的项目,需要对libevent在socket通讯上的性能进行测试,写了这个简易的server和client程序,这也是libevent的基础,希望对大家了解libevent有所帮助。server.c/************************************ * For msmr * server.c * tesing th

2015-02-04 12:12:21 13017 2

原创 VENUS: The Root Cause of MSMR Performance Issue

VENUS: The Root Cause of MSMR Performance Issue(BTW: I use VENUS to mark the report to wish we will run to the goal smoothly.)High-level DescriptionMy mentor Heming and I have found th

2015-01-29 23:56:11 2334

原创 ssh登录远程服务器修改gcc版本

当我们ssh到远程服务器后,如果我们没有sudo权限,但需要修改gcc版本,我们就不能直接删除/usr/bin/gcc,然后 ln -s /usr/bin/gcc-4.8 /usr/bin/gcc。这时需要我们在home目录中进行设置,首先在home目录下某个位置建立另一个gcc的软连接(路径随意,但要在属于自己home(即~)下)$ ln -s /usr/bin/gc

2015-01-24 21:12:42 1786

原创 编译原理归纳学习——去除晦涩

通过归纳总结编译原理各个知识点,力求去除书本的晦涩和难懂,将网络上对编译原理通俗易懂的讲解进行整理,降低门槛。

2014-12-08 15:34:41 7898 1

原创 一个极简游戏创意

极简游戏创意方案

2014-12-03 23:27:20 1814

原创 编译原理之词法分析和语法分析

花了一天写出的程序没有顾及很多层面,但对于理解基本的实验道理和交上实验还是有点帮助的。代码实现了基于有限自动机的词法分析,采用递归下降分析法和EBNF文法实现语法分析并生成中间代码。

2014-12-03 19:20:26 5672 1

原创 通过P-SMR看State Machine Replication

在一个复制系统中,为了保持一致性,各个replicated server是串行执行,这样性能上就会比只有一台server的系统慢,因为只有一台server可以进行并行处理。如果在复制系统中各个server也能进行并行处理的话, 这将是很大的进步。 但是如果各个线程之间没有共享变量的话,在复制系统的每个server上进行并行处理也是可行的,实际上以前很多复制系统并行处理都是基于这一点去做的。 

2014-11-19 22:15:31 2337

转载 ACM题目中输入数据的处理(C语言版)

本文转载自

2014-11-19 09:47:30 1412

原创 Parrot源码分析之海贼王

我们的目的是找到speedup-example在使用Parrot加速的原因,如果只说它源于Context Switch的减少,有点简单了,它到底为什么减少了?除了Context Switch外是否还有其他的performance counter也对提速有帮助?这些都是值得去思考的问题。先来看一下我们用来探索Parrot奥秘的程序speedup-example.cpp。前言:RR

2014-11-18 21:54:07 3841 12

原创 Python日志格式输出与时间格式

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s","%Y%b%d-%H:%M:%S")上面的%Y等是时间格式,所以要想理解上面要表示个什么,先来看一下Python的时间格式。%a - abbreviated weekday name%A - full weekday name%

2014-11-17 01:23:25 9021 1

转载 python邮件发送脚本

转载自cnblogs博文http://www.cnblogs.com/phinecos/archive/2010/09/28/1837578.html

2014-11-16 22:46:36 1099

原创 Github上fork之后如何保持同步(Windows环境)

我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染。但是如果原作者在不断更新他的项目,如何也让自己Github上的也跟着同步?这里需要借助在windows下安装github出现的一个

2014-11-16 21:20:32 8233 2

原创 理解Paxos Made Practical

Paxos Made Practical 当一个组中一台机器提出一个值时,其他成员机器通过PAXOS算法在这个值上达成一致。 Paxos分三个阶段。 第一阶段: 提出者会选出一个提议编号n(n>0,n的低位应当包含提出者的唯一标识,这样两台机器就不会产生相同的编号),然后会向组内其他成员发送信息PREPARE(n)。成员如果已经见到过PREPARE信息大于n,就会拒绝它;如果已经见

2014-11-15 03:10:43 2708

转载 Qt布局管理

转载自51CTO.com博文,链接地址为http://mobile.51cto.com/symbian-273182_all.htm

2014-10-31 15:56:41 1192

原创 linux shell中的$0,$?,$!和<<'END'

变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" …

2014-10-31 00:50:40 5582

原创 PAXOS: libevent_paxos

该文章是项目的一部分,主要讲PAXOS算法的实现

2014-10-29 10:24:33 4824 2

原创 libevent入门

1. evtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。2. bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)把数据写入一个bufferevent buffer中,它被用来将数据写入文件描述符,当数据变得能够写时,会自动写入到描述符中。

2014-10-28 19:18:32 2702

原创 Python之道(四)之条件语句

通过一个例子来看一下Python的条件语句:

2014-09-26 10:34:47 1837

原创 Reading Papers about Distributed Replication

A. Practical Byzantine Fault Tolerance1.What’s its checkpoint?We will refer to the states produced by the execution of these requests as checkpoints and we will say that a checkpoint with

2014-09-21 08:30:20 2696 1

原创 gem5简介

gem5模拟器提供了四个不同的CPU模型,两个不同的系统模型以及两个不同的内存系统模型,并且支持多种指令集(ARM、ALPHA、MIPS、Power、SPARC和x86),其中可以再ARM、ALPHA和x86三种架构上运行Linux。gem5的许可证是基于BSD的,这就为工业界和学术界的合作搭建了一个好的桥梁。虽然开发一个Full-system的模拟器是很复杂的,但gem5正在借助开源的强大合作力(如mailing lists,wiki,web-based patch reviews,a publicly

2014-09-16 09:09:36 8056

原创 Paxos Made Practical

本文来自论文:Paxos Made PracticalPaxos在实现上有三步:1)proposer S1 选择一个提案编号n,这个编号要包含提议者机器的唯一标识,这样两个不同的机器就不会有相同的提案编号。proposer将信息PREPARE(n)广播出去。收到这个信息的机器会要么拒绝(已经收到大于n的PREPARE信息),要么回复PREPARE-RESULT(n', v')(

2014-09-10 05:11:13 1753

原创 Apple Watch的一些看法

2014年9月10日凌晨1点整,怀着无比崇敬和激动的心情和小伙伴们观看了苹果发布会的直播。从评论上看,Apple Watch似乎要让人失望了。我努力想支持苹果的创新,但我也实在想不出哪里会是传言中的革命性。旋钮?表情通讯?健康?还是外观?传感器?而Watchkit又会带来怎样的App Store?我想它不会比手机丰富。为什么传言已久的“健康革命”只展示了两款应用,我感觉弄一个中医号脉比较好。虽

2014-09-10 04:14:46 2348

原创 Practical Byzantine Fault Tolerance

本文旨在进行Byzantine faults的容错,文章开门见山提出了新算法的优势:可工作在异步环境(如Internet),响应时间可以获得比之前算法超过一个数量级的提升。当然肯定会有limitation伴随,我们试着找出它们。一开始文章就告诉我们有一个问题还没能解决:fault-tolerant privacy。 ►Normal-Case Operation提出了Buffered

2014-09-09 12:32:44 5198

原创 All about Eve: Execute-Verify Replication for Multi-Core Servers

本文理解来自论文All about Eve: Execute-Verify Replication for Multi-Core ServersEve是为了适应多核服务器而诞生的distributed replication方案。State machine replication旨在实现fault tolerance。由于让所有的replicas执行一样顺序的请求很困难,Eve采取

2014-09-07 19:53:56 1798

原创 Python之道(三)之字典

在很多语言中都有映射这种结构,而字典是Python中唯一内建的映射类型。下面来看一个字典的例子:phonebook = {'Alice':'2341', 'Beth':'9102', 'Cecil':'3258'}名字是键,号码是值,二者之间用冒号隔开,字典中键是唯一的,值并不唯一。空字典由两个大括号组成:{}。再介绍几个常用的字典操作:len(d) 返回d中键值对的数目d

2014-09-07 16:08:50 1891

原创 Rex: Replication at the Speed of Multi-core

来自论文Rex: Replication at the Speed of Multi-core 对一系列请求的串行执行已经跟不上多核服务器的脚步了,但又不能直接并行化,因为并行会带来线程调度和锁竞争的不确定性,这就使得状态机复制的前提得不到满足,即要保持确定性。有一点要注意:全序的请求序列并不是保证一致性的必须,也就是说我们完全可以在并行化和一致性之间建立起双赢。本文旨在研究如何在多核机器

2014-09-05 22:12:50 1573

原创 Python之道(二)之字符串

我们选择在Ubuntu下进行Python编程:建立起一个.py文件,里面开始敲Python代码,然后在shell中利用命令 $python 文件名 显示运行结果。这里介绍几个与字符串有关的函数和语法:1. input

2014-08-26 15:40:51 1345

原创 30天自制操作系统之第15天 多任务(1)

多任务的本质是利用定时器和far跳转在任务之间进行切换,具体来说,一开始先运行main函数(就是处理我们的鼠标、键盘和定时器等事件),0.02s后定时器超时,执行如下语句:farjmp(0, 4 * 8);这是一个far跳转,先看一下farjmp的实现:_farjmp: ; void farjmp(int eip, int cs) JMP FAR [ESP+4] ; eip, c

2014-08-15 15:05:25 2047

原创 30天自制操作系统之第13天 定时器(2)

这一节我们同样只讲优化工作,关于缓冲区的优化。我们为键盘、鼠标和定时器各维护了一个FIFO缓冲区,如果定时器有100个,我们要创建100个FIFO缓冲区。这是不优雅的。FIFO缓冲区的作用:拿定时器1来说,我们怎样知道定时器1超时了。假设它的超时时间是10s,那么10s后,定时器1被告知超时,同时往它的FIFO缓冲区写入数据,这样在其他地方,我们只需查看它的FIFO缓冲区是否有数据,就知道

2014-08-10 16:56:32 1899

原创 Python之道(一)之安装Python

“Python之道”首先介绍一下在windows系统下如何安装Python开发环境。(1)下载MSI安装文件进入网址www.python.org,点击Downloads进入下载页面,选择Windows,然后选择一个releases进入下载页面。如果windows是64位的选择Windows x86-64 MSI installer下载;如果是32位的,就选择Windows x86 MSI

2014-08-10 10:40:46 2218 2

原创 30天自制操作系统之第12天 定时器(1)

定时器的中断处理程序要保证高效率,需要进行一些优化,这里介绍优化的方法。对于一个操作系统来说,会有多个定时器,假设该操作系统维护了500个定时器,当每一次定时中断发生时(这里我们设定1秒发生100次中断),调用中断处理程序,中断处理程序会对这500个定时器进行if判断,看哪些正在被使用,这样1秒内,就会有500X100=10000次if判断,而中断处理程序最讲究节省时间。实际上,我们不必每发生一次

2014-08-09 22:32:07 2259

原创 30天自制操作系统之第11天 制作窗口

这一节虽然题目是“制作窗口”,但实际上制作窗口只需用像素画一个即可,难点是由于加入了计数器,会出现闪烁的情况,这里就讲一下消除闪烁的做法。counter窗口在疯狂的计数,鼠标放在飞了的数字上,会出现闪烁,解决方法是:在每次画面的重新绘制中,只绘制counter所在的图层,让鼠标所在的图层不用进行绘制。根据这个思路,具体的方法如下。我们用不同的数字代表不同的层,2便是coun

2014-08-08 23:23:02 2591

原创 Win8.1应用开发之离线缓存

我们在开发应用商店应用时,需要app具有缓存的功能,这样在离线模式下,仍能工作。我们选择的project为Hub。这里采取的策略是:在HubPage.xaml.cs(之所以不选择App.xaml.cs,是为了能让用户一边操作界面一边进行下载)中,利用await异步编程,避免阻塞UI,先读取存有图片路径的JSON,然后解析该JSON得到每一张图片的URI,再根据URI下载图片,对于文字资源,直接

2014-07-17 00:29:01 1853

原创 Win8.1应用开发之动态磁贴

using demo02.Common;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime.InteropServices.WindowsRuntime;using Windows.ApplicationModel;using Win

2014-07-16 23:49:51 1641

原创 Win8.1应用开发之Bing Maps

这里介绍如何进行Bing Maps的开发。首先我们需要在我们的程序中引入Bing Map的SDK。具体方法,这里推荐一个链接使用Bing地图。这样一个hello world便出来了。这里主要介绍一些基本的API,进行一些基础性的开发。在整个开发中,给我感触最深的是,在网上资料稀少的情况下,查看研究Bing Map给出的API是最有效的方法(Map API)。也许API的注释是模棱两可,但只要我

2014-07-16 23:21:14 2679

原创 Win8.1应用开发之适配器模式(C#实现)

实际上适配器模式是用于解耦。设想一下我们的程序模块A在与模块B打交道时,需要在许多地方多次使用B中某个类的方法,而负责开发B的程序猿Tom还未完全实现该类,会随时更改该类中的方法,那么当Tom在修改时,负责A的攻城狮Jerry不得不进行苦逼的修改。聪明的项目经理Dabao想出了好方法——适配器模式,于是在Tom和Jerry之间进行了如下设计: /// /// B中目前只定义了英雄KA

2014-07-16 20:45:22 1519

原创 Win8.1应用开发之多线程

在Win8.1 metro开发(C#)中,

2014-07-16 17:28:55 1835

cleanwipe14.2.5323.2000.rar

Symantec Endpoint Protection 安装以后不能进行常规方式的卸载操作,卸载时需要卸载密码无法继续,用官网提供的工具cleanwipe进行卸载操作,简单快速。注意:CleanWipe只能卸载比自己版本低的Symantec

2020-08-24

Survey of Docker Service

两个月的调研,结合企业实践,对docker在当今的应用情形进行总结,涵盖docker基本概念和生态圈,基本技术和工具,以及服务和场景化。

2015-11-12

物联网网关可信平台模块

物联网网关上的安全认证模块设计 包括总体设计,软件架构和硬件设备

2013-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除