Browse Prior Art Database

Compiler option for optimizing application execution in a cloud environment Disclosure Number: IPCOM000241007D
Publication Date: 2015-Mar-18
Document File: 2 page(s) / 23K

Publishing Venue

The Prior Art Database


Disclosed are compiler options for optimization of application execution in a cloud environment.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 2

Compiler option for optimizing application execution in a cloud environment

Applications run in a cloud computing environment in a manner that is different from traditional desktop or high-performance computing environments. The user may develop their application on a desktop or using a virtual machine (VM) in the cloud computing environment. Once the application is complete, it may be made part of a disk image or put into a volume. In either case, the application is made available to run in a VM that is run wherever there are free resources available.

    As a result, in the cloud computing environment, one often does not know the environment in which their application will ultimately run. Consider, for a moment, the OpenStack* cloud computing solution. It is designed to allow users to combine many different types of backing hardware into a system that, from the user's perspective, appears to be one system but may contain many different types of hardware. The system may contain some older hardware, new PowerPC** systems, and there may even be nested compute nodes running in a completely virtual environment. For users moving their applications from a more traditional high-performance computing (HPC) environment, this is a departure as traditional HPC environments consist of heterogeneous hardware configurations.

    The inability to count on a homogeneous hardware environment creates a challenge for users that wish to compile their application in the most optimal manner. They cannot compile it for the hardware and operating system they are currently running upon as the compute node may be running a different architecture. In many cases, attempting to optimize for hardware is likely to degrade performance when the application ends up running in a virtual environment where hardware specific optimization has to be no-op'ed out for compatibility purposes.

    This mec...