logicmd发表的文章
Seminar Share: Simple Regenerating Codes: Network Coding for Cloud Storage
0这篇日志主要分享实验室的seminar,这篇paper选自INFOCOM 2012,作者来自USC, EMC和Microsoft Research,主要讲了简单高效的云存储编码方式。
本文采取一种基于Networking coding的简单高效的云存储编码方式。相比传统的Replication方式,本文方法具有更高效的存储利用率和更高的可靠度,同时有可观的性能(repair吞吐与Replication可比);相比MDS编码(用于RAID 5、6),本文拥有更低的recovery复杂度,更高的repair吞吐和更好的扩展性。
提出方法的亮点:
O(1)级别的单节点修复磁盘IO,保证了框架的可扩展性(Scalabilty)- 简单高效的一致性修复(exact repair)方法
- 不低的存储效率
提出方法的不足:
- 仿真真实性不如实现更强,实际SRC的实现不难
- 冗余度n-k不随规模n增长而增长,可靠度下降
- 与MSR(Minimal Storage Regeneration Code)比较带宽开销,有失公平(应该与MBR比较)
- 性能理论分析时(Slides 33)未考虑是Exact repair 还是 Functional repair
下面是我的Presentation。
Seminar Share: The Performance of MapReduce: An In-depth Study
0这篇日志主要分享数据库课的seminar,这篇paper[1]选自VLDB `10,作者来自NUS,主要讲了MapReduce框架在数据库操作时性能瓶颈,并给出了优化建议。
作者不同意业内大牛Dewitt在[2]的看法,即MapReduce性能与数据库要差很多。他认为经过适当的优化,MapReduce性能会提升2.5x-3.5x以上,最终两者性能是可比的。
下面是我的Presentation。
Presentation
以下是Rebuttal。
(更多…)
通过‘人人网6周年’活动发布的XSS分析
4大约半年前,人人弄出国站内信”暗恋门”XSS的漏洞,盗取cookies,病毒分发站内信,曾有童鞋撰文分析过这个事件。(传送门)
今天,满屏的姜姝君(没截图,人人自己公关删太快了)和后来的技术宅改变世界的状态都是这次XSS的具体体现
表现在,点击URL以后,立马也会发一个同样状态,LZ也有中招,翻看技术宅改变世界http://www.wix.com/active93/active93)的源代码
(更多…)
Monologue on Programming
01.声明变量尽量在函数开头
#include <stdio.h>
#include <string.h>
char name[]=”mygogou”;
int main()
{
char output[8];
strcpy(output, name);
for(int i=0;i<8&&name[i];i++)
printf(“\\0x%x”,name[i]);
return 0;
}
写在.c文件中会编译报错。
Compiling… tmsg.c E:\as\vc-code\1\tmsg.c(8) : error C2143: syntax error : missing ‘;’ before ‘type’
经查证这是因为c和c++关于变量声明的一点点不同:
(更多…)
#pex4fun Challenge 2nd Fibonacci
0Pex is Automated White box Testing for .NET from Microsoft Research.
Pex for fun on the web is a radically simplified version of the fully featured Pex Power Tool for Visual Studio.
Challenge Fibonacci 2 is a kind of the simplest recursive problem after you find out the duel is actually second order Fibonacci array.
using System;
public class Program {
public static int Puzzle(int x) {
// Can you write code to solve the puzzle? Ask Pex to see how close you are.
if (x <= 1) return x;
if (x == 2) return 3;
return Puzzle(x-1)*2 - Puzzle(x-3);
}
}


