Skip navigation

During the course of a six month Internship at Intel Technologies I was exposed to Moblin(http://www.moblin.org). Its an open source initiative taken by a corporate firm to showcase its social responsibility and to keep itself abreast to the emerging future in mobiles.

Moblin

Moblin

During a discourse that I attended, I came across some interesting graphs that I managed to get my hand on later. As an approach to market the social responsibility that Moblin conceived as well as to show the cool quotient, there was a diagrammatic representation that showed the power consumption of Moblin in comparison to some other MID(Mobile Independent Devices) platforms that it aimed to compete with. It amazed me as a student that this was being discussed as such an issue since application developers in general never go into such system level detail.

The discourse was a real opportunity for me to do some exploration concerning Conservative Computer Science. Be it conservation in terms of power or in terms of the hardware infrastructure, conservatism is sure to pay off as least as far as computer science is concerned. I have done some research realated conservation in computing in the past six months and this blog is a compilation of some interesting findings that I happened to come across during this short period.

Software technology today is aiming to bring abstraction to scalability. On the other hand, its hardware counterpart aims to minimize the infrastructure needed for computing atleast in terms of size. It is only natural to conclude that the world is moving towards MIDS. The need for computing power at the client side is a topic that Computer Scientists debate on. Hence any real conservatism in Computer Science has to be in all contexts relevant to MIDs.

Obviously, the stats and graphs that I have provided here have come after after a bit of research but providing them in chronological order will only make understanding the need for the blog more strenuous.

With the increasing use of mobile phones and the Internet through it, our dependence and hence nature’s on these little computers has increased multifold. Although these is an ongoing attempt to make these devices as minimalistic as possible, there is still an ever rising need for conservation either directly or indirectly.

On these lines, I came across one of the most primitive but rather widely prevalent concepts in Computer Science- that of Cache Memory.

What is the Cache Memory?

From a broad perspective, Cache memory is a “quickly accessible” block of hardware that is used to store data that needs to be quickly fetched by some application. Typically, allocation from this memory isdone only at the Operating system level and it is important to differentiate this from some other cache memories that applications like Internet browsers associate to themselves.

Why Cache?

As mentioned. Cache can be used to fetch a block of data quickly by avoiding the latency involved in disk access, search mechanisms etc.

This is the performance oriented  quotient that is associate to caching. In addition to this, there  is also the additional benefit of not having to access the disk and hence save in terms of the physical disk rotations needed, movement of the read-rite head and so on. Whether the concept of caching was originally designed for the latter reason is a question mark, but never the less, it is this that brings in the minimalist approach to Caching.

How can Caching conserve?

Caching as far as the Internet is concerned is applicable to client side caching of HTML/non HTML data. This is done typically in order to minimize access/calls to the server so as to improve the speed of access as well as to minimize unnecessary server side access. The uses of Caching from the Internet standpoint can be summarized as follows:

Speed of access can improve if a page is fetched from the Cache and not from the Server.

There is a minimization in terms of the uplink/downlink costs otherwise generalized to be Bandwidth consumption.

There is a minimization in terms of the unnecessary network traffic.

The server side computation and hence power usage is minimized.

Each of the above benefits also imply savings in terms of true money.

How relevant is Caching to Mobile Clients?

The use of Caching with Internet is relevant as explained above. However, when it comes to Mobile Clients, Caching goes far beyond Internet services. As most of the services offered to Mobile Clients are location dependent, the relevance and the complications involved in Caching data coming into mobile client increases. For example. Just consider a news service that on requests returns the regional news based on the point at which the request originates. When this service is accessed from a browser from a personal Computer, the complications in caching are far lesser than if it were from a Mobile Location Dependent Information Service. This is because, Caching as a concept is dependent on “relevance of data” and the mechanisms that control caching are primarily aimed at monitoring this factor. Now in a PC, the above service remains in relevance for a longer time since location as a parameter used by the service to return data does not change as a factor of time. However this factor changes in the case of a Mobile client and is in fact one of the most primary motives behind the design of the product itself.

How can you contribute?

Obviously the idea of Caching is to retain what you think is relevant. In this context, Caching algorithms are what decide the success/failure rate of Caching. Typically these are algorithms that decide the eviction policies that decide the retention of relevant data. An innovative approach to frame a caching algorithm can make a real difference cause remember, this is a proj that looks into the future and not on existing conditions.

How can you do this?

The primary problem with any OpenSource project or free idea is the fact that it often limits itself to a set of computer scientists. I have designed an architecture and a framework that can help you test algorithms that you think are relevant. This is available as an Open Source tool registered at SourceForge.

For more information on contributing to the project click here

Advertisements

3 Comments

  1. Nice work 🙂
    Caching explained in a simple way though i am still not sure how I can contribute

  2. hey. do yu realise that making scientific projects open source is stupid. Its a waste of money and licensing Rights

  3. Hi Ashwin! Can yu mail me some papers that you have written. I want to gain some knowledge on this subject.Not sure if yu got my mail. I will be sendng you a mail once again today.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: