83 research outputs found

    Hybrid High Performance Computing (HPC) + Cloud for Scientific Computing

    Get PDF
    The HPC+Cloud framework has been built to enable on-premise HPC jobs to use resources from cloud computing nodes. As part of designing the software framework, public cloud providers, namely Amazon AWS, Microsoft Azure and NeCTAR were benchmarked against one another, and Microsoft Azure was determined to be the most suitable cloud component in the proposed HPC+Cloud software framework. Finally, an HPC+Cloud cluster was built using the HPC+Cloud software framework and then was validated by conducting HPC processing benchmarks

    Enabling virtualization technologies for enhanced cloud computing

    Get PDF
    Cloud Computing is a ubiquitous technology that offers various services for individual users, small businesses, as well as large scale organizations. Data-center owners maintain clusters of thousands of machines and lease out resources like CPU, memory, network bandwidth, and storage to clients. For organizations, cloud computing provides the means to offload server infrastructure and obtain resources on demand, which reduces setup costs as well as maintenance overheads. For individuals, cloud computing offers platforms, resources and services that would otherwise be unavailable to them. At the core of cloud computing are various virtualization technologies and the resulting Virtual Machines (VMs). Virtualization enables cloud providers to host multiple VMs on a single Physical Machine (PM). The hallmark of VMs is the inability of the end-user to distinguish them from actual PMs. VMs allow cloud owners such essential features as live migration, which is the process of moving a VM from one PM to another while the VM is running, for various reasons. Features of the cloud such as fault tolerance, geographical server placement, energy management, resource management, big data processing, parallel computing, etc. depend heavily on virtualization technologies. Improvements and breakthroughs in these technologies directly lead to introduction of new possibilities in the cloud. This thesis identifies and proposes innovations for such underlying VM technologies and tests their performance on a cluster of 16 machines with real world benchmarks. Specifically the issues of server load prediction, VM consolidation, live migration, and memory sharing are attempted. First, a unique VM resource load prediction mechanism based on Chaos Theory is introduced that predicts server workloads with high accuracy. Based on these predictions, VMs are dynamically and autonomously relocated to different PMs in the cluster in an attempt to conserve energy. Experimental evaluations with a prototype on real world data- center load traces show that up to 80% of the unused PMs can be freed up and repurposed, with Service Level Objective (SLO) violations as little as 3%. Second, issues in live migration of VMs are analyzed, based on which a new distributed approach is presented that allows network-efficient live migration of VMs. The approach amortizes the transfer of memory pages over the life of the VM, thus reducing network traffic during critical live migration. The prototype reduces network usage by up to 45% and lowers required time by up to 40% for live migration on various real-world loads. Finally, a memory sharing and management approach called ACE-M is demonstrated that enables VMs to share and utilize all the memory available in the cluster remotely. Along with predictions on network and memory, this approach allows VMs to run applications with memory requirements much higher than physically available locally. It is experimentally shown that ACE-M reduces the memory performance degradation by about 75% and achieves a 40% lower network response time for memory intensive VMs. A combination of these innovations to the virtualization technologies can minimize performance degradation of various VM attributes, which will ultimately lead to a better end-user experience

    Commodity single board computer clusters and their applications

    Get PDF
    © 2018 Current commodity Single Board Computers (SBCs) are sufficiently powerful to run mainstream operating systems and workloads. Many of these boards may be linked together, to create small, low-cost clusters that replicate some features of large data center clusters. The Raspberry Pi Foundation produces a series of SBCs with a price/performance ratio that makes SBC clusters viable, perhaps even expendable. These clusters are an enabler for Edge/Fog Compute, where processing is pushed out towards data sources, reducing bandwidth requirements and decentralizing the architecture. In this paper we investigate use cases driving the growth of SBC clusters, we examine the trends in future hardware developments, and discuss the potential of SBC clusters as a disruptive technology. Compared to traditional clusters, SBC clusters have a reduced footprint, are low-cost, and have low power requirements. This enables different models of deployment—particularly outside traditional data center environments. We discuss the applicability of existing software and management infrastructure to support exotic deployment scenarios and anticipate the next generation of SBC. We conclude that the SBC cluster is a new and distinct computational deployment paradigm, which is applicable to a wider range of scenarios than current clusters. It facilitates Internet of Things and Smart City systems and is potentially a game changer in pushing application logic out towards the network edge

    Practical Implementation of the Virtual Organization Cluster Model

    Get PDF
    Virtualization has great potential in the realm of scientific computing because of its inherent advantages with regard to environment customization and isolation. Virtualization technology is not without it\u27s downsides, most notably, increased computational overhead. This thesis introduces the operating mechanisms of grid technologies in general, and the Open Science Grid in particular, including a discussion of general organization and specific software implementation. A model for utilization of virtualization resources with separate administrative domains for the virtual machines (VMs) and the physical resources is then presented. Two well-known virtual machine monitors, Xen and the Kernel-based Virtual Machine (KVM), are introduced and a performance analysis conducted. The High-Performance Computing Challenge (HPCC) benchmark suite is used in conjunction with independent High-Performance Linpack (HPL) trials in order to analyze specific performance issues. Xen was found to introduce much lower performance overhead than KVM, however, KVM retains advantages with regard to ease of deployment, both of the VMM itself and of the VM images. KVM\u27s snapshot mode is of special interest, as it allows multiple VMs to be instantiated from a single image located on a network store. With virtualization overhead shown to be acceptable for high-throughput computing tasks, the Virtual Organization Cluster (VOC) Model was implemented as a prototype. Dynamic scaling and multi-site scheduling extensions were also successfully implemented using this prototype. It is also shown that traditional overlay networks have scaling issues and that a new approach to wide-area scheduling is needed. The use of XMPP messaging and the Google App Engine service to implement a virtual machine monitoring system is presented. Detailed discussions of the relevant sections of the XMPP protocol and libraries are presented. XMPP is found to be a good choice for sending status information due to its inherent advantages in a bandwidth-limited NAT environment. Thus, it is concluded that the VOC Model is a practical way to implement virtualization of high-throughput computing tasks. Smaller VOCs may take advantage of traditional overlay networks whereas larger VOCs need an alternative approach to scheduling

    Cloud solutions for high performance computing: oxymoron or realm?

    Get PDF
    U posljednje je vrijeme zamjetan veliki interes HPC (High Performance Computing) zajednice prema Cloud Computing paradigmi, odnosno računalstvu u oblacima. Mnoge su prednosti izvođenja HPC aplikacija u računalnom oblaku, od kojih su najvažnije bolje korištenje računalnih resursa, učinkovita naplata njihovog korištenja, te dinamička i bez prekida u radu aplikacije preraspodjela računalnih resursa. Bez obzira na očite prednosti Cloud Computing okruženja za HPC, trenutni omjer korištenja HPC aplikacija u računalnim oblacima u odnosu na one koje se izvode u tradicionalnom HPC okruženju još je uvijek vrlo malen. Neki od razloga za takvo stanje su očiti, dok kod drugih nije tako. Tako na primjer tradicionalni proizvođači HPC opreme i aplikacija još uvijek pokušavaju iskoristiti njihova ulaganja u postojeća rješenja na način koji pogoduje tradicionalnom načinu rada HPC-a. Nadalje, iako je prisutan snažan razvoj virtualizacijske tehnologije, još uvijek postoje otvorena pitanja, poput skaliranja HPC aplikacija u virtualnom okruženju, te suradnje između fizičkih i virtualnih resursa. Tu se također nameće i pitanje podrške standardnih HPC alata za uspostavu virtualiziranih okolina. Na kraju, ali ne i manje važno, pojava heterogenog HPC računalstva koje se zasniva na kombinaciji standardnih procesora (CPU) i onih specijalizirane namjene (GPU procesori i akceleratori) nameće izazovna pitanja, poput skalabilnosti, učinkovitog Linpack mjerenja performansi, te razvoja HPC aplikacija u heterogenom CPU/GPU okolišu. Uz sve to, unatoč tome što mnogi proizvođači HPC opreme i aplikacija govore o tome kako imaju potpuno funkcionalna HPC rješenja u računalnim oblacima, postoji potreba da se osigura odgovore i na dodatna pitanja: Jesu li potpuno ispunjena obećanja mogućnosti virtualizacije svih komponenti sustava, ne samo onih virtualnih, nego i fizičkih? Koje vrste računalnih oblaka su podržane: privatne, javne ili njihova kombinacija, tj. hibridni oblaci? Kako dobro pojedina HPC aplikacija skalira na nekom računalnom oblaku? U pokušaju odgovora na postavljena pitanja, u ovom radu je dat pregled trenutnih HPC rješenja u oblacima. Osim toga, namjera ovog rada je da posluži kao vodič za onoga tko je spreman napraviti pomak od standardnih HPC rješenja prema onima u Cloud Computing okruženju. Naposljetku, da bi se što je moguće više olakšao izbor HPC Cloud rješenja, predložena je njihova klasifikacija u tri kategorije, od kojih svaka reflektira područja i načine primjene pojedinih rješenja, stupanj podržanosti virtualizacije, te, zbog uglavnom javno nedostupnih rezultata mjerenja performansi, do sada iskazanu HPC ekspertizu proizvođača tih rješenja.In the last years a strong interest of the HPC (High Performance Computing) community raised towards cloud computing. There are many apparent benefits of doing HPC in a cloud, the most important of them being better utilization of computational resources, efficient charge back of used resources and applications, on-demand and dynamic reallocation of computational resources between users and HPC applications, and automatic bursting of additional resources when needed. Surprisingly, the amount of HPC cloud solutions related to standard solutions is still negligible. Some of the reasons for the current situation are evident, some not so. For example, traditional HPC vendors are still trying to exploit their current investment as much as possible, thus favoring traditional way of doing HPC. The next, although virtualization techniques are developing in ever increasing rate, there are still open questions, like scaling of HPC applications in virtual environment, collaboration between physical and virtual resources, and support of the standard HPC tools for virtualized environments. At last but not the least, the advent of GPU computing has raised difficult questions even in the traditional and well developed HPC segment, like scalability, development of HPC GPU based applications. In addition, because many HPC vendors are speaking about already having a fully functional HPC cloud solution, there is a need to provide answers to the following questions: Are they fulfilling virtualization promises, both physical and virtual? Which type of clouds do they support: private, public or both, i.e. hybrid clouds? How well HPC applications scale on their cloud solutions? This paper is an overview of the current HPC cloud solutions, for sure not complete and solely a view of authors, however intended to be a helpful compass for someone trying to shift from standard HPC to large computations in cloud environments

    Cloud solutions for high performance computing: oxymoron or realm?

    Get PDF
    U posljednje je vrijeme zamjetan veliki interes HPC (High Performance Computing) zajednice prema Cloud Computing paradigmi, odnosno računalstvu u oblacima. Mnoge su prednosti izvođenja HPC aplikacija u računalnom oblaku, od kojih su najvažnije bolje korištenje računalnih resursa, učinkovita naplata njihovog korištenja, te dinamička i bez prekida u radu aplikacije preraspodjela računalnih resursa. Bez obzira na očite prednosti Cloud Computing okruženja za HPC, trenutni omjer korištenja HPC aplikacija u računalnim oblacima u odnosu na one koje se izvode u tradicionalnom HPC okruženju još je uvijek vrlo malen. Neki od razloga za takvo stanje su očiti, dok kod drugih nije tako. Tako na primjer tradicionalni proizvođači HPC opreme i aplikacija još uvijek pokušavaju iskoristiti njihova ulaganja u postojeća rješenja na način koji pogoduje tradicionalnom načinu rada HPC-a. Nadalje, iako je prisutan snažan razvoj virtualizacijske tehnologije, još uvijek postoje otvorena pitanja, poput skaliranja HPC aplikacija u virtualnom okruženju, te suradnje između fizičkih i virtualnih resursa. Tu se također nameće i pitanje podrške standardnih HPC alata za uspostavu virtualiziranih okolina. Na kraju, ali ne i manje važno, pojava heterogenog HPC računalstva koje se zasniva na kombinaciji standardnih procesora (CPU) i onih specijalizirane namjene (GPU procesori i akceleratori) nameće izazovna pitanja, poput skalabilnosti, učinkovitog Linpack mjerenja performansi, te razvoja HPC aplikacija u heterogenom CPU/GPU okolišu. Uz sve to, unatoč tome što mnogi proizvođači HPC opreme i aplikacija govore o tome kako imaju potpuno funkcionalna HPC rješenja u računalnim oblacima, postoji potreba da se osigura odgovore i na dodatna pitanja: Jesu li potpuno ispunjena obećanja mogućnosti virtualizacije svih komponenti sustava, ne samo onih virtualnih, nego i fizičkih? Koje vrste računalnih oblaka su podržane: privatne, javne ili njihova kombinacija, tj. hibridni oblaci? Kako dobro pojedina HPC aplikacija skalira na nekom računalnom oblaku? U pokušaju odgovora na postavljena pitanja, u ovom radu je dat pregled trenutnih HPC rješenja u oblacima. Osim toga, namjera ovog rada je da posluži kao vodič za onoga tko je spreman napraviti pomak od standardnih HPC rješenja prema onima u Cloud Computing okruženju. Naposljetku, da bi se što je moguće više olakšao izbor HPC Cloud rješenja, predložena je njihova klasifikacija u tri kategorije, od kojih svaka reflektira područja i načine primjene pojedinih rješenja, stupanj podržanosti virtualizacije, te, zbog uglavnom javno nedostupnih rezultata mjerenja performansi, do sada iskazanu HPC ekspertizu proizvođača tih rješenja.In the last years a strong interest of the HPC (High Performance Computing) community raised towards cloud computing. There are many apparent benefits of doing HPC in a cloud, the most important of them being better utilization of computational resources, efficient charge back of used resources and applications, on-demand and dynamic reallocation of computational resources between users and HPC applications, and automatic bursting of additional resources when needed. Surprisingly, the amount of HPC cloud solutions related to standard solutions is still negligible. Some of the reasons for the current situation are evident, some not so. For example, traditional HPC vendors are still trying to exploit their current investment as much as possible, thus favoring traditional way of doing HPC. The next, although virtualization techniques are developing in ever increasing rate, there are still open questions, like scaling of HPC applications in virtual environment, collaboration between physical and virtual resources, and support of the standard HPC tools for virtualized environments. At last but not the least, the advent of GPU computing has raised difficult questions even in the traditional and well developed HPC segment, like scalability, development of HPC GPU based applications. In addition, because many HPC vendors are speaking about already having a fully functional HPC cloud solution, there is a need to provide answers to the following questions: Are they fulfilling virtualization promises, both physical and virtual? Which type of clouds do they support: private, public or both, i.e. hybrid clouds? How well HPC applications scale on their cloud solutions? This paper is an overview of the current HPC cloud solutions, for sure not complete and solely a view of authors, however intended to be a helpful compass for someone trying to shift from standard HPC to large computations in cloud environments
    corecore