Bulut bilişim algoritmalarını stres testine tabi tutma yöntemi, ağ arızalarını önlemeye yardımcı olur

Bulut bilişim algoritmalarını stres testine tabi tutma yöntemi, ağ arızalarını önlemeye yardımcı olur
“MetaEase” tekniği, uzun bekleme sürelerine veya kesintilere neden olabilecek potansiyel senaryolar hakkında önceden bilgi sağlar.

MIT ve diğer yerlerden araştırmacılar, ağ mühendislerinin büyük sorunlara yol açmadan önce potansiyel sistem arızalarını tanımlamalarına yardımcı olmak için daha kullanıcı dostu ve verimli bir yöntem geliştirdiler; bu tür sorunlar, milyonlarca kullanıcının uygulamalara erişemediği bir bulut hizmeti kesintisi gibi olabilir.

Bu teknik, bir kısayol algoritmasının dağıtıldığında beklenmedik bir şekilde başarısız olmasına neden olabilecek gizli kör noktaları ortaya çıkarır.

Bu yeni yaklaşım, bir mühendis tarafından geleneksel bir yöntem kullanıldığında gözden kaçabilecek en kötü senaryoları tanımlayabilir; bu yöntem, bir algoritmayı insan tasarımı geçmiş test vakaları seti ile karşılaştırır. Ayrıca, mühendislerin her test etmek istediklerinde karmaşık bir matematiksel kodda bir algoritmayı yeniden yazmalarını gerektiren diğer doğrulama araçlarından daha az iş gücü gerektirir.

Matematiksel bir yeniden formülasyona ihtiyaç duymadan, yeni yöntem, algoritmanın kaynak kodunu doğrudan okur ve en yüksek düzeyde performans düşüklüğüne yol açan en kötü senaryoları otomatik olarak arar.

Mühendislerin bir ağ algoritmasını dağıtım öncesinde hızlı ve kolay bir şekilde stres testine tabi tutmalarına yardımcı olarak, bu yöntem, aksi takdirde yalnızca gerçek bir kesinti sırasında ortaya çıkabilecek arıza modlarını yakalayabilir. Bu teknik, AI tarafından üretilen kodun dağıtım risklerini analiz etmek için de kullanılabilir.

“Algoritmalarımızın en kötü senaryo performansını ölçmek için iyi araçlara ihtiyacımız var, böylece üretime almadan önce neler olabileceğini bilelim. Bu, mevcut sistemlere entegre edilebilen kullanımı kolay bir araçtır, böylece en iyi algoritmayı bulabiliriz ve en kötü senaryoların önceden tanımlanmasını sağlayabiliriz,” diyor bu yeni teknik üzerine bir makalenin baş yazarı olan elektrik mühendisliği ve bilgisayar bilimi (EECS) yüksek lisans öğrencisi Pantea Karimi.

Karimi'ye, EECS'de doçent olan ve Bilgisayar Bilimi ve Yapay Zeka Laboratuvarı (CSAIL) üyesi olan kıdemli yazar Mohammad Alizadeh; Microsoft Research'te baş araştırmacı olan Behnaz Arzani; Microsoft Research'te araştırmacılar olan Ryan Beckett, Siva Kesava Reddy Karkarla ve Pooria Namyar; ve Rice Üniversitesi'nde profesör olan Santiago Segarra eşlik ediyor. Araştırma, USENIX Ağ Sistemleri Tasarımı ve Uygulaması Sempozyumu'nda sunulacak.

Algoritmaların Değerlendirilmesi

Bulut sunucuları gibi büyük sistemlerde, verileri bir yerden diğerine yönlendiren denemiş ve test edilmiş algoritmalar genellikle çalıştırmak için makul bir süre içinde çok hesaplama yoğun olabilir.

Bu nedenle mühendisler ve araştırmacılar, çok daha hızlı çalışabilen alt optimal algoritmalar olan heuristikler geliştirir. Ancak, dağıtıldığında bir heuristiğin performans düşüklüğüne veya başarısızlığa neden olabilecek beklenmedik ama olası durumlar olabilir.

Bir heuristik, bir bulut ağı üzerinden milyonlarca veri isteğini saniyeler içinde yönlendirebilir, ancak yanlış koşullar altında — alışılmadık bir trafik modeli veya ani bir talep artışı gibi — kısayol, tasarımcının asla öngöremediği şekillerde bozulabilir.

Bu sorunlar ortaya çıktığında, bir şirket, işlenemeyen bazı talepleri bırakmak zorunda kalabilir.

Şirket ayrıca, potansiyel bir felaketi önlemek için önceden daha fazla kaynak tahsis edebilir, bu da toplam maliyetlerin artmasına ve düşük kullanım nedeniyle israf edilen elektriğe yol açar.

“Bu, bir şirket için gerçekten kötü çünkü her durumda çok para kaybedecekler. Bu belirli senaryo daha önce yaşanmadıysa ve asla test edilmediyse, bir geliştirici bunun olmasından önce nasıl bilebilir?” diyor Karimi.

Heuristiklerin stres testi genellikle yeni bir algoritmayı simülasyonda insan tasarımı test vakaları seti kullanarak çalıştırmayı ve performansı önceki bir algoritma ile manuel olarak karşılaştırmayı içerir. Ancak bu zaman alıcıdır ve bir mühendis belirli durumları test etmeyi bilmezse kör noktalar bırakabilir.

Alternatif olarak, mühendisler, heuristiklerinin performansını daha sistematik bir şekilde değerlendirmek için bir doğrulama aracı kullanabilir. Ancak bu araçlar, mühendislerin algoritmayı karmaşık bir matematiksel formüle kodlamasını gerektirir ve bu süreç günler alabilir. Her tür heuristik için işe yaramayan bu süreç, mühendis kodu her değiştirdiğinde tekrarlanmalıdır.

Bunun yerine, araştırmacılar, heuristiğin mevcut uygulama kodunu doğrudan analiz eden ve onu dağıtmanın en büyük risklerini tanımlayan daha kullanıcı dostu ve verimli bir doğrulama aracı olan