Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
02-02-2011, 11:15 AM
|
#1
|
LQ Newbie
Registered: Feb 2011
Location: LOndon
Posts: 3
Rep:
|
running leach on ns2.34
I am trying to run leach ns2.27 on ns2.34, can any one give me a clue of how to do it am currently using ubuntu 10.4
thank you
|
|
|
02-02-2011, 11:24 AM
|
#2
|
Senior Member
Registered: Sep 2010
Distribution: Debian
Posts: 1,632
|
What do you mean "how to run"? I was under the impression LEACH was a wireless protocol... Can you explain exactly what you're trying to do, where you've looked for information and at what point in the process you've got stuck? Thankyou
|
|
|
02-02-2011, 11:33 AM
|
#3
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
Welcome to LQ. .. .. ..
You can have as many versions of ns-allinone-2.x installed, as you want.
Installing ns-allinone-2.27 on Ubuntu, post #3 here
http://www.linuxquestions.org/questi...10-a-782356/#3
More info : LQ Search , Tag = leach
Or LQ Search , keyword = leach
..
Last edited by knudfl; 02-02-2011 at 12:55 PM.
|
|
|
02-03-2011, 11:11 AM
|
#4
|
LQ Newbie
Registered: Feb 2011
Location: LOndon
Posts: 3
Original Poster
Rep:
|
leach simulation
I want to run a simulation on leach (protocol )so I downloaded an ns2.27 package of it, currently I have ns2.34 installed
I am having problem compiling it
is there any modification that needs to be made
or
I would not mind if I can get a link where I can download a package that can run on ns2.34
|
|
|
04-05-2011, 11:26 AM
|
#6
|
Member
Registered: Apr 2011
Distribution: -
Posts: 185
|
hey !
I have just added LEACH to Ns 2.35. HAd to make a couple of changes, but it has passed all the validation tests.
Now, while trying to run LEACH, am stuck at ::
couldn't read file "/usr/local/ns-allinone-2.35-RC4
/ns-2.35/mit/rca
/ns-ranode.tcl": no such file or directory
while executing
"source.orig {/usr/local/ns-allinone-2.35-RC4
/ns-2.35/mit/rca
/ns-ranode.tcl}"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source $env(RCA_LIBRARY)/ns-ranode.tcl"
(file "mit/uAMPS/sims/uamps.tcl" line 9)
invoked from within
"source.orig mit/uAMPS/sims/uamps.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source mit/uAMPS/sims/uamps.tcl"
(file "tcl/mobility/leach.tcl" line 18)
invoked from within
"source.orig tcl/mobility/leach.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source tcl/mobility/$opt(rp).tcl"
(file "tcl/ex/wireless_leach.tcl" line 187)
I know this is from uamps.tcl. I know the file is there, and the env variables are set. Have seen this question on a couple of forums, but not able to figure out how to fiz this. Please help !
|
|
|
04-05-2011, 01:36 PM
|
#7
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
Post #6 @deepa_2111 : Welcome to LQ. .. .. ..
Please edit post #6 to use code tags:
[/code] at code end, and [code] at code text start.
http://www.linuxquestions.org/questi....php?do=bbcode
Why ns-allinone-2.35-RC4, when RC7 is available ?
http://www.isi.edu/nsnam/dist/release/
And /usr/local/ is not a very convenient location for ns-allinone-2.xx.
Default is /home/<user-name>/ns2/ns-allinone-2.xx/.
It is not quite clear, what you are doing. "run LEACH" : What do you mean ?
Please specify the used command.
(Most things are probably described here, posts # 68...# 140 .... ..
http://www.linuxquestions.org/questi...79/page10.html )
LEACH for ns-2.34 : The latest files and install instructions are here
http://www.linuxquestions.org/questi...34-a-870368/#5
..
Last edited by knudfl; 04-05-2011 at 01:43 PM.
|
|
1 members found this post helpful.
|
04-05-2011, 02:57 PM
|
#8
|
Member
Registered: Apr 2011
Distribution: -
Posts: 185
|
Hey ..
Thanks a lot ...
I've got it running. Regarding ns-allinone-2.35-RC4, it is coz I'm running it on cygwin, and I think this is the most stable version.
I was trying to run the leach_test file, and i had the issues i mentioned above. I fixed it by manually typing the path to remove any extra spaces.
I am going to analyse my results now.
Thanks for the "code" suggestions.
|
|
1 members found this post helpful.
|
04-07-2011, 10:00 AM
|
#9
|
Member
Registered: Apr 2011
Distribution: -
Posts: 185
|
Hello,
I was analysing the results, and I come across this discrepancy (which I see mentioned on a couple of forum posts as well).
If I start with 2J energy per node, with 100 nodes, the maximum energy that can be expended in the network is 200J.
But, leach.out shows me::
Code:
At 548.60000000005618:
Total Energy = 373.70924811232476
Total Data = 56353
Total Alive = 4
Simulation complete
This is impossible. How can the network expend 373.7J of energy.
Further, the document "Porting and Verifying AROS to NS in Linux/UNIX" (by Francisco José Mosqueira Sáez) ( http://www.idt.mdh.se/utbildning/exj...les/TR0509.pdf) mentions this issue on page 33, with an explanation::
Quote:
The problem was in the medium, implemented by a class that is not modified by the MIT code.
That is the reason why it was so difficult to find the problem. In ns2.1b5,
there is already
implemented a wireless channel. But this channel behaves like a normal cable connected to every
node. This channel also simulated a more accurate wireless propagation delay than a normal cable.
When a packet arrives to a node, the network interface of the receiving node decides if the power of
transmission was enough to allow the reception of the packet.
In ns2.31,
the channel propagates the signal to every node listening to the channel within a
radius of propagation. To calculate this radius, propagation equations are used based on the
transmitted power of the wireless interface.
|
How do I go about fixing this ?? Help !!
|
|
|
04-24-2011, 02:08 AM
|
#10
|
LQ Newbie
Registered: Mar 2011
Posts: 7
Rep:
|
Quote:
Originally Posted by deepa_2111
Hello,
I was analysing the results, and I come across this discrepancy (which I see mentioned on a couple of forum posts as well).
If I start with 2J energy per node, with 100 nodes, the maximum energy that can be expended in the network is 200J.
But, leach.out shows me::
Code:
At 548.60000000005618:
Total Energy = 373.70924811232476
Total Data = 56353
Total Alive = 4
Simulation complete
This is impossible. How can the network expend 373.7J of energy.
Further, the document "Porting and Verifying AROS to NS in Linux/UNIX" (by Francisco José Mosqueira Sáez) ( http://www.idt.mdh.se/utbildning/exj...les/TR0509.pdf) mentions this issue on page 33, with an explanation::
How do I go about fixing this ?? Help !!
|
The total energy and other statistics are calculated through the tcl file "/mit/uAMPS/stats.tcl". the reason for this unreasonable value is that the expended energy of the node is added to the total energy even when the node is dead, while it should be zero. you can check the individual expended energies by reviewing the output file "leach.energy", so you need to check the status of the current node if it's still alive. otherwise the expended value should be zero.
|
|
2 members found this post helpful.
|
04-25-2011, 12:06 AM
|
#11
|
LQ Newbie
Registered: Mar 2011
Posts: 7
Rep:
|
Quote:
Originally Posted by MayTamer
The total energy and other statistics are calculated through the tcl file "/mit/uAMPS/stats.tcl". the reason for this unreasonable value is that the expended energy of the node is added to the total energy even when the node is dead, while it should be zero. you can check the individual expended energies by reviewing the output file "leach.energy", so you need to check the status of the current node if it's still alive. otherwise the expended value should be zero.
|
I've wrote this simple awk file https://docs.google.com/uc?id=0BzLWx...download&hl=en to calculate the actual cumulative expanded energy by all nodes over time, it's for Leach-C. to be executed for Leach just comment or delete the first 'if condition'. download it into "/mit/leach_sims" and run the command:
wsn@ubuntu:/opt/ns-allinone-2.34/ns-2.34/mit/leach_sims$ awk -f TotEn.awk leach-c.energy // for Leach-C
wsn@ubuntu:/opt/ns-allinone-2.34/ns-2.34/mit/leach_sims$ awk -f TotEn.awk leach.energy // for Leach
|
|
2 members found this post helpful.
|
04-25-2011, 02:33 AM
|
#12
|
LQ 5k Club
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519
|
Post # 11 : Thank you.
But the link isn't working. Shared settings in 'Google Docs':
<awk file> → Actions > Share > Sharing Settings > Change >
> Anyone with a link >>> Save ( > Close ).
|
|
1 members found this post helpful.
|
04-25-2011, 11:18 PM
|
#13
|
Member
Registered: Apr 2011
Distribution: -
Posts: 185
|
Hello ,
Thanks for ur replies. I modified the code as well ::
In \mac\Wireless-Phy.cc:
Code:
if (energy_)
{
if(alive_ != 0) // Deepa
{
if (energy_->remove(pktEnergy(Pt_, PXcvr_, ch->size())) != 0)
{
printf("alive = 0\n");
alive_ = 0;
}
} // Deepa
}
i.e., add the <code> if(alive_ != 0) </code> wherever the remove energy function is called,
and in mit\rca\energy.cc :
Code:
int EnergyResource::remove(double amount)
{
double new_level = energy_level_ - amount;
if(new_level >= 0 )
{
energy_level_ = new_level;
expended_ += amount;
} // Deepa
check if the new_level is greater or equal to 0. if it is not, energy cant be removed
|
|
1 members found this post helpful.
|
04-25-2011, 11:20 PM
|
#14
|
Member
Registered: Apr 2011
Distribution: -
Posts: 185
|
Have you noticed that LEACH-C performs worse than LEACH though actually it is supposed to give better performance ? In a previous post, I see someone has mentioned this same observation ... not sure if it has been rectified though.
|
|
|
04-26-2011, 12:18 AM
|
#15
|
LQ Newbie
Registered: Mar 2011
Posts: 7
Rep:
|
Quote:
Originally Posted by deepa_2111
Have you noticed that LEACH-C performs worse than LEACH though actually it is supposed to give better performance ? In a previous post, I see someone has mentioned this same observation ... not sure if it has been rectified though.
|
I'm sorry to miss the shared settings. Well, for Homogeneous wireless network (i.e. eq_energy=1), Leach-C performance should be worse because it's a centralised protocol and will consume more energy during the set-up phase than Leach. but for Heterogeneous network (eq_energy=0) Leach-C should came up with a better performance than Leach. However, I've run both protocols for Heterogeneous network and to my surprise, Leach still outperforms Leach-C. I've checked the file ns_leach.tcl, which is called for both protocols, and found that when eq_energy=0 then the calculated threshold of Leach would differ from the conventional one, taking into consideration the proportional current energy of the node to the total energy. hence enhancing the clusterheads election. i'm still confused about this point because Leach is local/distributed clustering algorithm so how the nodes would calculate the total energy without exchanging messages ??? However, if you force Leach to use it's conventional threshold for Heterogeneous then it'll perform worse.
|
|
1 members found this post helpful.
|
All times are GMT -5. The time now is 07:11 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|