yoklateknik mülakat

ML Engineer Ti Cluster Scheduling Resources Mülakat Soruları

75 doğrulanmış ML Engineer Ti Cluster Scheduling Resources mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Ti Cluster Scheduling ResourcesZorluk 1
Bir eğitim işi, 8 GPU'yu gang (ya hep ya hiç) zamanlama ile istiyor: ya 8 rank'ın hepsi birlikte başlar ya da hiçbiri başlamaz. Kümede toplamda 8 GPU boş, ama bunlar 8 farklı düğümde düğüm başına yalnızca 1 boş GPU olacak şekilde dağılmış durumda; işin başlatma betiği ise 8 GPU'nun tek bir düğümde olmasını şart koşuyor. İşe ne olur?
  • a8 düğüm boyunca düğüm başına birer boş GPU kullanarak hemen başlar.
  • bŞimdilik 7 GPU ile başlar, uygun olduğunda 8.'yi ekler.
  • cZamanlayıcı, önceden etiketlenmiş GPU düğümü olmadığı için işi iptal eder.
  • dBeklemede kalır; tek-düğüm şartı için hiçbir düğümde 8 boş GPU yoktur.
Açıklama:Gang scheduling, kümedeki toplam boş sayıya değil işin fiili yerleşim şartına bakar; düğüm başına birer GPU'ya dağılmış 8 boş GPU, tek-düğüm isteyen 8-GPU'luk işi barındıramaz.
Ti Cluster Scheduling ResourcesZorluk 3
Bir kümede her biri 8 GPU'lu 10 düğüm var (toplam 80). Belirli bir anda 16 GPU boş, ama bunlar tam olarak 8 farklı düğümde düğüm başına 2 boş GPU olacak şekilde dağılmış. Beklemedeki bir iş tek bir düğümde 8 GPU istiyor (rank'ları hızlı düğüm-içi bağlantı kullanıyor ve düğümler arasına yayılamıyor). Daha sonra çalışan işler biter ve aynı 16 boş GPU yalnızca 2 düğümde düğüm başına 8 olacak şekilde toplanır. Beklemedeki iş için ne değişti?
  • aHiçbir şey değişmedi; boş GPU sayısı her iki durumda da 16 kaldı.
  • bHâlâ başlayamaz; 2 düğüm birden fazla düğüme yayılan bir işi barındıramaz.
  • cArtık başlayabilir, çünkü aynı boş kapasite artık yeterince büyük düğümlerde.
  • dZamanlayıcının GPU'ları serbest bırakmak için önce tüm işleri yeniden başlatması gerekir.
Açıklama:Tek-düğüm isteyen bir işin başlayıp başlayamayacağını yalnızca toplam boş sayı değil yerleşim belirler: 16 GPU sırf düzen değiştiği için kullanılamaz durumdan yeterli duruma geçti.
Ti Cluster Scheduling ResourcesZorluk 2
Bir kümenin gang scheduler'ı, aşağıdaki gibi bir spec ile tanımlanan grupları kabul ediyor.
apiVersion: scheduling.k8s.io/v1
kind: PodGroup
spec:
  minMember: 8

Burada minMember: 8 neyi zorunlu kılar?
  • aPod'ları 8 tanesi başlayana kadar tek tek, sırayla başlatır.
  • bGrup yalnızca en az 8 pod aynı anda yerleştirilebildiğinde başlar.
  • cİş, ömrü boyunca en fazla 8 pod ile sınırlıdır.
  • dZamanlayıcı 8 fazladan boş pod'u tampon olarak ayırır.
Açıklama:minMember, eşzamanlı kabul için gang-scheduling eşiğidir; bir başlatma sırası kuralı, ömür boyu üst sınır ya da boş-tampon rezervasyonu değildir.
Ti Cluster Scheduling ResourcesZorluk 2
Bir kuyruk işleri geliş sırasına göre işliyor, ama küçük işler bittikçe kaynaklar yavaş yavaş boşalıyor. 32 GPU isteyen büyük bir iş saatlerdir kuyruğun başında bekliyor ve başlamıyor, çünkü sürekli gelen yeni 4-GPU'luk işler GPU'lar boşalır boşalmaz onları kapıyor. Bu örüntünün adı nedir ve bunu doğrudan çözen özellik hangisidir?
  • aBu açlıktır; yeterli GPU biriktiğinde işin sırasını bir rezervasyon garanti eder.
  • bBu öncelik tersine dönmesidir; çözüm tüm işlere, geliş sırasından bağımsız, eşit öncelik vermektir, çünkü dengesizliği yaratan o farktır.
  • cBu thrashing'dir; çözüm kümedeki düğüm sayısını azaltmaktır.
  • dBu kilitlenmedir; çözüm işi daha az GPU isteğiyle, kuyruğa yeni bir kimlikle, yeniden göndermektir.
Açıklama:Büyük iş dairesel bir bağımlılık ya da kaynak salınımı yüzünden takılı değil, basitçe sırası hiç gelmiyor; garantili bir rezervasyon bunu doğrudan önler.
Ti Cluster Scheduling ResourcesZorluk 3
Bir zamanlayıcı backfill kullanıyor: daha küçük bir iş, daha önce kuyruğa giren büyük bir işin önüne geçebilir, ama yalnızca bu, büyük işin olası en erken başlangıç zamanını geciktirmiyorsa. Büyük iş (önce kuyruğa girmiş, 16 GPU istiyor) 3 saat içinde yeterli GPU'ya kavuşacak şekilde projekte ediliyor. Yeni gönderilen küçük bir iş şu an boş olan 2 GPU istiyor ve tahmini çalışma süresi 2 saat. Backfill küçük işin şimdi çalışmasına izin verir mi?
  • aHayır, backfill işleri yalnızca katı gönderim sırasına göre çalıştırır.
  • bHayır, backfill yalnızca aynı boyuttaki işlere uygulanır.
  • cEvet; 2 saatlik çalışması büyük işin kaynaklara ihtiyaç duyduğu 3 saatlik noktadan önce biter.
  • dEvet, ama yalnızca her seferinde bir yönetici onayıyla.
Açıklama:Backfill'in tüm amacı, öndeki işi kanıtlanabilir biçimde geciktirmediği sürece küçük işleri sıra dışı çalıştırmaktır; 2 saatlik bir işin sınırdan önce bitmesi bunu sağlar.
Ti Cluster Scheduling ResourcesZorluk 2
Bir iş toplam 8 GPU istiyor. Düzen 1, 8'inin de tek bir düğümde (hızlı düğüm-içi bağlantıyla bağlı) olmasını sağlıyor. Düzen 2, 4 ayrı düğümün her birine 2 GPU koyuyor (küme ağıyla bağlı, düğüm-içi bağlantıdan belirgin şekilde yavaş). Diğer her şey aynıyken, aynı senkron eğitim işini genelde hangisi daha hızlı bitirir ve neden?
  • aDüzen 1, çünkü senkronizasyon ağ yerine hızlı düğüm-içi bağlantıda kalır.
  • bDüzen 2, çünkü GPU'ları düğümlere bölmek kullanılabilir bant genişliğini çoğaltır.
  • cİkisi de aynı sürede biter; gang scheduling yalnızca rank'ların ne zaman başladığını belirler.
  • dDüzen 2, çünkü daha fazla düğüm işe daha fazla CPU çekirdeği verir.
Açıklama:Darboğaz senkronizasyon için GPU'lar-arası bant genişliğidir; Düzen 1 bunu hızlı bağlantıda tutar, ne daha fazla düğüm ne de başlangıç zamanı bunu değiştirir.

2400 soruluk ML Engineer bankasında kendini sına.

Mülakata başla