Bu tezde, bulut bilişim ortamında çalışan büyük ölçekli bir yüksek başarımlı hesaplama düzeneği kurulumu sırasında karşılaşılan güçlükler ve öğrenimler aktarılacaktır. Özel olarak çevrimiçi bir mekanik yapısal analiz sistemine, genel olarak ise bir çok bilim ve mühendislik alanına uygulanabilecek bu öğrenimler, sonlu elemanlar yöntemine özel bir vurgu yapılarak incelenecektir.
Yüksek başarımlı hesaplama ortamlarında aynı anda birden çok farklı türde ve özellikte iş aynı anda bulunurlar. Hizmet sağlayıcının iş gönderen kullanıcıların beklentilerini karşılamak ve aynı anda da yüksek başarım ortamının en verimli şekilde kullanılması gibi birbiriyle çelişen iki kaygıyı dengelemesi gerekmektedir. Böyle bir düzeneğin verimli çalışması için ise küme üzerindeki işlere ve kümenin verili andaki durumuna göre davranabilen akıllı bir zamanlama yönteminin geliştirilmesi kritik önem taşımaktadır. Bu zamanlama yönteminin geliştirilmesi için gerekli ön çalışmalar, kümenin çözümlemeye çalıştığı iş türlerinin anlaşılıp sınıflandırılması, bu yüklerin zaman ve alan ihtiyaçlarının anlaşılması ve nicel olarak tanımlanmasını içermektedir. İkinci aşamada ise, bu iş yüklerinin çok çekirdekli ve çok düğümlü ortamlarda kaynakların verimli kullanılmasının sağlacak şekilde nasıl zamanlanabileceği sorusunun cevabının araştırılması gerekmektedir. Araştırmalar sırasında iş türlerinden ve hesaplama kümesinin gerçek zamanlı durumundan haberdar olan akıllı bir zamanlama yöntemi kullanılarak, kullanıcılar açısından gecikmeleri azaltmanın, hizmet sağlayıcılar açısından ise verimliliği arttırmanın mümkün olduğunu, bu tür durumlarda yaygın olarak kullanılan en kısa olanın önce çözümlenmesi veya agresif olarak bütün kaynakların kullanılması yöntemlerinden daha iyi sonuçlar alınabildiğini gözlemlenmiştir.
Bu tezin ilk bölümleri sonlu elemanlar yöntemini bir bulut bilişim hizmeti olarak sunmak için gereken tasarımların ve uygulamarın teknik bir tartışmasını içermektedir. Bu teknik tartışma özünde, kurgulanan yüksek başarımlı hesaplama hizmetinin değişik katmanlarda incelenmesi ve mimarilerin oluşturulmasını kapsamaktadır. İlk olarak yazılım hizmeti katmanına odaklanarak doğrusal denklem takımlarının çözümlerini incelenecektir. Ardından bu incelemeler sırasında hesaplamalara temel oluşturan matrislerin karakteristiklerinin işler kümeye gönderilmeden belirlenmesi ve iş hesaplama değişkenlerinin bunlara göre güncellenmesinin verimliliğinin arttırılmasına ve aynı zamanda gecikmelerin azaltılmasına çok büyük katkıları olduğunu gözlemlediği bulgular paylaşılacaktır. Bu giriş kısmını takip eden diğer bölümlerde ise tasarlanan akıllı zamanlayıcı ve başarıma olan 7.53x hızlandırıcı etkisi deney sonuçları ile beraber gösterilecektir. Başarım üzerine verilecek örneklerin ardından ise veri güvenliği, fiyatlandırma ve taşınabilirlik gibi konular da incelenecektir.
İlerleyen bölümlerde ise mühendislik hesaplamalarında yeni yeşermekte olan bir yaklaşım olan yüksek başarımlı bulut bilişim hizmetlerinin kullanılmasının daha etkin hale getirilmesine katkı vermek amacıyla, direkt ve iteratif doğrusal denklem takımı çözücülerinin incelenmesini çeşitlendirilecektir. Ayrıca akıllı zamanlayıcının sadece donanım anlamında hesaplama parametrelerini değil bunun yanı sıra da çözümlenecek işin yapısına göre yazılım parametrelerine de müdahale etmesini sağlamak amacıyla gerçekleştirilen araştırmaların sonuçlarına yer verilecektir. Bu araştırmalar sırasında kullanılan gerçek hayattan alınma doğrusal elastisite problemleri hakkında da kısa bilgilere yer verilecektir. Çeşitli çözünürlüklerde ayrıklaştırılarak örgüleri oluşturulmuş bu modellerin kullanıldığı, geliştirilen akıllı zamanlayıcının değişkenlerini belirlendiği, Cholesky, LU gibi direkt çözücülerin yanı sıra çeşitli Krylov Altuzay Yöntemleri ile de sınandığı deneylerin sonuçlarını paylaşılacaktır. Bu bellek kullanımı, çoklu çekirdek, çoklu düğüm koşum davranışlarını daha sonra lineer elastisite problemlerinin çözümü için gerekli donanım ve yazılım değişkenlerini verimli şekilde ayarlamak için temel olarak kullanabilecektir.
Bahsedilen çalışmalara ek olarak ise altyapı servisi katmanına da odaklanıp, yüksek başarımlı hesaplama için uygulama kapları kullanıldığında başarım, yalıtım ve kurulum hızı gibi parametrelerin davranışlarını gözlemlendiği çalışmalara da yer verilecektir. Uygulama kaplarının, fiziksel ve sanal makinalarla davranış farklarının da yorumlanacağı bu kısım tezin son bölümünü oluşturacaktır.
|
In this thesis, the challenges faced and lessons learned while establishing a large-scale high performance cloud computing service that enables online mechanical structural analysis and many other scientific applications using the finite element analysis (FEA) technique, will be described. Within an High Performance Computing (HPC) environment, several jobs with different demands can co-exist thus it becomes a challenge for the service provider to efficiently utilize its own resources while also satisfying the quality expectations of job submitters. Such a service is intended to process many independent and loosely-dependent tasks concurrently. In order to reach optimal job scheduling metrics each job type that can be submitted to the cluster must be carefully examined, its space and time characteristics must be well-understood and quantified. Challenges faced include accurate characterization of complex FEA jobs, handling of many-task mixed jobs, sensitivity of task execution to multi-threading parameters, effective multi-core scheduling within a single computing node, and achieving seamless scaling across multiple nodes. It is found that significant performance gains in terms of both job completion latency and throughput are possible via dynamic or "smart" batch partitioning and resource-aware scheduling compared to the naive Shortest Job First (SCF) and aggressively-parallel scheduling techniques.
Chapter 3 of this thesis present an end-to-end discussion on the technical issues related to the design and implementation of a new cloud computing service for finite element analysis (FEA). Several design choices for HPC services at different layers of the cloud computing architecture are investigated to simplify and broaden its use cases. Investigations start with the software-as-a-service (SaaS) layer and compare parallel linear equation solvers. In order to minimize job latency and maximize the overall job throughput, several matrix characteristics are perceived. Developing such an understanding is also crucial for HPCaaS systems to automatically select the amount of computing resources per job. In following sections, the design of a ''smart'' scheduler that can dynamically select some of the required parameters, partition the workload and schedule it in a resource-aware manner will be demonstrated. Results showing that an up to 7.53x performance improvement over an aggressive scheduler using mixed FEA loads, will be presented. In addition to the performance studies, a complementary discussion on critical issues related to the data privacy, security, accounting, and portability of the cloud service will also be given.
The new trend in engineering is to solve complex computational problems in the cloud over HPC services provided by different vendors. To further deepen the analyses of workloads representing HPC-related tasks in science and engineering, in chapter 4, performances of direct vs. iterative linear equation solvers are compared to help with the development of job schedulers that can automatically choose the best solver type and tune them (e.g. precondition the matrices) according to job characteristics and workload conditions that are frequently encountered on HPC cloud services. As a proof of concept, three classical elasticity problems will be used, namely a Cantilever beam, Lame problem and Stress Concentration Factor (SCF). These models theoretically represent many real-life mechanical situations in structural engineering, namely aerospace, automotive, construction and machinery industries. The representative linear problems are meshed with increasing granularities, which leads to various matrix sizes; largest having 1 billion non-zero elements. Detailed finite element analyses over an IBM HPC cluster are executed. First, a multi-frontal parallel is used, sparse direct solver and evaluate its performance with Cholesky and LU decompositions of the generated matrices with respect to memory usage, and multi-core, multi-node execution performances. As for the iterative solver, the PETSc library is used and carried out computations with several Krylov subspace methods (CG, BiCG, GMRES) and preconditioner combinations (BJacobi, SOR, ASM, None). Later in Chapter 4, the direct and iterative solver results are compared and contrasted in order to find the most suitable algorithm for varying cases obtained from numerical modeling of these three-dimensional linear elasticity problems.
In addition to aforementioned studies, as a supplementary research, infrastructure-as-a-service (IaaS) layer for HPC is examined and characteristics like application performance, load isolation, and deployment speed issues using application containers (Docker) are observed. These characteristics are also compared to physical and virtual machines (VM) over a public cloud. For this purpose, HPC-specific deployment using application containers technology is evaluated and performance metrics are examined in order to contribute to evaluation of these technologies for job schedulers to be used on Cloud Computing infrastructures. This phase of the research focuses on the understanding the behavior of cloud computing infrastructures under circumstances where deployment and utilization of containers (Docker) with a chosen software is necessary.
To summarize, this multi-disciplinary doctoral thesis covers most of the critical aspects and computational challenges of providing FEA in the cloud for structural mechanics including ease of deployment, batch-level performance, job-level isolation, financial accounting and content security. It utilizes several modern software tools and techniques, while also contributing new ones to the literature. |