Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FOSDEM 2017 Trip Report


Published on

FOSDEM is a free event for software developers to meet, share ideas and collaborate.

Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels.

This short presentation looks at some of the talks from the conference selected and summarised by Takayuki Imada.

Takauki Imada is a researcher at Hitachi Ltd. based in Japan. He has spent five years engaged in server virtualization hypervisor work at Hitachi, and is interested in Unikernel technology and IoT-related computing frameworks (Fog/edge computing).

Published in: Software
  • Be the first to comment

  • Be the first to like this

FOSDEM 2017 Trip Report

  1. 1. FOSDEM2017 report 5-6th Feb. 2017 Takayuki Imada @ OCaml Labs / Hitachi Ltd. 1
  2. 2. FOSDEM2017 overview Ø An event organized by volunteers to promote the widespread use of free and open source software Ø Over 600 presentations from various fields o My interests § SDN and NFV § Linux Containers and Microservices § Microkernels and Component-based OS § Virtualization and IaaS 2
  3. 3. Accelerating TCP with TLDK (1) Ø Introduction of TLDK(Transport Layer Development Kit Ø TLDK based on DPDK enables us to write high-speed TCP/UDP applications much easier! Ø TLDK provides socket-like APIs o Application driven, not data rx/tx driven Ø TLDK targets pipelined network processing o similar to the DPDK approach 3
  4. 4. Accelerating TCP with TLDK (2) Ø Highly optimized for Intel processors o Cache o Hugepage o Memory localization Ø Performance (64-byte packets) 7.4 Mpps - 1-core, 1-queue 36.4 Mpps - 5-core, 5-queue 4
  5. 5. How to run a stable benchmark (1) Ø Motivation Getting unstable performance scores makes it difficult to analyze a performance bottleneck Ø Tells us how to reduce noisy neighbors!! 5
  6. 6. How to run a stable benchmark (2) Ø What you should do o Process isolation (by isolcpus and taskset) o Removing kernel code execution (by nohz_full and rcu_nocbs) 6
  7. 7. How to run a stable benchmark (3) Ø Also need consideration on cache and TLBs o Data location can be easily changed due to your code modification! o In Python, PGO(Profiled Guided Optimization) may help to solve this issue -> do profile-based hotpath detection, then re-compile Python on the basis of the profile information acquired 7
  8. 8. How to run a stable benchmark (4) Ø Other points to be considered o Cache seed -> can affect the numbers of hash collisions!! o CPU frequency -> can be dynamically changed from your operating system 8
  9. 9. Thanks! Ø You can check all the presentations in FOSDEM2017!! 9 URLs for videos