CSP大作业选题 - 大数据场景下的语言虚拟机
大数据分析的繁荣催生出了Hadoop、DryadLinQ、Spark、Flink等一系列数据处理框架,也为Java/C#等语言带来了一种全新的应用场景。由于这些高级语言虚拟机在最初设计时并没有充分考虑到这些大数据处理应用的特点,因此在性能方面往往会存在问题。近年来,有很多研究者从不同方向尝试解决这些问题。
- 对针对大数据场景的研究进行调研,总结高级语言虚拟机(主要是JVM和CLR)中存在的问题,并将各种研究分类,说明它们是具体解决什么问题的(比如解决GC时延过长的问题)。
- 针对其中一个研究项目,具体分析它的研究思路,并指出它的局限性和适用的应用范围。
- 针对该项目的局限性,提出一个具体的优化方案,并分析该方案的可行性
- (可选):实现简单的原型,并通过简单的测试来支持优化方案
参考文献:
- Facade: A compiler and runtime for (almost) object-bounded big data applications (ASPLOS15)
- Broom: Sweeping out garbage collection from big data systems (HotOS15)
- Taurus: A holistic language runtime system for coordinating distributed managed-language applications (ASPLOS16)
- Don't get caught in the cold, warm-up your JVM: Understand and eliminate JVM warm-up overhead in data-parallel systems (OSDI16)
- Skyway: Connecting managed heaps in distributed big data systems (ASPLOS18)
- Gerenuk: Thin Computation over Big Native Data Using Speculative Program Transformation (SOSP19)