Cloud Computing offers application developers an abstract view of computational resources that can be provisioned on demand over a computer network. This model allows organizations to concentrate on the applications needed to support their core business, instead of having to manage the infrastructure required to run those applications. Yet, even though this approach promises very compelling benefits, there is still a lack of programming models capable of bringing the power of parallel programming into the hands of ordinary programmers. In this paper we tackle this problem by proposing the use of the Fénix Framework as the means of exposing a simple and intuitive programming model for the cloud, while still attaining scalability on par with other Cloud Computing platforms. We claim that may be achieved by integrating the Fénix Framework into the Cloud-TM platform, which is being developed as a self-optimized middleware platform aimed at simplifying the development and administration of applications deployed on Cloud Computing infrastructures. We validate our claims by describing an initial prototype that provides a simple integration of the Fénix Framework with the persistence tier of Cloud-TM in such a way that it allowed us to run a previously developed benchmark application without changing any of its code to adapt it to the cloud platform.
[1]
Nuno Carvalho,et al.
Versioned transactional shared memory for the FénixEDU web application
,
2008,
WDDDM '08.
[2]
Mikko H. Lipasti,et al.
An architectural evaluation of Java TPC-W
,
2001,
Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.
[3]
João P. Cachopo,et al.
Combining software transactional memory with a domain modeling language to simplify web application development
,
2006,
ICWE '06.
[4]
João P. Cachopo,et al.
Versioned boxes as the basis for memory transactions
,
2006,
Sci. Comput. Program..
[5]
Inesc-Id Lisboa,et al.
Strict Serializability is Harmless: A New Architecture for Enterprise Applications
,
2011
.
[6]
João P. Cachopo,et al.
Lock-free and scalable multi-version software transactional memory
,
2011,
PPoPP '11.
[7]
P. Mell,et al.
The NIST Definition of Cloud Computing
,
2011
.
[8]
Martin Fowler.
A Pedagogical Framework for Domain-Specific Languages
,
2009,
IEEE Software.
[9]
Martin Fowler,et al.
Domain-Specific Languages
,
2010,
The Addison-Wesley signature series.
[10]
P. Mell,et al.
SP 800-145. The NIST Definition of Cloud Computing
,
2011
.