Cloud Computing

You are currently browsing articles tagged Cloud Computing.

Distributed Conway's Life

This is (half of) a system I developed for SHARCNET last year.  They have a nifty little ‘Supercomputer in a Box’ project designed for community outreach.  Like most modern supercomputers, it’s a cluster of machines.  For the sake of size, it’s made of eight Apple Mac Minis.

Supercomputers have their own constraints; it is not worth parallelizing a process if the gains in computation are outweighed by communications overhead.   This is intuitive to a computer scientist, but we’re not normal people.  Non-computer scientists could use a visual aide.

The above screenshot shows a distributed version of Conway’s Life, a trivial cellular automata.  It’s not a particularly important application; it’s just intended to burn up CPU cycles.  Each stripe represents a process running on a distinct CPU.  In this case I’m wasting time in 16-way glory.

Using the control panel on the left, a user can change the dimensions of the cellular automata, or inflate its computational complexity. For example, a very wide, short simulation will use more network than CPU. A very large simulation will use up available memory and thrash when running on a single processor, but will be perfectly happy when split across a cluster.

In practical use, this program is only half a solution; it works well in concert with a cluster monitoring package such as ganglia.

The distributed conway’s life implementation is written in C using MPI.  The front end program is written in Python, using wxPython for the graphical interface, and Twisted Python to receive images from each compute process.

Tags: , , ,

On Cloud Computing.

When I was young, my family usually had whatever microcomputer was reasonably current.  Personal computers were liberating; one would own both the computer and data.  The alternative was going through a data processing service and owning neither.  While DP bureaus had more capable machines, processing time was vastly more expensive, and there were few guarantees.  If one switched DP bureaus, it involved purchasing data back, on tape, at a premium.

Thirty years later, personal computers are less expensive and more capable than they ever have been.  The internet is pervasive and even Canadian cellular data rates have been reduced to within shouting distance of reasonable.  However, sharing data in anything other than a traditional LAN environment is a nightmare.  If it is even possible, it  usually involves a third party service.

So why is networking such a pain?  Plausibly, many people still have a mental image of the internet as some big computer somewhere that looks like a large black monolith.  This massive computer and all the data on it belongs to some corporation or government agency, and subscribers pay to access it.  Both internet service providers and traditional media agencies profit from this misconception.  The ISPs get to oversell their product: Look at all this neat stuff you get from us, and only us.  Traditional media get to reinforce the concept that media is something you consume, rather than create or participate in.

The internet is — by design — a peer to peer network.  Any computer connected to the internet can host a service as easily as it can connect to one, providing their ISP permits it.  It was a considerable break from traditional network systems that were purely client-server.  One could only host a service — only receive connections — when paying exorbitant fees to be considered a server rather than a client.  The perception of the internet as a ‘thing’ devalues what it actually is: a place, a community, a network in the truest sense of the word.

We are in the age of participatory media!  We blog, we podcast, we post videos of ourselves.  But we do it through centralized services.  Many of us blog through livejournal or blogger.  We post videos through youtube or google video.  We are participating, but only with the approval of larger entities.  If youtube closed up tomorrow, how would you get your video back?  How would you share it?

Cloud computing is a brilliant rebranding of the DP bureau model.  It implies freedom and openness.  It implies portability and nomadic computing; after all, when you leave a cloud you still have everything you brought with you.  And truthfully, many of these services are free or cheap.  But they come with no guarantees, no portability, no way of getting our data back.  They provide a community space, but one that is wholly owned.  Cloud computing pretends to be an open park, but it is more akin to a shopping mall.

Modern social networking has changed the way we interact as a community, and for the better.  But we are still playing in someone else’s sandbox.  Regaining ownership of our data is possible, but it requires decentralization and federation, and a lot of software that hasn’t had to exist yet.  And it would be messy.  But it would be ours, and it would stay ours.

Tags: , ,

On the cloud.

Stateless computing: the future of the cloud?

Jeffrey Birnbaum, discussed stateless computing and the evolution of the cloud. He envisions a future in which software processes are abstracted so far from the underlying hardware that companies will discuss processing capacity in terms of raw computational units rather than discrete servers.

Tags: ,

Ars at FOSSCamp: integrating Internet services into the GNOME desktop

A FOSSCamp session led by Red Hat developers presented the GNOME Online Desktop project, the nexus of GNOME’s efforts to integrate support for modern web services into the open source desktop environment.

OnlineDesktop – GNOME Live!

The goal of the GNOME Online Desktop is to adapt the desktop to become the perfect window for online applications like GMail, Photobucket, Facebook, EBay, Wikipedia, and countless others that user and developer momentum is shifting towards.

Tim O’Reilly: Internet innovation requires an open web

O’Reilly, an inveterate prognosticator whose buzzword-laden speeches also offer some valuable insights, spoke about the need for an open web, decentralized cloud computing, and open mobile technologies.

Tags: