2019.05.04 , Cloud discussion
组长自己来分锅
根据五一假期大家不懈努力踩出来的诸多巨坑,经与老师讨论,重新规划了算法内容;拟划分时间节点并分配任务。
方差分析算法 ver 2.0:
对 data[ 31 : 16 ] 中的每个数据 x,判断 | x - mean | >= e 是否成立,若成立,tot += 1 |
见 ANOVA_v2.c,请仔细阅读。
考虑到 OSH 时间紧迫与数理方程考试的双重压力,本次锅除非特殊声明,请在 5 月 11 日(星期六)晚24点前完成,组长会尽量考虑到每个人的实际,安排不同的任务并尽可能减小各位的负担。如果提前做完,请提前 push 到大家对应的 code 文件夹。
对于例如 data_000001SZ.txt 这样的原始数据,打包成例如data_arranged_000001SZ.txt 的形式(每一行是一个包)。并且预留两个空间。原始数据满足不大于65535,小数点后至多3位。
具体来说:
对于上文付佳伟发来的数据包格式,做 “magic number” 判定(不匹配则丢弃),“tag number” 判定(0则处理,非0则丢弃)。
随后,将后面的 32 个 double 二进制(都是正数)先存入一个 ull 变量数组 unsigned long long data[32]
内。
同时写一段独立的代码,用来修改 “tag number” 并返回 XDP_TX
,即无论划不划分状态,都修改 “tag number” 并将修改后的数据包重定向回网卡输入(即使它还会在下一次处理被丢弃,但实现一下以备后续需求的变化)。
对于上文陶柯宇生成好的数组 unsigned long long data[32]
,通过位运算等一系列操作,将其转化为存入 ull 的 26 位无符号整数,其中最高位的位权是 2^15,最低位 2^-10。之后将其存入一个 unsigned long long x[32]
数组内。
关于 double 每一位含义,参阅 wikipedia。注意符号位是不需要的,因为我们保证了均是正数。
将程序的后续部分翻译成 eBPF - C 编程的格式,要注意循环的展开、数组下标的访问要是常数等等。
将在其他人写好程序之后,将其整合起来并调试直到通过编译。同时与各种信息渠道保持沟通。