Join us at engage.eucalyptus.com
Hi,
I was looking around at the last conferences about cloud computing in order to figure out what are scientist working to. I found solutions concerning:
- best scheduling policy (in order to satisfy QoS)
- manage scalability
- manage availability (w/ prediction)
- use of overlay network to improve performance
- use of data replication to improve performance
and so on.
Of course each paper produces a step in the "right direction", it tries to solve (fully or partially) a well known problem (that looks like something just faced in distributed systems) but I was looking for something new or at least something that has not been discussed in deep in the scientific literature.
Are you aware about something new in cloud computing that we will face in the next future?
Thanks,
Massimo
Hi Massimo. Great to hear from you.
You are making a good point. Much of what has been published in the scientific literature regarding innovations in cloud computing is similar to what was published as innovations for grid computing, parallel computing, distributed systems, etc. Perhaps another way to ask the question you have asked is "What research questions are specific to cloud computing?"
Obviously cloud computing is fairly new so my answer here is both speculative and assuredly incomplete. With the caveat in mind, though, here are a few suggestions.
To begin with, the issue of software provenance becomes a critical systems issue in a cloud. We usually think of software provenance in the context of scientific computing where a scientist needs to understand how a data set was generated to understand the relevance or value of the data in it. In a cloud, where self-service automation enables the proliferation of system software at scale, the ability to determine the origins of a complete software environment is critical.
New programming models for cloud computing are also emerging. Thorsten Von Eicken in his blog about RightScale (his fantastic company) advocates a "roll forward" deployment model. Instead of building strong reliability guarantees into the individual components of a deployed application, his approach is to "spin up" a new resource whenever the application detects a failure or problem. Taken a step further logically, what this approach implies is that cloud programming should focus less on correctness and more on fault detection and remediation. For example, rather than spending weeks or months avoiding and/or removing all memory leaks from a program, a roll-forward programming model would build into the program memory leak detection and a remediation strategy based on restart. That is, rather than working out how to keep the image running, the programmer would simply code up an image restart and allow the memory leak to persist in the application.
Lastly, the issue of policy management is an intricate one for cloud computing. In most data centers, management policies (who gets logins, access control, connectivity control, etc.) are more or less centrally determined and (in well-managed data centers) universally implemented in the infrastructure. With the self-service infrastructure model endemic to the cloud, however, each user is to be given his or her own virtualized infrastructure. Today, that infrastructure contains all of the policy management components that physical infrastructure contains, thereby allowing the cloud user to define a completely independent set of policies. Rationalizing the data center policy implemented by the cloud platform with individual end-user policies is an important area of study.
These suggestion are, in no way exhaustive. Moreover, revisiting previously-studied research questions (e.g. scheduling) certainly has merit. For me, however, the cloud model always seemed like an innovation with its own distinct set of characteristics and research problems in addition to the classical ones from distributed systems.
I hope this helps.
Rich