每到新的一年,大家都习惯地去立一些flag,我也是。毕竟能不能完成是一码事,但是有个纲领,会使得你在新的一年里会更有目标性。

大数据领域

  • 学习SSE2指令集 向量化技术在大数据领域已经成为潮流,学习SSE2指令集是很有必要的。其实这个东西不是很难,主要是替换向量化编程思想,知道什么情况下可以使用向量化技术去优化。另外这块的学习一定是以实践为主,说白了就是多练习,什么线性代数里的运算呀,都要自己动手去实现才能体会到优化带来的快感。

  • 学习CUDA编程 之前接触了一个rapids,我认为NV的未来前途一片光明,看好NV,所以从学习CUDA开始,一点一滴,先学学CUDA,后面有机会再深入CUDF和rapids。

  • 学习Flink 1.x源码 这一项学习我认为不一定能完成。因为什么呢,工作中用不到这块,所以自己光看很难去探索代码的一些细节,只能大步流星的学习其思想了。当然更重要的是,需要对比Ray Streaming, Flink和Millwheel这三个项目来从宏观上学习他们的异同之处。

分布式领域

  • 共识算法:Raft, Paxos
  • rocksdb

机器学习领域

  • 继续学习机器学习(台大课程和实验) 2020年也看了一些ML的课程,可以说从概念上算是一个非常基础的入门了把。由于这块仍然是未来的大热门,不学习就会被淘汰,所以还要继续深入这块的学习。21年的学习需要调整重点,不再是本着入门的态度,而是需要有一定的深度。还是继续以台大的课程入手,一方面学习课程并要求自己推导出课程的所有公式,结论;二方面,课程的习题,实践的项目理应按质量完成;第三个方面,就是需要动手实践,做一到2个小项目,可以是一些简单,不必太复杂。
  • 学习pytroch 学好pytorch是我21年一个很重要的里程碑。因为只有这样才会让自己在做项目的时候可以亲力亲为,另一方面在对大数据,大规模计算方面也会有很好的上层帮助。

一定要做的项目

  • openmicro 这个项目的目标是21年发布第一个版本,在阿里公有云的k8s集群上上线,并且有小公司使用。我对这个项目还是非常有信心的,所以要告诫自己一定不要半途而废,把这件事情做好。
  • openmillwheel 这个项目的设计还没有想好,但是我想21年真的要为了兴趣做一做,因为他会帮我梳理之前在百度工作时候做的事情,同时能够让我将flink, ray streaming这三者一起对比。如果没时间,我觉得这个项目也可以暂缓。
  • metable 这个项目规划了很久,可以做一个demo出来,因为我认为这个项目还是有一定的使用场景的。

一定要看完的书籍

  • 《现代操作系统》陈海波
  • 《Streaming System》
  • 《分布式实时处理系统》