The ever-growing demand for compute resources has reached a wide range of application domains, and with that has created a larger audience for compute-intensive tasks. In this paper, we present the CloudCL framework, which empowers users to run compute-intensive tasks without having to face the total cost of ownership of operating an extensive high-performance compute infrastructure. CloudCL enables developers to tap the ubiquitous availability of cloudbased heterogeneous resources using a single-paradigm compute framework, without having to consider dynamic resource management and inter-node communication. In an extensive performance evaluation, we demonstrate the feasibility of the framework, yielding close-to-linear scale-out capabilities for certain workloads.
International Journal of Networking and ComputingHere, we present the CloudCL 1 framework, which empowers users to run compute-intensive tasks on demand without having to face the total cost of ownership of operating an extensive highperformance compute infrastructure. The presented framework hides the complexity of distributed programming for dynamic cluster configurations, enabling developers to tap the ubiquitous availability of cloud-based heterogeneous resources on demand using a single-paradigm compute framework. At the same time, the single paradigm approach helps in improving productivity, as developers and domain experts may focus their implementation efforts on application logic without having to consider inter-node communication and dynamic resource management. As illustrated in Figure 1, CloudCL combines the capabilities of dOpenCL [7] and Aparapi [10] and augments these enabling technologies with a job scheduling system that can handle the dynamic properties of cloud-based resource-provisioning by supporting dynamic addition and removal of resources at runtime. In an extensive performance evaluation, we demonstrate that the framework provides close-to-linear scaleout capabilities both in an on-premise hosting environment, using Amazon EC2-based public cloud resources as well as hybrid configurations.This paper is structured as follows: Section 2 provides background about MPI, Opencl, dOpenCL and Aparapi for two purposes. On one hand, the goal is to provide a quick walk-through of the enabling technologies behind CloudCL. On the other hand, re-iterating over the basics of both distributed as well as heterogeneous computing should remind readers about the many layers of complexity that are concealed by the CloudCL framework. Subsequently, Section 3 reviews related OpenCL API forwarding approaches and compares them with dOpenCL -the library of our choice. Section 4 proceeds with elucidating the major components making up CloudCL. Afterwards, Section 5 provides an extensive performance evaluation of the scale-out behavior of CloudCL, before a conclusion is reached in Section 6.