钨项目란무엇입니까?

钨은Apache火花의실행엔진에변경사항을적용하여메모리및CPU를火花애플리케이션에적합하게효율성을개선하는데중점을두어성능을최신하드웨어한도에더가깝게밀어붙이고자추진한엄브렐라프로젝트의코드명입니다。

钨项目의이니셔티브:

  • 메모리관리와이진수처리:애플리케이션의미체계를활용하여메모리를명시적으로관리하며JVM개체모델과가비지수집의오버헤드제거
  • 캐시marketing식형연산:메모리계층구조를활용하는알고리즘과데이터구조
  • 코드생성:코드생성을사용해최신컴파일러와CPU활용
  • 가상함수발송함:이렇게하면CPU호출을여럿줄일수있어발송횟수가수십억번에달하는경우성능에현저한영향을미치게됩니다。
  • 메모리대CPU레지스터내중간데이터:Tungsten Phase 2에서는중간데이터를CPU레지스터에배치합니다。이렇게하면메모리에서가아니라CPU레지스터에서데이터를가져와주기수가엄청나게줄어듭니다。
  • 루프언롤링과simd:Apache火花의실행엔진을최적화하여최신컴파일러와CPU기능을활용해효율적으로컴파일링하고루프에맞춰단순하게실행합니다(복잡한함수호출그래프에비해)。

CPU효율성에중점을둔것은火花워크로드가IO와네트워크통신보다와CPU메모리사용때문에병목현상을일으키는경우가많아졌다는사실에기인합니다。이추세는빅데이터워크로드성능을주제로최근실시한리서치를통해확되었습니다。

额外的资源

回到术语表