Ara

Steam Deck’in Linux Zamanlayıcısı, Facebook Sunucularında Performansı Artırıyor

Meta, büyük veri merkezlerindeki sunucu filosu için daha iyi bir Linux CPU zamanlayıcısı arayışına girdiğinde, bu arayışa veri merkezinden başlamadı. Aksine, elde taşınan bir oyun bilgisayarı ile başladı. Tokyo'daki Linux Plumbers Konferansı'nda yapılan teknik bir sunumda, Meta mühendisleri, başlangıçta el konsolu olan Steam Deck için geliştirilen SCX-LAVD adlı düşük gecikmeli Linux zamanlayıcısını, mesajlaşma arka uçlarından önbellekleme servislerine kadar her şeyi çalıştıran üretim sunucularında nasıl dağıttıklarını detaylandırdılar. Şaşırtıcı sonuç: Yük altında oyunların duyarlılığını korumak için tasarlanan bir zamanlayıcı, büyük ölçekli veri merkezi iş yükleri için de mükemmel bir uyum sağlıyor.

Üst düzeyde bakıldığında, bir CPU zamanlayıcısı hangi programların hangi CPU çekirdeklerinde ve ne zaman çalışacağını belirler. Linux'un varsayılan zamanlayıcısı, telefonlar, dizüstü bilgisayarlar, masaüstü bilgisayarlar ve sunucular gibi her yerde çalışmak zorundadır, bu da onu oldukça muhafazakar hale getirir. Meta'nın karşılaştığı zorluk farklıdır: yüzlerce CPU çekirdeğine, çok çeşitli iş yüklerine ve en önemlisi katı gecikme hedeflerine sahip devasa makineler çalıştırıyor. Bu ortamda, "her yerde yeterince iyi olan" genellikle yeterli olmaz. Her hizmet için özel bir zamanlayıcı oluşturmak yerine, Meta filo genelinde bir varsayılan, el ile ayarlanmış yapılandırmaya gerek kalmadan otomatik olarak adapte olabilen "bir beden herkese uyar" türünde bir zamanlayıcı istedi. İşte SCX-LAVD'nin devreye girdiği yer burasıdır.

SCX-LAVD, alternatif zamanlayıcıların önemli çekirdek değişikliği yapmadan çekirdeğe takılmasını sağlayan nispeten yeni bir Linux çerçevesi olan sched_ext üzerine inşa edilmiştir. Basit bir ifadeyle, sched_ext şirketlerin Linux'u çatallamak veya devasa yama setlerini korumak yerine, farklı zamanlama stratejilerini güvenli ve aşamalı olarak denemelerine olanak tanır.

LAVD'nin kendisi Latency-Aware Virtual Deadline (Gecikmeye Duyarlı Sanal Son Teslim Tarihi) anlamına gelir ve bu isim, dikkatli bakıldığında anahtar bilgiyi verir. Sabit önceliklere veya manuel ipuçlarına dayanmak yerine, zamanlayıcı görevlerin nasıl davrandığını, ne sıklıkla uyuyup uyandıklarını ve engellendiklerini sürekli olarak gözlemler ve ardından hangilerinin gecikmeye duyarlı olduğunu tahmin eder. Bu görevler daha erken "sanal teslim tarihlerine" sahip olur, bu da sistem meşgulken hızlı çalışma şanslarını artırır.

Bu yaklaşım başlangıçta oyunları hedefliyordu. Steam Deck'te, zamanlama teslim tarihlerinin kaçırılması, karelerin düşmesi, takılmalar veya yavaş giriş yanıtı anlamına gelir. Veri merkezinde de benzer başarısızlık modları yavaş web istekleri, gecikmiş mesajlar veya hizmet düzeyi hedeflerinin ıskalanması olarak ortaya çıkar. Tamamen farklı uygulamalar, ancak temelde aynı temel sorun.

Sunumda, Meta'nın mühendisleri, LAVD'yi sunucu sınıfı donanıma ölçeklerken ortaya çıkan çeşitli zorlukları anlattılar. Tek bir zamanlama kuyruğunu paylaşan onlarca çekirdeğe sahip makinelerde, rekabet bir darboğaz haline geldi. Sabitlenmiş görevler (yalnızca belirli bir çekirdekte çalışabilen iş parçacıkları) gereksiz yere müdahale yarattı. Ağ yoğun hizmetler, kesintileri işlemek için o kadar çok zaman harcadı ki, zamanlayıcının adalet hesabı çöktü.

Bu sorunlar, LAVD'nin görev kuyruklarını, zaman dilimlerini ve CPU hesaplamalarını nasıl ele aldığına değişiklikler getirdi. Birkaç durumda Meta, önbellek yerelliğini daha iyi korumak veya ağ kesintilerinden bunalmış çekirdekleri telafi etmek için mantık ekledi, bu da onları etkili bir şekilde "daha yavaş CPU'lar" olarak ele aldı. Kritik olarak, bu düzeltmeler hizmet başına yapılandırma veya manuel öncelik etiketleme gerektirmedi. Bu, Meta için LAVD'nin temel cazibesidir: sabit kodlanmış kurallar yerine gözlemlenen davranışlara göre uyum sağlar.

Mühendisler ayrıca bariz endişeyi de ele aldılar: Meta'nın sunucuları için bir zamanlayıcıyı optimize etmek, orijinal oyun kullanım durumuna zarar verme riskini taşıyor mu? Şu ana kadar, dediklerine göre değişiklikler ya nötr ya da Steam Deck için faydalı ve geçerli olmayan özellikler çekirdek bayraklarıyla devre dışı bırakılabilir. Yine de, deneyin devam ettiğini kabul ettiler.

Linux, el konsollarından hiper ölçekli sunuculara kadar her şey için ortak bir altyapı haline geldikçe, ekosistemin bir köşesindeki yenilikler giderek artan bir şekilde diğerlerine yayılıyor. Bu durumda, 400 dolarlık bir oyun bilgisayarının hızlı hissetmesine yardımcı olan aynı zamanlama mantığı, milyarlarca mesajın zamanında hareket etmesine de yardımcı olabilir. Bu, açık kaynak yazılımın gücünün mükemmel bir gösterimidir ve yükselen bir gelgitin tüm tekneleri kaldırdığının önemli bir kanıtıdır.

Önceki Haber
Netflix'in Efsanevi Oyun Serisi "Assassin's Creed" Dizisine Ünlü Yönetmen İmza Atıyor!
Sıradaki Haber
Intel'in Arizona Fabrikası TSMC'yi Geride Bıraktı: Üretim Kapasitesi İki Katı!

Benzer Haberler: