Azure CycleCloud'da Spot VM'leri kullanma

Azure CycleCloud, kümelerin işletim maliyetini büyük ölçüde azaltmak için Nodearrays'te Spot VM'leri dağıtmayı destekler.

Dikkat

Spot VM'ler tüm iş yükleri ve küme türleri için uygun değildir. Kullanılabilirlik veya kapasite için SLA sunmaz. Bunlar "önceden belirlenebilir" veya "düşük öncelikli" örneklerdir ve kapasiteyi yönetmek ve Spot fiyatı değiştikçe Azure dokusu tarafından çıkarılabilir.

Spot için Nodearray yapılandırma

Nodearray için Spot özelliğini etkinleştirmek için bölümünde true [[nodearray]] olarak ayarlamanız Interruptible yeterlidir.

CycleCloud, kümelerin Spot örnekleri için bir MaxPrice belirtmesine olanak tanır. Spot fiyatı düzenli aralıklarla ayarlanabileceği ve Bölgeler ile SKU'lar arasında önemli ölçüde farklılık gösterebileceğinden, MaxPrice kullanıcıların bir VM için ödeme yapmak istedikleri maksimum fiyatı ($/saat cinsinden) denetlemesine olanak tanır. Varsayılan olarak CycleCloud, aksi belirtilmediğinde ayarlanır MaxPrice=-1 ve bu da "Spot fiyatına göre çıkarma" anlamına gelir. Bu ayar sayesinde örnekler yalnızca kapasite taleplerindeki değişiklikler veya platform düzeyindeki diğer kararlar nedeniyle çıkarılacaktır.

Spot örnekleri için değişken fiyatlandırması hakkında ayrıntılı bilgi için bkz. Spot Fiyatlandırması .

Çoğu HPC uygulaması için MaxPrice=-1 iyi bir varsayılan seçenektir. Ancak nodearray, bir dizi VM SKU'sunda çoklu seçim otomatik ölçeklendirmeyi destekliyorsa, MaxPrice çoklu seçim listesinde daha düşük fiyatlı SKU'lar için bir tercih oluşturmak üzere de özelleştirilebilir.

[cluster demo]

  [[nodearray execute]]
  Interruptible = true
  MaxPrice = 0.2

Tüm ayrıntılar için küme şablonu kılavuzundaki Spot Sanal Makineler bölümüne bakın.

Spot VM Çıkarma

CycleCloud, Zamanlanmış Olaylar özelliği aracılığıyla spot çıkarmaları izler. Bir nokta önalım olayı algılandığında, Vm CycleCloud'a bildirilir ve örnek "çıkarma bekleniyor" durumuna taşınır.

Sık Sorulan Sorular

Spot'un CycleCloud ile kullanılması HPC iş yüklerine ve CycleCloud otomatik ölçeklendirmeye özgü bazı noktalara sahiptir.

Spot kullanmayı ne zaman düşünmeliyim?

  • Bireysel işleriniz nispeten kısa mı?
    • Bir saatten kısa bir süre içinde çalışan işlerin Spot örnekleri için uygun olması iyi bir kuraldır, çünkü örnek çıkarılırsa görece az ileri ilerleme kaybolacaktır.
  • Zamanlayıcınız başarısız olan konaklarda işleri otomatik olarak yeniden dener/yeniden kuyruhlar mı?
  • Yürütme sırasında konak çıkarılırsa işleriniz yeniden çalıştırılır mı?
    • Genel olarak spot örnekler durum bilgisi olmayan iş yükleri için en iyisidir.
  • Çalıştırmanın maliyetini en aza indirmek tamamlanma süresinden daha mı önemli?
    • Spot genellikle şirket içi düşük öncelikli veya arka doldurma kuyruklarında zamanlanmış olabilecek iş yükleri için mükemmeldir.
    • Bu, Spot'un kısa MPI işleri için bile uygun olabileceği durumlardan biridir.

Spot kullanmaktan ne zaman kaçınmalıyım?

  • İşleriniz sıkı bir şekilde bağlanmış HPC işleriyse (örneğin, MPI işleri) spot için uygun adaylar olmayabilir.
  • İşiniz kritikse ve/veya tamamlanma tarihi varsa, çıkarmalar ve yeniden denemeler tamamlanma süresini uzatabileceğinden normal öncelik örnekleri daha uygun olabilir.
    • Ancak bu, Spot örnekleri ekleyerek çalışma zamanını ve maliyeti azaltmaya çalışırken son tarihin karşılandığından emin olmak için kümenizi normal öncelikli ve Spot örneklerinin bir karışımını kullanacak şekilde yapılandırmak için mükemmel bir fırsat olabilir.
  • İşlerinizin yeniden çalıştırılması güvenli değilse Spot kullanmaktan kaçınılmalıdır.
    • Örneğin, işiniz yürütme sırasında veritabanını değiştirirse işi otomatik olarak yeniden çalıştırmak hatalara veya geçersiz sonuçlara neden olabilir.
  • İşler çalışma zamanlarınız çok uzunsa Spot uygun olmayabilir.
    • Uzun süreçler için hem Spot çıkarma şansı hem de yeniden denemelerin dolar ve zaman maliyetleri artar.
    • Ancak bu durum, servis talebi temelinde ölçüm gerektirebilen bir durumdur.

Çıkarma / Ön Kullanım

Azure'da spot çıkarma hakkında ayrıntılı bilgi için bkz. Spot Çıkarma İlkesi.

S. CycleCloud, Spot örneği çıkarmalarını/önkoşullarını izleyebilir mi?

A. Evet. Spot çıkarma olayı, Kümeler kullanıcı arabirimi sayfasında bir Olay Günlüğü bildirimi oluşturur.

S. Kullanıcılara çıkarma hakkında nasıl bildirim gönderilir?

A. CycleCloud düğümü çıkarıldıktan sonra, kullanıcılar küme için CycleCloud kullanıcı arabiriminin olay günlüğünde bir günlük iletisi görür. Kullanıcılar ayrıca bir spot örneği çıkarıldıktan sonra Azure EventGrid aracılığıyla CycleCloud'dan olay almak için kaydolabilir.

  • Kullanıcılar çıkarmadan 30 saniye önce makinede çıkarma bildirimi olup olmadığını denetleyebiliyor. Etkinliğe kaydolma hakkında ayrıntılı bilgi için bkz. Zamanlanmış Olaylar .
  • Genel olarak çıkarma, fişi şirket içi bir makineye çekmeye benzer olarak kabul edilmeli ve aynı şekilde işlenmelidir.
  • ÖNEMLİ Olay işleyicileri Spot Çıkarma Olayını kabul etmemelidir , çünkü Cyclecloud olay işleyicisi kabul edilirse olayı alamayabilir.

S. Çıkarma ne sıklıkta gerçekleşir?

A. Çıkarma oranı yüksek oranda değişkendir ve büyük ölçüde tüm bölgedeki talep değişikliklerine bağlıdır.

S. Örnekler neden çıkarılıyor?

A. Spot VM'ler kullanılabilirlik konusunda hiçbir garanti sağlamaz ve herhangi bir zamanda çıkarılabilir. Ayrıntılar için Spot VM belgelerine bakın. Nodearray bir ayarladıysa MaxPrice Spot fiyatı değerinin üzerine MaxPriceçıkarsa örnekler çıkarılır. Spot fiyatı çok yavaş hareket ettiğinden bu durum nadir görülür . Çıkarmayı tetikleyebilecek bazı senaryolar şunlardır:

  1. Düzenli öncelikli VM'lere olan talep arttıkça Spot kapasitede azalmalar.
  2. Planlı donanım bakımı gibi platform düzeyinde olaylar.

İş akışım çıkarma işleminden nasıl etkilendi?

S. Spot örneği çıkarıldığında işlerime ne olur?

A. İşler 30 saniyelik çıkarma bildirimini işleyecek ve uygun şekilde işleyecek şekilde kodlanmadığı sürece, düğüm basitçe sonlandırılır ve iş başarısız olur (ve umarım yeniden denenmiştir).

S. Düğümler kümeden silindi mi?

A. Evet, düğümler CycleCloud kullanıcı arabiriminde temizlenir. Desteklenen zamanlayıcılarda düğümler zamanlayıcıda da temizlenir.

S. İşlerin yeniden çalıştırılması gerekiyor mu?

A. Genel olarak, çıkarılan işleri yeniden denemek / yeniden çalıştırmak zamanlayıcının işidir. Ancak, birçok iş sınıfı yeniden denemelere toleranslı değildir (örneğin, çalıştırılırken kalıcı depolamaya kısmi veri yazıyorlarsa). Bu işler Spot örneklerde yürütülmeye uygun olmayabilir.

S. Spot ve İsteğe Bağlı/Normal Öncelikli VM'lerin bir karışımını kullanabilir miyim?

A. Evet. Spot ve Regular-Priority'nin bir karışımını oluşturmak için ayrı Spot (Interruptible) ve Spot olmayan nodearray'ler kullanabilirsiniz. Örnek türlerinin bir karışımını kullanmak için genellikle kullanıcının seçtiği gereksinimlere ve zamanlayıcıya bağlı olarak bazı yapılandırma kararları alınması gerekir. Yaygın yapılandırmalardan birkaçı şunlardır:

  • Spot'ı ayırın ve VM'leri zamanlayıcıda ayrı Kuyruklara Regular-Priority.
    • Bu yapılandırma, göndericinin işleri uygun VM türünde kolayca hedeflemesine olanak tanır
  • Hem Spot hem de Regular-Priority örnekleriyle tek bir büyük kaynak havuzu oluşturun.
    • Bu yapılandırma, ileriye doğru ilerlemeyi sağlamak için normal öncelikli örneklerin küçük bir yüzdesini ve maliyeti ve çalışma zamanını azaltmak için Spot'un büyük bir yüzdesini kullanan yüksek oranda ölçeklenebilir iş yükleri için yararlı olabilir.

S. CycleCloud nodearrays için Spot Çıkarma İlkesini değiştirebilir miyim?

A. Evet. İlkeyi EvictionPolicyDelete veya Deallocate olarak değiştirmek için özniteliğini doğrudan nodearray üzerinde ayarlayabilirsiniz (varsayılan: Delete). Ancak bu, şu anda yalnızca serbest bırakma işlemlerini uygun şekilde işleyen özel otomatik ölçeklendiriciler için yararlıdır. Geçerli Azure CycleCloud otomatik ölçekleyicileri, spot örneklerin çıkarma işleminden sonra silinmesini bekler.

CycleCloud'da Spot çıkarma için Zamanlayıcı desteği

Zamanlayıcınız için CycleCloud uygulaması hakkında ayrıntılı bilgi için zamanlayıcıya özgü kılavuza bakın.

S. Zamanlayıcım için otomatik ölçeklendirici Spot çıkarma işlemini nasıl işler?

A. Yerleşik/desteklenen zamanlayıcılar (HTCondor, GridEngine, PBS Professional, Slurm, LSF) için tüm otomatik ölçekleyiciler Spot çıkarmaları düzgün bir şekilde işlemeye çalışır. Genel olarak, çıkarılan örnek Scheduler'dan kaldırılır ve çıkarma işleminden sonra kapasite talebi yeni kullanılabilir kapasiteden yüksekse, otomatik ölçeklendirici örneğin yerini alır.

Özel otomatik ölçeklendiriciler Spot çıkarmaları veya genel makine hataları beklenecek şekilde oluşturulmalı ve bunları düzgün bir şekilde işlemelidir .

S. Çıkarılan örnekte çalışan işlere ne olmasını beklemeliyim?

A. Bu, büyük ölçüde işi gönderirken yapılandırılması gereken kullanıcıya aittir. GridEngine gibi bazı zamanlayıcılar da kuyruk başına varsayılan eylemin yapılandırılmasına izin verir. Varsayılan olarak, HTCondor dışında tüm yerleşik CycleCloud zamanlayıcı dağıtımları, üzerinde çalıştıkları düğüm çıkarıldığında veya beklenmedik şekilde sonlandırıldığında işleri başarısız olarak işaretleyerek yapılandırılır. Yalnızca kullanıcı işlerinin güvenli bir şekilde yeniden denenip denenemediğini bilebileceği için bu davranış tasarım gereğidir.