Advanced Software Engineering



Advanced Software Engineering CS 551

Arvind S. Gautam Student ID # : 990023738

Toward Internet Distributed Computing

Based on the paper Toward Internet Distributed Computing by Milan Milenkovic, Scott H. Robinson, Rob C. Knauerhase, David Barkai, Sharad Garg, Vijay Tewari, Todd A. Anderson and Mic Bowman

From IEEE Computer Society [0018-9162/03/$17.00 © 2003 IEEE ; Pages 38-45]

Summary

The paper talks about an extremely desirable concept of nodes of a network coming together to form a major computing resource. The concept that is talked about is known as ‘Internet Distributed Computing’ (IDC). This takes into account the computing resources online and discusses about how to bring them together to form massively powerful computing clusters. We already have an infrastructure of Web services, peer to peer networks and grids, what we need to do is add a functional layer to the net that can allocate and manage resources provided by this infrastructure.

The whole idea of IDC rests on the foundation of virtualizing individual system resources and aggregating them into a networked resource pool. This could consist of storage, computational cycles, web services, devices, etc. These now reside on the network in a resource pool in their virtual form. They may be bound to any application requiring use of these services or resources for the period of time the application needs them with an understanding of how long the device or resource is available. After the application is done with the resource it releases it back to the resource pool where they may be picked up by another application. One of the major things here is that coordination of this resource pool or sharing of resources is done without an “Internet OS”. Many benefits are to be derived from the above stated practice, such as:

➢ Resource sharing and load balancing: Better resource utilization

➢ Information sharing: remote data is accessible (ex. Napster/Kazaa)

➢ Incremental growth: resources may be bound to the application as required

➢ Reliability, availability and fault tolerance: redundancy and dynamic allocation take care of this.

➢ Enhanced performance potential: parallel operations made possible due to availability of multiple processors via shared computational cycles.

There is an increasing amount of computing power merging into the Internet everyday – this could be a derivation of the Moore’s law that is materialized by today’s technology. This assures that there is no dearth of resources for a resource pool – if present. Also there is a desire to use computing resources efficiently. Every user doesn’t use his or her machine alike. Some systems are idle and as much as 99% under-utilized. Sharing computational cycles and other resources with users who heavily utilize them could minimize the under-utilization. This idea applies not just to individual users before their PCs, but also to organizations and large systems.

The IDC therefore makes individual systems little more than dumb terminals in effect. This is because beside their own processors there is a whole pool of shared computational power that could be used to divide and process the system’s processes. Extreme amount of parallel processing could be there that would result in a virtual super-computer behind every machine connected to the IDC. Storage available to a system or application is not just the local storage, but also the storage available in the network resource pool.

All this brings to mind the idea of Pervasive Computing. Your devices are connected and are part of the network. Now even your simple PDA, which doesn’t have much of a computational power could actually harness the computing ability of a thousand processors through that networked resource pool in the IDC. Anywhere you go, you get extensive computing power with any device that’s connected to the IDC. You are carrying that processing power everywhere without even realizing what is behind it all!

The proposed approach aims at adding layers of abstraction to the framework to allow it to host network applications across the shared resources on the IDC. This is concerned with virtualizing resources (as stated above) and representing them as devices on address collated in a resource pool. Several reasons have been there for individual nodes to share resources, ranging from access to unique data to trading with other under-utilized resources for profit or benefit of drawing similar services whenever required.

The IDC has two key design principles:

➢ Embedding intelligence in the network

➢ Creating self configuring, self organizing network structures

The idea is to include mobile devices in this domain. This can be done effectively only if their mobility is not a hindrance to network architecture and configuration. The networks therefore should be intelligent and also include self configuring, self organizing abilities. Mobile devices could be entering or leaving a networked area, an intelligent and flexible network should allow those devices to connect without much work and also share devices/resources that may be available. Also security and authenticity is a question that needs to be taken care of.

Intelligence of networks is also helpful in reducing the latency of networks. This is because there is lower latency in sharing if the resources being shared are near to the entity that is borrowing their services. This also doesn’t burden the backbone bandwidth, largely using the edge bandwidth. Infusing intelligence into the network also tends to distribute the load across many processing points, thus load balancing actively.

Services or resources available in the resource pool may be advertised or discovered as need be. This is unlike a static system where discovery is resolved implicitly or fixed by configuration that is static. Applications may be decoupled from system design with no need for them to know which processors or resources are handling them.

We want the systems to be able to form adhoc networks that can share applications, resources, data, etc. The mechanism should be extremely scalable with an ability to discover devices or resources it is looking for within the reaches of the network formed. Support is required for unreliable networks and platform independence needs to be implemented.

Strengths

➢ Harnessing the immense computing power of large networks via the IDC framework

➢ Bringing pervasiveness into the system by making even low processing devices computationally powerful by letting them access the computing power of the network.

➢ Letting mobile devices join in the IDC concept by making networks intelligent and dynamically configurable.

Weaknesses

➢ Security may be a big issue in this concept as machines which have CPU cycles to spare could be running alien code that might possibly be malicious.

➢ Mobile devices may move in and out of a network arbitrarily, thus adding to the resource failure rate of whatever resources they might be using.

Critical Questions

1. When would distributing the application among multiple processors with an added cost of communication become more expensive than letting the local system process the job?

2. How could a system be permitted to use a resource by a network rather than by each sharing system?

3. Wouldn’t more communication power be needed for devices that don’t have much of a computational power – to be able to harness the resources of the network? Where does the communication ability surpass their computing power?

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download