存储系统保证容错的方式有两种,一种是多副本,即一份数据存储多份;另外一种方式是纠删码。纠删码和多副本相比,可以以更少的存储开销保证容错,因此,可以大大降低存储成本。在保证存储可靠性的同时,怎样在有限的资源下获得最好的编码,解码,和修复性能对存储系统来说十分重要。 本次初赛赛题关注一个仅由异或操作便可以完成编解码的,最多可容两错的纠删码,EVENODD。本次赛题的目标是,在保证编解码正确性的基础上,在有限的系统资源下优化EVENODD各项操作的性能。
- 文件大小考虑在100G以内;
- write操作仅需写入当前需要写入的文件,不需要考虑repair;
- read操作只需正确读出数据即可,不要要repair;
- “丢失”描述的是数据/数据块,“损坏”描述的是文件夹;
- “disk_0”等文件夹和生成的evenodd可执行文件在同一级目录即可;
- 文件名假定在100字节以内,不会出现特殊字符,且不存在同名文件;
- p在100以内;
- 功能三恢复的时候,保证除需恢复的文件夹外,其它文件夹完好;
- 测试数据不会出现p=2的情况;