The final prototype of the Cloud-TM platform is out! (10/09/2013)
The Cloud-TM project reached its final, and most important milestone: the release of the final Cloud-TM Platform prototype.
The Cloud-TM prototype is shipped as a Virtual Machine image
, and comes with a host of demos and example applications that showcase the ease of programming and the self-tuning capabilities of the platform!
Do not miss to check the companion document of the VM image
for additional information on installing the VM and running the demos that it includes!
Looking for strong consistency but worried about scalability?
GMU can buy you both! (22/10/2012)
This version of Infinispan is based on the classical Two-Phase Commit (2PC) replication scheme for providing the SERIALIZABLE isolation level in the Infinispan's distribution mode.
As in the default Infinispan concurrency control scheme, each transaction is executed locally on the transaction's origin node and without any explicit coordination among replicas till the transaction requests the commit. However, since the replication scheme is designed for the most general case according to which each Infinispan key is not replicated on all nodes in the system (i.e. distribution mode), a node N executing a transaction T needs to contact another node M whenever T wants to read a key stored on M but not replicated on N. Then, at commit time, the implementation follows the Two-Phase Commit based classical replication scheme in order to ensure atomicity during the modification of the replicas status.
The novelty of this version is the core distributed concurrency control scheme, the GMU algorithm, that ensures (i) a consistent evolution of the system state and (ii) that all the values returned by the read operations of a transaction T always belong to a consistent state.
Infinispan version employing a Total Order based commit protocol (01/10/2012)
Like the current Infinispan's Two-Phase-Commit (2PC) based replication mechanism, also this is a multi-master scheme in which transactions are executed locally by any node and without any coordination among replicas till the commit phase.
Rather than using 2PC, however, this scheme scheme relies on a single Atomic Broadcast (AB, a.k.a. Total Order Broadcast, TOB) to disseminate transactions' write-sets while ensuring totally ordered delivery of messages across the various nodes.
The two main advantages of using TOB for certifying transactions are the elimination of deadlock between replicas and it does not need two phases to commit a transaction. The first one is obvious, because the transactions are received by a single thread and in the same order on all replicas and the single thread deliver allow us to avoid lock acquisition during certification of a transaction. This guarantees that only one transaction is committing in an instant of time. Additional, it is only needed one phase to commit a transaction. The order of deliver is the same, and all replicas executes a deterministic certification, so all replicas have the same outcome for a transaction.
[Read more soon]
Preliminary Release of Geograph (31/1/2012)
This is the initial prototype of one of the two pilots of the Cloud-TM platform: Geograph. GeoGraph is an open-source framework for the development of Location-based Mobile Social Networking (LMSN) applications, a.k.a. geo-social networking applications.
These applications are particularly challenging as they may experience sudden peaks of the load, due to the exponential growth phenomenon exhibited by social networks. Moreover, LMSN may experience flash crowds triggered by social events, like concerts or conferences that cause hot-spots in specific geographical regions. Indeed, flash crowds often overload web systems to a point when their services are degraded or disrupted entirely. Being a generic framework, GeoGraph supports the development of a wide range of LMSN applications characterized by highly heterogeneous and dynamic workloads exhibiting diverse data access patterns and conflict rates.
This will provide Cloud-TM with realistic use cases to assess the effectiveness of its self-tuning mechanisms
Workload Analyzer (10/1/2012)
The Workload Analyzer (WA) is an important component of the Cloud-TM's Autonomic Manager. Sitting between the Workload and Performance Monitor (WPM) and the Adaptation Manager (AM), the WA provides the following functionalities:
- Data aggregation and filtering: the streams of monitoring data produced by the distributed nodes of the Cloud-TM platform via the WPM are gathered by the WA, which exposes programmatic APIs and web-based GUIs allowing for aggregating/filtering statistics originated by different software layers and/or groups of nodes.
- Workload and resource demand characterization: the WA allows for deriving detailed transactional profiles that include a number of statistical information characterizing the resource usage demand of applications deployed in the Cloud-TM platform both at the physical (e.g. CPU, memory, etc.) and data (e.g. probability of conflicts among transactions, identification of hot spots for lock contention and remote reads) levels.
- Workload and resource demand prediction: the WA integrates a set of scripts/interfaces allowing for using the ample library of statistical functionalities implemented by the R free software project. This opens the possibility to run a wide range of time-series analysis methods (such as, moving averages, ARIMAX models, Kalman filters) aimed to forecast future trends of the workload fluctuations.
- QoS monitoring and alert notification: the WA allows for graphing raw or aggregated statistics (e.g. on the performance or availability of some set of services), and defining complex alert conditions on the base of the collected data.
Workload Monitor (10/6/2011)
The Workload and Performance Monitor (WPM) is a building-block component of the Autonomic Manager of the Cloud-TM platform, which implements monitoring functionalities and mechanisms aimed at gathering statistics across the various layers of the Cloud-TM platform.
These include, not only hardware level statistics (i.e. physical or virtualized hardware resources), but also statistics on related to the utilization of logical resources, such as data maintained by the data platform.
Further, the WPM is also in charge of monitoring the performance parameters which will be selected as representative for the negotiated QoS levels.
Here you can find:
- an overview of the WPM architecture, including a description of (i) the technologies used for the implementation of the prototype and (ii) its core mechanisms/functionalities;
- information on how to install and use the WPM prototype.
Preliminary Release of the Cloud-TM Platform (10/6/2011)
This initial release of the Cloud-TM platform contains a preliminary version of some important building blocks of the Cloud-TM Data Platform, namely:
- Fénix Framework and Hibernate OGM, which are two alternative implementations of the Object Grid Mapper, based, respectively, on the Domain Modelling Language (DML) and on the Java Persistence API (JPA) approach;
- Infinispan, which serves as the Cloud-TM’s Distributed Software Transactional Memory layer and allows persisting its state to a wide range of heterogeneous storage systems (ranging from local file systems/databases to Cloud-oriented storages).
On the other hand, this release is not already including supports for dynamic reconfiguration mechanisms, which are still under development. We remind to Deliverable D2.1 for a detailed description of the architecture of these components, but, for self-containment, we provide in the following a brief overview of their main functionalities.
Note that, in order to simplify the development of the project’s pilot applications, the Cloud-TM’s Data Platform has been integrated with TorqueBox, a popular open-source framework for the development of web applications based on RubyOnRails 2 technology. In order to demonstrate the prototype, and verify the successful integration of the different components of the Data Platform, we developed a simple demo, in the form a web application. that allows testing three basic operations: i) definition of transactions; simple retrieval of objects; create/read/update/delete (CRUD) operations.
Clearly the platform’s API will undergo minor changes, as new functionalities and services are provided during the project. Nevertheless, the development of this demo has allowed also to identify integration issues at an early stage, and enabled Algorithmica to start developing the Cloud-TM’s pilot applications even earlier than originally planned.