blob: 607657e0365c78ebf6ec8d1feb41da64f81ab594 [file] [log] [blame] [view]
# Sustain Git repo performance under heavy load
Over time we've become accustomed to taking for granted that Source Code
Management systems are always available. SCMs are a mission-critical part of any
software-related business. When they don't work as expected, whole organizations
come to a halt quicker than you would expect, therefore, efficient maintenance
of such systems is crucial to success.
Git repositories that are under heavy load quickly become inefficient or even
inaccessible. This impacts client operations of all types (e.g.,
git-upload-pack, git-receive-pack). Currently, the only countermeasures are a
full GC or a geometric repacking, either time or metrics-based.
As the repositories grow, running a full GC takes longer, is more expensive, and
risks introducing additional workload at inopportune times (e.g., running GC
during a burst of repository activity may bring nodes to a standstill). In this
talk, we will introduce an AI-driven approach to maintaining the performance of
busy Git repositories that undergo heavy workloads. The AI model will explore
and learn different strategies, including partial repacking, bitmap
regeneration, empty directory removals, and more, by evaluating its success
using reinforcement learning.
*[Daniele Sassoli, Senior Engineering Manager / GerritForge Inc.](../speakers.md#dsassoli)*