~/talk

PYLIVE: On-the-Fly Code Change for Python-based Online Services

Talkat USENIX ATC '21 · 2021-07-14..07-16· [python, developer-experience]
links:none on file
links:none on file
name:Li Zhong
links:none on file
links:none on file
slides:none on file

A framework that enables on-the-fly code change for Python online services, using Python’s meta-object protocol and dynamic typing to add dynamic logging and profiling and apply urgent patches without restarting or modifying the interpreter. PYLIVE targets function bodies, interfaces and object fields, checks safe points before swapping code, and handles threads/processes. Evaluated on seven real-world apps with 20 real cases, it avoids restart downtime, reports normal-run overhead of 0.1% and profiling overhead reduced to ~1.4% (vs 35%), and discovers two new performance issues.

AI-written summary · about

  1. 0:00Intro
  2. 0:46Online services have high requirements on availability
  3. 2:30A common system update practice - Rollout Deployment
  4. 2:44Rollout is not the best choice for dynamic logging and profiling
  5. 3:47Python's language features ease the code change
  6. 4:41PYLIVE's Interfaces
  7. 7:04Three challenges with PYLIVE
  8. 7:28Challenge 1: Support Dynamic Changes
  9. 9:06Challenge 2: Identify Safe Change Point
  10. 10:52Evaluation of PYLIVE
  11. 13:07Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.