1. 10 2月, 2016 5 次提交
  2. 09 2月, 2016 9 次提交
  3. 08 2月, 2016 17 次提交
  4. 07 2月, 2016 1 次提交
    • U
      [FLINK-3120] [runtime] Manually configure Netty's ByteBufAllocator · 168c1f0a
      Ufuk Celebi 提交于
      tl;dr Change default Netty configuration to be relative to number of slots,
      i.e. configure one memory arena (in PooledByteBufAllocator) per slot and use one
      event loop thread per slot. Behaviour can still be manually overwritten. With
      this change, we can expect 16 MB of direct memory allocated per task slot by
      Netty.
      
      Problem: We were using Netty's default PooledByteBufAllocator instance, which
      is subject to changing behaviour between Netty versions (happened between
      versions 4.0.27.Final and 4.0.28.Final resulting in increased memory
      consumption) and whose default memory consumption depends on the number of
      available cores in the system. This can be problematic for example in YARN
      setups where users run one slot per task manager on machines with many cores,
      resulting in a relatively high number of allocated memory.
      
      Solution: We instantiate a PooledByteBufAllocator instance manually and wrap
      it as a NettyBufferPool. Our instance configures one arena per task slot as
      default. It's desirable to have the number of arenas match the number of event
      loop threads to minimize lock contention (Netty's default tried to ensure this
      as well), hence the number of threads is changed as well to match the number
      of slots as default. Both number of threads and arenas can still be manually
      configured.
      
      This closes #1593.
      168c1f0a
  5. 05 2月, 2016 8 次提交