Microsoft HPC Pack

Tamamlandı

Yüksek performanslı altyapınızın üst düzey denetimi için veya hem bulut hem de şirket içi VM'leri yönetmek için Microsoft HPC Pack'i kullanmayı göz önünde bulundurun.

Mühendislik şirketinizde yüksek performanslı altyapıyı şirket içi veri merkezlerinden Azure'a geçirmek istiyorsunuz. Bu sistemler iş açısından kritik olduğundan aşamalı bir geçişi tercih ediyorsunuz. Hem şirket içi hem de bulut VM'leri olduğunda geçiş sırasında talebe hızlı bir şekilde yanıt verebildiğinizi ve VM'leri esnek bir şekilde yönetebileceğinizden emin olmanız gerekir.

Burada HPC Paketinin HPC altyapısını nasıl yönetebileceğini öğreneceksiniz.

HPC Pack nedir?

Mühendislik kuruluşuna yönelik seçenekleri araştırırken Azure Batch ve Azure HPC Örnekleri'ni incelediniz. Peki VM kümelerinizin yönetimi ve zamanlaması üzerinde tam denetim sahibi olmak istiyorsanız ne olacak? Veri merkezinizde şirket içi altyapıya önemli bir yatırım yapmış olabilirsiniz. HPC Pack, Windows için kendi denetim ve yönetim düzleminizi yapılandırmanıza olanak tanıyan bir dizi yükleyici ve ayrıca şirket içi ve bulut düğümlerinin son derece esnek dağıtımlarını sağlar. Yalnızca bulut tabanlı olan Batch'ten farklı olarak HPC Pack'in hem şirket içine hem de buluta dağıtım yapma esnekliği vardır. Şirket içi rezervleriniz yetersiz kaldığında buluta genişletebilmek için her ikisini karma olarak kullanır.

Diagram of HPC Pack hybrid.

HPC Paketi, Size tam denetim ve sorumluluk sağlayan Batch yönetimi ve zamanlama denetim katmanının bir sürümüdür. HPC Paketi dağıtımı için Windows Server 2012 veya üzeri gerekir.

HPC Pack için planlama

Genelde HPC Pack yüklemesine hazırlanırken gereksinimleri tümüyle gözden geçirmelisiniz. SQL Server'a ve Active Directory denetleyicisine ihtiyacınız vardır. Ayrıca bir topoloji de planlamanız gerekir. Kaç tane baş veya denetim düğümü ve kaç tane çalışan düğümü olmalı? Azure'a genişletmeniz gerekiyor mu? Öyleyse kümenin bir parçası olarak Azure düğümlerini önceden hazırlayabilirsiniz. Denetim düzlemini oluşturan ana makinelerin boyutu (baş ve denetim düğümleri, SQL Server ve Active Directory etki alanı denetleyicisi) öngörülen küme boyutuna bağlıdır.

HPC Pack'i yüklediğinizde hem HPC hem de paralel işler için destek sağlayan bir iş zamanlayıcısı gösterir. Zamanlayıcı Microsoft İleti Geçirme Arabirimi'nde görüntülenir. HPC Pack, Windows ile büyük ölçüde tümleşik çalıştığından paralel hata ayıklama için Visual Studio'yu kullanabilirsiniz. Kümedeki işlem düğümlerinden gelen tüm uygulama, ağ ve işletim sistemi olaylarını tek bir hata ayıklayıcı görünümünde görebilirsiniz.

HPC Pack gelişmiş iş zamanlaması da sunar. Hatta özel olarak HPC Pack'e ayrılmamış düğümlere, Linux tabanlı düğümlere ve Azure düğümlerine hızla dağıtabilirsiniz. Diğer bir deyişle veri merkezinizin içindeki yedek kapasiteyi kullanabilirsiniz. HPC Pack mevcut altyapı yatırımlarını kullanmak ve çalışmanın nasıl bölündüğünü daha iyi denetlemek için Batch'le mümkün olandan daha ideal bir yol sağlar.

Karma teknolojileri kullanma

Bu modülde gözden geçirdiğiniz seçenekler birbirini dışlamaz. Önceki ünitede gördüğünüz H Serisi VM'lerini, HPC yapılandırmasındaki olası Azure düğümleri olarak kullanabilirsiniz. Batch ile farklılıkları vurgulamak amacıyla karma kullanım örneklerine odaklandığınızda, HPC Pack esnektir. Hem yalnızca şirket içi dağıtımlarına hem de yalnızca bulut tabanlı dağıtımlara olanak tanır. Bu esneklik Batch'in sağladığından daha ayrıntılı denetim istediğinizde yararlı olur.

HPC Sistemlerini Dağıtma ve Yönetme

HPC sistemlerini düzenleme

Bulut bilişimin temel kavramlarından biri Orchestration'dır. Kümedeki bir uygulamanın tüm bileşenlerinin dağıtımının denetlenip çalıştırılmasını ve izlenmesini ifade eder.

Ayrıca bir düzenleyici, düzeltme (hataları yönetme), ölçeklendirme ve günlüğe kaydetme gibi diğer görevleri de gerçekleştirebilir. İyi bilinen Kubernetes veya Mesos gibi düzenleyiciler, sanallaştırma yoluyla bulut kümesi kaynaklarına doğrudan erişebilir.

HPC sistemlerini dağıtma

Azure'daki HPC dağıtımları, iş yükü gereksinimlerinize ve bütçenize göre farklılık gösterebilir. Herhangi bir dağıtımda şunlar da dahil olmak üzere bazı standart bileşenler vardır:

  • Azure Resource Manager: Betik dosyalarını veya şablonlarını kullanarak uygulamaların kümelere dağıtımını etkinleştirir.
  • HPC baş düğümü: İşleri ve iş yüklerini çalışan düğümlerine zamanlamayı etkinleştirir. HPC kümelerini yönetmek için kullanılan bir sanal makinedir (VM).
  • Sanal Ağ: ExpressRoute veya IPsec VPN ile güvenli bağlantılar aracılığıyla yalıtılmış bir küme ve depolama ağı oluşturulmasını sağlar. Ağınızdaki yerleşik DNS sunucularını ve IP adreslerini tümleştirebilir ve alt ağlar arasındaki trafiği ayrıntılı olarak denetleyebilirsiniz.
  • Sanal Makine Ölçek Kümeleri: Küme vm'lerinin sağlanmasını sağlar ve otomatik ölçeklendirme, çok bölgeli dağıtımlar ve yük dengeleme özellikleri içerir. MongoDB, Cassandra ve Hadoop gibi çeşitli veritabanlarını çalıştırmak için ölçek kümelerini kullanabilirsiniz.
  • Depolama: Kalıcı depolama kümelerini blob, disk, dosya, karma veya veri gölü depolama biçiminde bağlamayı etkinleştirir.

Azure HPC Dağıtımlarını Yönetme

Azure, HPC dağıtımlarınızı yönetmenize yardımcı olacak birkaç yerel hizmet sunar. Bu araçlar, yönetiminiz için esneklik sağlar ve Azure'da ve karma kaynaklarda iş yüklerini zamanlamanıza yardımcı olabilir.

  • Microsoft HPC Paketi: VM kümelerini yapılandırmanızı ve yönetmenizi, işlemleri izlemenizi ve iş yüklerini zamanlamanızı sağlayan bir dizi yardımcı program. HPC Pack, şirket içi iş yüklerini geçirmenize veya karma dağıtımla çalışmaya devam etmeye yardımcı olacak özellikler içerir. Yardımcı program, vm'leri veya ağ altyapısını sizin için sağlamaz veya yönetmez.
  • Azure CycleCloud: Seçtiğiniz zamanlayıcı için bir arabirim. Azure CycleCloud'ı HPC Pack, Grid Engine, Slurm ve Symphony gibi çeşitli yerel ve üçüncü taraf seçenekleriyle kullanabilirsiniz. CycleCloud, iş yüklerini yönetmenize ve düzenlemenize, Active Directory ile erişim denetimleri tanımlamanıza ve küme ilkelerini özelleştirmenize olanak tanır.
  • Azure Batch: Dağıtımları otomatik ölçeklendirmek ve iş zamanlaması için ilkeler ayarlamak için kullanabileceğiniz yönetilen bir araç. Azure Batch hizmeti iş yüklerinizin sağlanmasını, atamasını, çalışma zamanlarını ve izlenmesini işler. Bunu kullanmak için iş yüklerinizi karşıya yüklemeniz ve VM havuzunuzu yapılandırmanız yeterlidir.

Azure HPC iş yükleri makine öğrenmesi, görselleştirme ve işleme sunar ve bunların hepsi yarı iletken sektöründeki uygulamaları güçlendirir. Petrol ve gaz iş yüklerinin sorunsuz ve dayanıklı bulut tümleştirmesinin yanı sıra bulut tabanlı genomik sıralama ve yarı iletken tasarımı sağlar.

Azure HPC dağıtımları için en iyi yöntemler

Aşağıdaki en iyi yöntemler beklenen performansı ve değeri almanıza yardımcı olabilir.

  • Dağıtımları Bulut Hizmetleri Arasında Dağıtma: Büyük dağıtımların bulut hizmetleri arasında dağıtılması, tek bir hizmeti aşırı yükleyerek veya bu hizmetten yararlanarak oluşturulan sınırlamaları önlemenize yardımcı olabilir. Dağıtımınızı daha küçük segmentlere bölerek şunları yapabilirsiniz:

    • diğer işlemleri kesintiye uğratmadan iş tamamlandıktan sonra boşta kalan örnekleri durdurma
    • Düğüm kümelerini esnek bir şekilde başlatma ve durdurma
    • Kümelerinizde kullanılabilir düğümleri daha kolay bulma
    • Olağanüstü durum kurtarmayı sağlamak için birden çok veri merkezi kullanma
  • Düğüm Dağıtımları için Birden Çok Azure Depolama Hesabı Kullanma: Dağıtımları hizmetlere yaymaya benzer şekilde, her dağıtıma birden çok depolama hesabı eklemeniz önerilir. Büyük dağıtımlar, giriş/çıkış işlemleriyle kısıtlanan uygulamalar ve özel uygulamalar için daha iyi performans sağlayabilir. Depolama hesaplarınızı ayarlarken, tutarlılık ve düşük gecikme süresi sağlamak için düğüm sağlama için bir hesabınız, iş veya görev verilerini taşımak için başka bir hesabınız olmalıdır.

  • Proxy Düğümü Örneklerini Dağıtım Boyutuyla Eşleşecek Şekilde Artırın: Ara sunucu düğümleri, şirket içinde çalıştırdığınız baş düğümlerle Azure çalışan düğümleri arasında iletişime olanak tanır. Azure'da çalışan dağıttığınızda bu düğümler otomatik olarak eklenir. Ara sunucu düğümleri tarafından sağlanan kaynakları karşılayan veya aşan büyük işler çalıştırıyorsanız, çalıştırdığınız sayıyı artırmayı göz önünde bulundurun. Dağıtımınız büyüdükçe artış özellikle önemlidir.

  • HPC İstemci Yardımcı Programları ile Baş Düğümünüze Bağlan:
    HPC Pack istemci yardımcı programları, özellikle büyük işler çalıştırıyorsanız baş düğümünüze bağlanmak için tercih edilen yöntemdir. Bu yardımcı programları kullanıcılarınızın iş istasyonlarına yükleyebilir ve Uzak Masaüstü Hizmetleri'ni (RDS) kullanmak yerine gerektiğinde baş düğüme uzaktan erişebilirsiniz. Bu yardımcı programlar, birçok kullanıcı aynı anda bağlanıyorsa özellikle yararlıdır.

Görev zamanlama

Sunulan bir diğer HPC hizmeti de görev zamanlamasıdır. İş göndermek için uygulamanızdaki zamanlayıcıyı kullanarak toplu işlerin verimli bir şekilde yürütülmesini sağlayabilirsiniz. Zamanlayıcının ana hedefleri genel olarak şu şekilde sınıflandırılabilir:

  • İş gönderimi ile işi bitirme arasındaki süreyi en aza indirin. Hiçbir iş uzun süre kuyrukta kalmamalıdır.
  • CPU kullanımını iyileştirme. Özellikle daha düşük CPU kapalı kalma süresi.
  • İşlerin zaman birimi başına ölçeklendirilerek iş aktarım hızını en üst düzeye çıkarın.

Görev zamanlama hakkında

Kullanıcılar etkileşimli olmayan toplu işleri zamanlayıcıya gönderir. Zamanlayıcı toplu işleri depolar, kaynak gereksinimlerini ve önceliklerini değerlendirir ve işleri uygun işlem düğümlerine dağıtır. En fazla güç tüketen hpc kümelerinin çoğunu (%98) oluşturur.

Oturum açma düğümlerinden ve etkileşimli kullanımlarından farklı olarak işlem düğümlerine ssh üzerinden doğrudan erişilemez. Oturum açma düğümündeki zamanlayıcı, işlem düğümü ile kullanıcı arasında bir arabirim işlevi görür. Kullanıcının, zaman ve bellek kaynaklarına göre bir iş betiği içinde uygulamayı belirtmesi gerekir.

Zamanlayıcı aracılığıyla gönderilen iş betiği işi bir iş kuyruğuna ekler. İşin ihtiyaç duyduğu kullanılabilir kaynaklara bağlı olarak, zamanlayıcı işin kuyrukta ne zaman ayrıldığına ve arka uç düğümlerinin hangisinde (bir parçası) çalıştırıldığına karar verir.

Kullanıcı, istenen kaynakların sistemin sınırları içinde olduğundan emin olmalıdır. Örneğin:

  1. Zamanlayıcı, ayrılan süre dolduktan sonra iş daha fazla zaman talep etse bile işi öldürür.
  2. İş, sistemdeki kullanılabilir bellekten daha fazla bellek isterse, iş kuyrukta sonsuza kadar takılır.

Diagram of User accessing the batch system.

Illüstrasyon

Kullandığınız toplu iş sisteminin altı düğümden oluştuğu varsayıldığında zamanlayıcı, kuyruktaki dokuz işi kullanılabilir düğümlere yerleştirmek için BT'yi kullanır. Amaç, aşağıdaki diyagramda hiçbir iş yürütmesi olmayan düğümleri gösteren ücretsiz alanlar olarak gösterilen boşa harcanmış kaynakları ortadan kaldırmaktır.

Bu nedenle işler düğümler arasında kuyruğa ilk girdikleri sırayla dağıtılamayabilir. Bir görevin yürütülmesi için gereken düğümlerin zamanı ve sayısı, bir işin kaplayeceği alanı belirler. Zamanlayıcı, kümedeki kullanılabilir kaynaklarla tüm işlerin kaynak gereksinimlerini dengeleyerek kümenin düğümlerini tekdüzen olarak doldurmak için çok boyutlu bir döndürme rolü oynar.

Diagram of Scheduler distribution of jobs onto nodes.

Zamanlama Algoritmaları

Zamanlayıcıların hangi işi çalıştıracaklarını belirlemek için kullanabileceği iki temel strateji vardır. Modern zamanlayıcılar bu algoritmalardan yalnızca birine tam olarak bağlı kalmaz, bunun yerine ikisinin bir bileşimini kullanır. Ayrıca, zamanlayıcının dikkate alması gereken daha birçok özellik vardır, örneğin geçerli sistem yükü.

  • First Come, First Serve Jobs, kuyruğa ilk girdikleri sırayla çalıştırılır. Bunun avantajı, her işin kesinlikle çalıştırılıyor olmasıdır. Ancak, küçük bir iş kümesi, gerçek yürütme süresine kıyasla yetersiz bir süre bekleyebilir.

  • En Kısa İlk İş İş betiğinde bildirilen yürütme süresine bağlı olarak zamanlayıcı, iş yürütme süresini tahmin eder. İşler, yürütme süresinin artan sırasına göre sıralanır. Kısa işler kısa bir bekleme süresi sonunda başlayacak olsa da, uzun süre çalışan işler (veya en azından böyle bildirilen işler) hiçbir zaman başlayamayabilir.

  • Geri doldurma: Zamanlayıcı, uzun süre çalışan işlerin yürütülmesini engellemeden first come, first serve kavramını korur. Zamanlayıcı, işi yalnızca kuyruktaki ilk iş yürütülebildiğinde çalıştırır. Aksi takdirde, zamanlayıcı kuyruktaki ilk işin bekleme süresini uzatmadan başka bir işin yürütülip yürütülemeyeceğini denetlemek için kuyruğun geri kalanından geçer. Böyle bir iş bulursa zamanlayıcı bu işi çalıştırır. Küçük işler genellikle kısa kuyruk süreleri ile karşılaşır.

İş akışı yönetimi

  • Görev kanalı oluşturma ve otomasyon

    Araç kullanımı ve yazılım işlemi görev dizisi yürütmeleri gibi yinelenen işlemler bir işlem hattı halinde düzenlenebilir. Bunu otomatikleştirmek, genel yazılım ve araç kullanımını daha verimli hale getirir. Görevin kendisini daha hızlı hale getirerek ve yönetimi için bilgi çalışanının yükünü azaltarak verimlilikler oluşturur.

    Otomasyon, işlemin gerçekleştirilişindeki varyansı ortadan kaldırarak işlemin hata oranını azaltabilir. Ayrıca bir görevin ardışık düzen ve otomasyonu paralelleştirme ve bulut dağıtımı gibi daha fazla işlem yeniliği için kapı açabilir.

  • İş akışı yönetimi araçları

Azure Batch'i kullanma

Büyük ölçekli paralel ve yüksek performanslı bilgi işlem (HPC) toplu işlerini Azure’da verimli bir şekilde çalıştırmak için Azure Batch’i kullanın. Azure Batch bir işlem düğümleri (sanal makine) havuzu oluşturup yönetir, çalıştırmak istediğiniz uygulamaları yükler ve düğümler üzerinde çalışacak işleri zamanlar. Yüklenecek, yönetilecek veya ölçeklendirilecek bir küme veya iş zamanlayıcı yazılımı yoktur. Bunun yerine, işlerinizi yapılandırmak, yönetmek ve izlemek için Batch API ve araçları, komut satırı betikleri veya Azure portalını kullanırsınız.

Daha fazla özellik ve nasıl çalıştığı da dahil olmak üzere Azure Batch hakkında tüm ayrıntılar için bkz . Azure Batch.

Azure CycleCloud kullanma

Azure CycleCloud, Azure'da Yüksek Performanslı Bilgi İşlem (HPC) ortamlarını düzenleme ve yönetmeye yönelik kolay kullanılan kurumsal bir araçtır. CycleCloud ile kullanıcılar HPC sistemleri için altyapı planlayabilir, tanıdık HPC zamanlayıcıları dağıtabilir ve işleri her ölçekte verimli bir şekilde çalıştırmak için altyapıyı otomatik olarak ölçeklendirebilir. CycleCloud aracılığıyla kullanıcılar farklı türlerde dosya sistemleri oluşturabilir ve HPC iş yüklerini desteklemek için bunları işlem kümesi düğümlerine bağlayabilir.

Azure CycleCloud hakkında daha fazla bilgi için bkz . Azure CycleCloud.

Bilgilerinizi kontrol edin

1.

Kuruluşunuza Azure Batch ile Microsoft HPC Pack arasında seçim yaparken öneride bulunmaya çalışıyorsunuz. HPC Pack'i seçmenin en önemli faktörü ne olabilir?

2.

Şirket içi kaynaklarla başlayarak bir HPC Pack topolojisi ayarlamaya çalışıyorsunuz. Baş düğümde hangi Windows Server sürümünü kullanmalısınız?