Asynchronous runtime for AMR applications on exascale systems
2018
0 views
0 downloads
Advisor: Yrd. Doç. Dr. Didem Unat
Abstract (TR)
Uyarlanabilir Izgara Geliştirimi (Adaptive Mesh Refinement - AMR) belirli uygulamalar için hesaplama ve bellek maliyetini düşüren, kısmi ayrışık denklemlerin çözümü için geliştirilen bir yaklaşımdır. AMR, hesaplama alanını, ardışık olarak rafine edilmiş ızgaraların bir hiyerarşisi olarak temsil eder ve hiyerarşide hem iç hem de dış iletişimi ele alır. Basit bir AMR algoritması bir zaman adımı içerisinde bile, iletişim yönünden zaten pahalı olan pek çok eşzamanlama noktasını içerir. Bu problem, iletişim maliyetini daha da artıran milyar derecede paralleliğe sahip exascale süper bilgisayarlarda daha da belirgin hale geliyor. Asenkron yürütme aracılığıyla haberleşmeyi hesaplama ile örtüştürmek, iletişim maliyetini azaltmak için yaygın olarak kullanılan bir tekniktir. Senkronizasyondan kaçınmak için AMR algoritmalarını yeniden tasarlamak ve bir AMR uygulamasında iletişimin ve hesaplamanın örtüşmesini sağlamak için uygulamayı yeniden yapılandırmak fazlasıyla karmaşıktır. Bunlar, geniş kod büyüklüğünden ve karmaşık kontrol yapılarından dolayı yazılım geliştirmeyi ve yazılım bakım maliyetlerini daha da artırır. AMR uygulamalarında haberleşmenin etkilerini gizlemek için kesintisiz (nonintrusive) asenkron bir yaklaşım sunmaktayız. Yaklaşımımız, AMR uygulamaları ile ilgili alan bilgisini kullanarak veri bağımlılıklarını otomatik olarak algılar ve makul miktarda kod değişikliği ile asenkronizasyonu sağlar. Bu yaklaşımı kullanarak, faz asenkron bir AMR algoritması önermekte ve onu yaygın kullanılan AMReX adında AMR çerçevesine dahil etmekteyiz. Tüm haberleşme bitene kadar hesaplamanın geciktirildiği senkron algoritmaların aksine, faz asenkron algoritmasında, bağımlı haberleşme tamamlandığında AMR seviyesindeki bir alt ızgarada hesaplama yapılır. Bununla birlikte bir AMR seviyesindeki tüm alt ızgaraların hesaplanması bir sonraki AMR seviyesindeki hesaplama başlamadan önce tamamlanır. Faz asenkron AMR algoritmamız, hem senkron bir yaklaşımın verimliliğine sahiptir hem de tam asenkron uygulama performansını elde etmeyi amaçlamaktadır. AMR uygulamaları için önerilen faz asenkron yürütmeye olanak sağlayan yürütme sistemi gerçekleştirdik. Yürütme sistemi hiyerarşideki hem iç hem de dış haberleşmenin hesaplama ile örtüşmesine olanak vermektedir. Yürütme sistemi hem iç hem de dış haberleşmeyi gerçekleştiren haberleşme denetçilerini (communication handlers) içermektedir. Uygulamalar haberleşme verisini yürütme sisteminin haberleşme denetçisine devretmektedir. Bir ızgara için haberleşme bağımlılıkları tamamlanır tamamlanmaz, yürütme sistemi o ızgaranın hesaplanmasını planlamaktadır. Büyük köklü kodların senkronize olmayan yürütmeden senkronize yürütmeye geçişini kolaylaştıran, faz asenkron yürütme sistemi için uygulama programı arabirimini (UPA) dikkatli bir şekilde tasarladık. Yeni asenkron AMReX çerçevemizi tanıtmak için gerçek-dünya kodu olan, astrofizik akışları için çok bileşenli sıkıştırılabilir hidrodinamik denklemleri çözen CASTRO kodunu bir vaka çalışması olarak ele aldık. CASTRO'nun dönüşüm stratejisini tartıştık ve yeni UPA'mızı kullanmak için gereken programlama çabasını ve performansı değerlendirdik. Yaklaşımımız, uygulama programcısının verimliliğini ciddi biçimde etkilemeden okunurluğu ve uzun vadeli sürdürülebilirliği korurken, performans gerekliliklerini de yerine getirmektedir. Süper bilgisayar mimarileri heterojenliğe doğru yönelmektedir. Şuanda 500 süper bilgisayardan 100 tanesi hızlandırıcı kullanmaktadır ve bu sayı ilk 10 içerisindeki beş makineyi de kapsamaktadır. Bu nedenle heterojen mimariler için destekten yoksun olan programlama modellerinin bu makinelere uyarlanma ihtimali düşüktür. Heterojen mimariler üzerinde yürütmeyi desteklemek için yürütme sistemimizi genişlettik. Programlama modelimizin ve yürütme sistemimizin, AMR uygulamaları heterojen mimariler üzerine taşındığında ortaya çıkan güçlüklerle nasıl başa çıktığını göstermekteyiz. Yürütme sistemi, verimliliği korurken tüm hesaplama kaynaklarının etkin kullanımı için eşzamanlı olarak hem CPU'larda hem de GPU'larda hesaplama yapar. Performans çalışmalarında, küçük bir ısı adveksiyon uygulamasını ve geniş bir gerçek dünya üretim kodu olan CASTRO'yu kullanmaktayız. Intel Haswell ve Intel Xeon Phi (Knights Landing- KNL) kullanan, Hazel Hen ve Cori süper bilgisayarlarındaki performansı gösterdik. Makul bir programlama çalışmasıyla, Intel Haswell üzerinde 49K çekirdek ve KNL üzerinde 278,528 çekirdek kullanarak yüzde 50 daha iyi performans almayı başardık. Ayrıca yürütme sisteminde heterojen mimari desteğin performans analizini SummitDev'de ısı tutma kodunu kullanarak yaptık. SummitDev, IBM Power8 CPU'lar ve NVIDIA Tesla P100 GPU'lar ile donatılmış heterojen bir mimariye sahiptir.
Author
Dr. Muhammad Nufaıl Farooqı
How to Cite
Muhammad Nufaıl Farooqı (Doktora Tezi). Asynchronous runtime for AMR applications on exascale systems, 2018, Koç University.
Keywords
License
Tüm Hakları Saklıdır
This work is shared under the specified license terms.
More theses from Koç University
- International marketing strategies of Ekom-Eczacıbaşı in the Russian market(1995)
- The Balkans in an Age of Baroque transformations in architecture, decoration, and patterns of patronage ad cultural production in Ottoman Europe, 1718-1856(2006)
- Single machine scheduling with timelag constraints(2014)
- Ottoman olfactory traditions in a palatial space: Incense burners in The Topkapi Palace(2015)
- The connectedness of the Rum Seljuks and the Kingdom of Georgia: A framework for artistic exchance in the thirteenth century(2015)
- Turkish coffee fortune-telling ritual as a source of inspiration for designing object-mediated advice interactions(2017)
