Session
bring network and time together using Linux tracing
Speakers
Alexander Aring
Label
Nuts and Bolts
Session Type
Talk
Contents
Description
This talk is about visualizing a distributed network protocol by using the trace-cmd [0] time synchronized tracepoints feature. As an example we use the Linux Distributed Lock Manager [1] (DLM) protocol to visualize lock states over time in the jumpshot [2] viewer.
Trace-cmd is the user space tracing utility to control the Linux in-kernel tracing subsystem. Recently a new feature was introduced to record multiple Linux machines tracing events with their timestamps synchronized across those machines.
The Linux Distributed Lock Manager (DLM) subsystem is a distributed network protocol used by Linux clusters to control mutual access to shared resources. Current DLM debugging methods are limited by dumping lock states via command line interfaces e.g. debugfs. Those dumps can only be taken sequentially and without being time synchronized. Means it will not represent all lock states at one time. Additionally those cli dumps need to be merged on your own to see a connection between them.
The slog2sdk [3] containing the viewer jumpshot will be used to represent the DLM protocol lock states over time by using a GANTT chart [4]. Therefore a trace converter dlm2slog2 [5] was developed to build a bridge between those components of trace-cmd/Linux trace subsystem and slog2sdk.
In this talk I will show what the steps are to record a time synchronized DLM trace by using trace-cmd and how those are converted to visualize them in jumpshot. This approach can be adapted to other distributed network protocols as well and is not limited for debugging use cases. Moreover we will look into possible new ideas on how to use time synchronized tracing events in a distributed network.
[0] https://trace-cmd.org/ [1] https://en.wikipedia.org/wiki/Distributed_lock_manager [2] https://www.mcs.anl.gov/research/projects/perfvis/software/viewers/index.htm#Jumpshot-4 [3] https://www.mcs.anl.gov/research/projects/perfvis/download/index.htm#slog2sdk [4] https://en.wikipedia.org/wiki/Gantt_chart [5] https://gitlab.com/netcoder/dlm2slog2/-/wikis/home
Recent News
Netdev 0x16 Day 1 - 5 videos released
[Wed, 18, Jan. 2023]
Netdev 0x16 Day 1 and 2 videos released
[Thu, 22, Dec. 2022]
Netdev 0x16 Schedule is up
[Tue, 04, Oct. 2022]
We are honored to announce industry and academic luminary John Ousterhout as the keynote speaker for Netdev conf 0x16
[Fri, 23, Sep. 2022]
Registration for Netdev 0x16 is now OPEN!
[Wed, 21, Sep. 2022]
Important Dates
Closing of CFS | Wed, Sept. 7, 2022 |
Notification by | Thu, Sept. 15, 2022 |
Conference dates | Oct 24th - 28th, 2022 |