Sunteți pe pagina 1din 7

Title of the research paper: The Earthworm model for Ubiquitous Parallelism

Research Area: Ubiquitous Parallelism Authors: Kumar Chandra, Sourabh Swarnakar, Shalini Sahay Faculty mentor:

Ms. Pallavi R.

Name of the Institution: Sir M. Visvesvaraya Institute of Technology

Abstract: The Earthworm model here corresponds to just a kind of basis for implementing parallelism in parallelism. Our model takes the advantage of both the parallel and the ubiquitous computing. We have implemented parallelism within parallelism and also use the concept of code reuse to implement parallelism both in software and hardware part of our model for better and efficient working. Also this model is enhanced with artificial intelligence to make our system get rid of any runtime problem occurring, through constant monitoring at the various modules of the model, that too in parallel , where each and every module will be guiding itself and will be connected to the problem resolution system. The ultimate solution, if nothing could be done by our automation, will finally be at the hands of Human Intelligence, which is done by using various contact methods like messaging services, internet, etc., to the experts.

Background: This model is based on the concept of the anatomy of the snail where each and every leg has its own body part control to reach the ultimate goal of locomotion and of course for its survival in challenging environments. Some species of earthworms have a tongue-like lobe above the mouth called prostomium. The prostomium is actually a sensory device. In the same way some of modules of our model, can be made to have sensory devices, to accept the request of service from the real world, through various interaction ways of Wired signals, Satellites, Bluetooth, Infrared, Radio waves, LDR(s), and various other transducers.

Problem Statement: In our model we have tried to implement parallel processing for the fastest processing possible, through severe parallelism. This model implements the technology to its fullest, to do the job for every kind of possible request. It also takes care of the service requests coming from the local areas through Bluetooth, infrared, wireless, etc. It also accepts the requests directly from the human being who are incapable to speak. Their eye wink will be able to make the machine work for them. It also accepts the request through voice of human by voice recognition system attached to it. This model will be able to handle situations at remote places by accepting the requests from distant places, via human beings and via different robots, to solve the issues like queries for the human beings and for robots to guide them to the fullest for handling situations of operation procedure for a patient. If any kind of dead lock occurs with this machine then it will be able to handle those situations by itself, or else if it is not being able to find the solution, it can finally handle the critical condition to the human expertise. Methodology: This model consists of a large no of processors, among which some of them are provided with transducers so as to receive the request for service from the real world.

Figure1: The model showing the internal working of each processor

The request may be received either from the local or remote resources. The local services include doing household work, or doing some kind of physical

work. Whereas remote services have wide range of coverage ranging from request for information computing, and request for some expertise data delivery for processing at a remote site. For implementing parallelism at the software level, we do use the following strategy.In the 1950s Professor M.V. Wilkes first recognised that a processors control unit was implemented as a series of discrete steps much like an ordinary computer program . This lead to the development of microprogrammed control units that are commonly found in CISC processors, where each machine instruction is interpreted by a microprogram stored in control memory within the processor. These microprograms are composed of a series of microinstructions, which themselves can be composed of a series of nanoinstructions [3] defining the control signals required to perform the desired machine operation, as shown in figure 1.

Image 2: The model at the interface front The image2 shows how the system can interact with all sorts of possibilities. Hence in this way we divide the processes to be done are divided into number of microinstructions and stored in micro program memory, and then it is divided into Nano-instructions and then forwarded

to the hardware part to implement it. The implementation procedure for division of work among the processors is based on a common template algorithm which looks further for any more subdivision of instructions according to the resources. The model how the information from the outer world is received. It has the Bluetooth connectivity to receive signals of request from blue tooth devices. It is also having wireless facility to share its information with the outer world. The technology of infrared is also implemented so as to receive signals from the outer world with the remote controls, and also to be aware of the outside temperature. Each of the signal elements represent the segment of an Earthworm, and their coordination leads to the single goal of achieving the work done. The service request is received through various transducers leading to almost all possible communication methods between the users and the system. And the output, i.e., result of the processing is also conveyed through the same way, through the internet, infrared ports, etc, as well as through the various display and printer units attached to the system.

Key Results: 1. Fastest processing 2. Multiple ways to accept requests 3. Availability of results at distant places 4. Automation of the system for problem solution 5. Ultimate handle on the hands of the user. 6. Jobs like distant robot operation for a patient will also be done 7. The system is also provided with satellite to make it possible to gather any type of information required from any source through any of the communication medium Discussion: This is a kind of model which can be implemented which will just be a kind of great work in the field of ubiquitous parallelism. The benefits of the parallel computing will be great boon and the ubiquitous availability of the systems services will make it more acceptable to the society. IN Parallel computer programs are harder to write than sequential ones, because concurrency introduces several new classes of potential software bugs, of

which race conditions are the most common. Communication and synchronization between the different subtasks is typically one of the greatest barriers to getting good parallel program performance. In recent years, power consumption in parallel computers has also become a great concern. The speed up of a program as a result of parallelization is given by Amdahl's law. a processor. Here in our model we can come over this problem by using Amdahl's lIt states that a small portion of the program which cant be parallelized will limit the overall speedup available from parallelization. Any large math or engineering problem will typically consists of several parallelizable parts and several non-parallelizable (sequential) parts. This relationship is given by Amdahl's law: s=1/(1-p) where S is the speedup of the program (as a factor of its original sequential runtime), and P is the fraction that is parallelizable we can show how parallel programming can be executed faster than a sequential programming from this following algorithm: 1: function Dep(a, b) 2: c := ab 3: d := 2c 4: end function Operation 3 in Dep(a,b) cannot be executed before (or even in parallel) operation 2, due to the fact that operation 3 uses a result from operation 2. It violates condition 1, and thus introduces a flow dependency. 1: 2: 3: 4: 5: function NoDep(a, b) c := ab d := 2b e := a+b end function

In this example there are no dependencies between the instructions, so they can all be run in parallel. This is as the same way as the different segments of the Earthworm function for the possibility of locomotion. This is followed for complex statements recursively to divide them into the least small part and then handle them to the processor hardware. Subtasks in a parallel program are often called threads. Some parallel computer architectures use smaller, lightweight versions of threads known as fibers, while others use bigger versions known as processes. However, "threads" is generally accepted as a generic term for subtasks. Threads will often need to update some variable that is shared between them. The instructions between the two programs may be interleaved in any order. For example, consider the following program: Thread A Thread B 1A: Read variable V 1B: Read variable V 2A: Add 1 to variable V 2B: Add 1 to variable V 3A: Write back to variable V 3B: Write back to variable V If instruction 1B is executed between 1A and 3A, or if instruction 1A is executed between 1B and 3B, the program will produce incorrect data. This is known as a race condition. The programmer must use a lock to provide mutual exclusion. A lock is a programming language construct that allows one thread to take control of a variable and prevent other threads from reading or writing it, until that variable is unlocked. The thread holding the lock is free to execute its critical section (the section of a program that

requires exclusive access to some variable), and unlock the data when it is finished. Therefore, in order to guarantee correct program execution, the above program can be rewritten to use locks: Thread A Thread B 1A: Lock variable V 1B: Lock variable V 2A: Read variable V 2B: Read variable V 3A: Add 1 to variable V 3B: Add 1 to variable V 4A: Write back to variable V 4B: Write back to variable V 5A: Unlock variable V 5B: Unlock variable V One thread will successfully lock variable V, while the other thread will be locked out - unable to proceed until V is unlocked again. This guarantees correct execution of the program. Locks, while necessary to ensure correct program execution, can greatly slow down a program. Locking multiple variables using non-atomic locks introduces the possibility of program deadlock. An atomic lock is a lock that locks multiple variables all-at-once. If it cannot lock all of them, it does not lock any of them. If two threads each need to lock the same two variables using non-atomic locks, it is possible that one thread will lock one of them and the second thread will lock the second variable. In such a case, neither thread can complete, and deadlock results.

Scope for future work (if any): In our model we have overlooked the cost effectiveness and better connection algorithms. This model can also be provided with connectivity to other planet systems, to gather information from that planet. The future work can also be based on the better coordination among the various technology. Conclusion: Combination of parallel and Ubiquitous computing can lead to wonders. As it contains the advantages of the both and faster processing as well as its ubiquitous availability will lead to universal acceptability of this model. Also this model is specifically a new one implementing parallelism to its highest possibility.

References: Hayes J.P., (1988), Computer architecture and organization, McGraw-Hill, ISBN 0-07-027366-9 Chapmen K., February (2003), PicoBlaze 8 bit microcontroller for Virtex-E and Spartan-II/IIE devices, XAPP213(v2.1), web site: http://www.xilinx.com

Acknowledgements: All the team members worked together hand in hand to come up with such a amazing model. Thanks to our Mentor who provided us with the right motivation and enthusiasm to come with such a model.

S-ar putea să vă placă și