The Grid middleware component implements RESTful APIs that enable the execution of CPU-intensive tasks in a grid computing environment by interacting with the open source InteGrade middleware or the Apache Hadoop framework. While the first was designed to use paradigms such as MPI and BSP, the latter was designed to support applications using the MapReduce programming paradigm. Users are able to start different types of applications (for instance, sequential or parametric applications) by providing their binary file and the execution information (e.g., program arguments, execution constraints, preferences, etc.), to keep track of their progress, and to receive the results using the web services available.
The use of Grid Computing as a service may be particularly interesting for end-user applications or middleware components that require a high degree of parallelism for computationally-intensive tasks. For example, the CHOReOS Grid could be applied in the WP7 use-case. As specified, to accomplish the Adaptative Customer Relationship Booster (ACRB) use-case, users should obtain special personalized discounts and promotions on the fly and in a context-aware manner through their own smartphones. Personalized recommendations are a demand from Companies and Sales managers that need highly personalized and short term marketing campaigns in a flexible and distributed way. They also expect to gather fine grained feedbacks on customer expectations and needs in near-real time. This feedback is essential to get such recommendations. Indeed, to get near-real time recommendations, high processing and storage capacity are necessary, which can be provided by the Grid middleware using InteGrade and Apache Hadoop.
The Grid middleware component depends on an Infrastructure as a Layer (IaaS) provider. The role of this IaaS provider is to provide virtual machines (VMs). Once instanciated, users can deploy the adequate platform (Hadoop or InteGrade) to perform the computations. The AWS can provide pre-configured intances of Apache Hadoop VMs using the Amazon EMR (Amazon Elastic Map Reduce), which provides scalability according to the users' needs. Besides the possibility of using cloud-based collections of VMs, the Grid middleware component could use federation of clusters with dedicated physical machines. In this case, the clusters would provide all the infrastructure and platforms needed to accomplish the computation.
The main requirements to run the Grid component are an IaaS provider account and the VMs instanciated with the choosen platform.
The recomended IaaS provider is the AWS, specially the Amazon EMR. Please note that, when using Amazon as the IaaS provider, you are responsible for the costs.
The Apache Hadoop is licenced under the Apache v2 license, which is considered permissive.
The InteGrade is licenced under the LGPL licence and its source code and documentation are also available as free software.