Why did I get interested?
Last week while I was sitting in the college library reading a Linux magazine, I saw an article on Distributed Computing. Now this semester there was a course on Distributed Computing being offered at college and we were thinking whether we should take up that course or not. So the article was sure to be useful. Before this I had only one view of Distributed Computing and that was a network based system where you could share. Share hard drives, share memory or share processes and threads between CPUs. The best example is a distributed OS or a LAN game like Quake or UT. But after reading the article I came to know about a different side of Distributed Computing – Grid Computing.
Grid Computing is basically an extension of the thin-client system concept. All the processing power and storage is kept at one place and individuals have thin-clients (only basic I/O devices) to access the computing power. Every individual has to login to the mainframe to access any data or application. All the applications are executed on the mainframe and results are displayed onto the individual’s display.
What is the future?
After reading the article, listening to my friend sitting alongside and reading a few articles on the internet I have started to believe that this might well be the future of computing. I believe that in future (don’t ask me how many years from now, because nobody knows) the concept of computing will be somewhat similar to the concept of electricity. The world will be divided into computing blocks of the size of small towns. Each town will have a Computing Distribution Grid and a Data Distribution Grid (something like power distribution grid) which will distribute computing. The core of this system will be a huge cluster of supercomputers which will generate CPU cycles in ExaFlops (1018) and have ExaExa Bytes of storage. There will be a huge and lightening fast network (most probably wireless) that’ll connect this computing powerhouse to home/office computers and other intelligent electronic devices (I say intelligent devices because I believe in near future almost all the electronic devices will become networked and intelligent. So computing will be more than the computer itself.). Big organizations might have their own grids powering all intelligent devices. All data will be stored on the Data Grid (obviously encrypted) and all applications will run on the Grid. A user will only have to buy I/O devices and some form of personal storage like CD/DVDs and connect his/her client to the Grid.
Why the future is better?
The Grid Computing model will be, in many ways, better than the current generation of computers.
- First and foremost, you’ll pay only for what you use. In the present computing model most of the users end up wasting a lot of money on computing resources. I believe there are a very few people in this world who use there computers to full capability. A normal user generally buys a monster machine for the sole purpose of surfing the web or some word processing. Even ardent gamers waste lots of computing resources because they don’t play games 24 hrs daily. In the Grid Computing model all users will be billed according to storage and CPU clock cycles. Storage will be billed in data-time units for i.e. you’ll pay $ N for using X GB space in a month. X can either be the mean usage, the maximum usage or the median usage. The billing system is easier for CPU/GPU cycles as you’ll be charged $ N for each CPU clock cycle you have used. We might also see a Prepaid model of billing which will allow users a fixed storage space a fixed clock cycles! Either prepaid or postpaid I am sure this will be way cheaper than the current model.
- Secondly, you’ll no longer need to worry about hardware upgrades. At present, every time there is a new game in the market you have to think about upgrades. The least frequently upgraded parts of a normal setup are I/O devices which will be the only parts required to upgrade in the Grid Computing model. All the CPU and storage upgrades will be done at the Grid itself.
- Finally, this new model of computing will eradicate the concept of carrying data on USB drives/CDs or, for that matter, on any portable media. Just think, all you need to transfer that all important presentation or that college project is to login to your Grid Account from your college/office client. Yes, that’s all; you can use your computer just like you do at home. Now this is something I call mobile computing!
What might be the problems?
But like anything else in the world this model is sure to have some problems (and their solutions too:-))
- The first problem in my mind is that implementation of this model will require a radical change in current infrastructure. The complete business model of marketing/selling IT components to individuals will change. There will be obvious questions like - "Why should we change when everything is going fine?" and "What if it fails?". Unless all IT bigwigs work together, it'll be almost impossible to bring this change. It’ll be good if some big organization starts testing this model at small scale. They can cluster there current army of computers and create a miniature Grid. Once the profits start flowing, other IT organization will start moving towards this.
- Second problem is the dreaded problem of Security. All data at one place can cause havoc if some troublemaker gets the key. But I presume that by the time such advanced networking and clustering technology come into existence, the security technologies will have stepped to the next level. A human being will be recognized by his/her face, voice, fingerprints besides old trusted technologies like passwords and smartcards. So, in all probability Security won’t be a problem.
Is it really feasible?
Sounds revolutionary, but so did AI. We all know what happened; we are yet to see robots that can clean our bathrooms. So is this just another dream of some crazy scientist. No, I don’t think so. The problem with the vision of AI was that we were trying to create something which was as big a mystery as UFOs (i.e. the human brain). At the time research on AI started we neither had the required processing power nor the knowledge of the subject (We have most of that now but that’s a different topic). Whereas, Grid Computing is based on two basic technologies, networking and clustering, that exist even today. The only problem is to scale them to higher levels. This is why; I have a firm belief that Grid Computing is the future of computing. Whether it’s good or bad is something we’ll know as we move ahead into the future.
Meanwhile, I must tell you that I did not take up the course on Distributed Computing. The sole reason was that we were required to have 100% attendance to pass the course :-)