- 12 Jan, 2004 2 commits
-
-
Shashi Guruprasad authored
code originally tried to do a normal $ns connect between traffic agents attached to simnodes on the same pnode. The problem that I forgot of course is that partitioned topology is quite disconnected which means that a packet is forced to exit the pnode and come back to it (in many cases). In other words, a direct intra pnode path does not exist. The fix is to just use the IP address based routes always. A similar problem is encountered in pdns as well. However, since IP address based routing is not used, there is no simple fix unless I work on it! The 416 node topology testbed/nse416 is working alright. It mapped to 20 pnodes and as soon as a whole bunch of traffic started up, 7 pnodes couldn't track real-time and caused a modify. Expt modify happened 3 times but eventually max_retries in my re-swapping code was reached. Need more measuring, tuning as well as eventrate based re-swapping.
-
Shashi Guruprasad authored
a simple problem in the duplex-link instproc which caused the code for simnode creation to go to one pnode while an rlink from this simnode was mapped to another pnode. Also added $ns rtproto Manual for generated tcl code since IP address based routes are being added.
-
- 10 Jan, 2004 1 commit
-
-
Kirk Webb authored
-
- 09 Jan, 2004 5 commits
-
-
Mike Hibler authored
I'm trying to get a handle on what to write for the paper...
-
Robert Ricci authored
-
Shashi Guruprasad authored
(or more than one simhost) is unable to keep up with real-time. It includes changes to assign_wrapper to handle swap modify for simnodes, the simple algorithm in nseswap that bumps up the nodeweight of simnodes being hosted on a simhost that reports "can't keep up with real-time" (aka nse violation), ptopgen and sim.tcl to prefer nodes that already have the FBSD-NSE image. Also, changes to other files to send out NSESWAP event. One unrelated change: We now have per-swapin .top files and assign.log files along with .ptop files. This helps in debugging across multiple swapins since files remain in the form of <pid>-<eid>-<process_id>.{top,ptop} and assign-<pid>-<eid>-<process_id>.log Also useful for archiving.
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
but not other virt_* tables. Thats coz the above two tables are not truly virtual since they contain the vnode to which the event should be sent to. My previous patch has been to use replace instead of insert. Unfortunately, the tables get messed up with the same agent having multiple entries where some of the entries were left behind from the previous swapin.
-
- 08 Jan, 2004 3 commits
-
-
Mac Newbold authored
committed last, but this dump came out in a very different order, so the diff looks huge, even though it is only about 8 lines.
-
Shashi Guruprasad authored
added -eventsys_restart option to tbswap. These options are allowed only with swapexp -s modify and correspondingly for tbswap with update. Tested with a 1 node experiment and things seem to work fine.
-
Shashi Guruprasad authored
of typing to log in to nodes, I wrote the same code in C. Compile on cygwin with gcc -mwindows -mno-cygwin -o ssh-mime ssh-mime.c . Set the env PUTTY_CMD to the path of where you have put putty. The compiled exe is in http://www.emulab.net/ssh-mime.exe
-
- 07 Jan, 2004 3 commits
-
-
Leigh B. Stoller authored
you typed the URL directly instead of indirecting from the project page. No one did that till today.
-
Leigh B. Stoller authored
probably imperfect, but better then nothing. New option, "-t tag" allows you to specify an arbitrary tag to match against the stated_tag of the nodes table. The stated invocation will only operate on nodes that match the tag, ignoring all events for other nodes. If unspecified, stated will operate on all nodes with a NULL tag. This is setup up at the beginning of time (or during a reload) saving the per-node tag in the $nodes hash. Each time an event arrives, check the tag in the table, ignoring the event if not a match. On signaled reload() must also be careful to throw away timeouts from the queue (and be careful not to set up new timeouts for ignored nodes). So, this allows you to set the tag for a node in the DB, and then HUP stated so that it reloads it tables. That node will now be ignored by that stated. Also made some changes to debug mode. In debug mode, don't worry about the pidfile or the lockfile or checking for other running stated (which causes my debug version to exit! right away). Also, added a new -l option to turn of syslog output and just send it all to stdout with the debug output. -l can be only be used with -d of course. So what can I do with all this: update nodes set stated_tag='lbs' where node_id='pc5'; sudo kill -HUP `cat /var/run/stated.pid` sudo stated -d -l -t lbs Which tells the main stated to ignore pc5. Then I run a debugging stated that operates only on pc5. Later when done: update nodes set stated_tag=NULL where node_id='pc5'; sudo kill -HUP `cat /var/run/stated.pid` Which tells the main stated to operate on pc5 again.
-
Shashi Guruprasad authored
when it cannot keep up with real-time. bug: This affected encapsulated simulator packets that had to cross multiple physical nodes before arriving at the destination simulator traffic agent. This bug didnt affect live packets from traffic sources on real PCs. The NSESWAP event is now sent via the tevc command. The nse scheduler waits for the slop factor (diff between clock and event dispatch time that exceeds a threshold) to be crossed multiple times in a second before sending the NSESWAP event. Currently 5 times in 1 second. However, this needs more careful thought and will get modified later. When is it really necessary to declare that an nse is overloaded? i.e. what is the right slop factor? How many times can we tolerate that the slop factor is exceeded to ensure end-to-end performance is within a certain percentage of the expected?
-
- 06 Jan, 2004 9 commits
-
-
Shashi Guruprasad authored
number of times re-swapin has occured due to a simhost not being able to keep up with real-time.
-
Robert Ricci authored
again. One of the fixes changes the way in which we iterate through pclasses in find_pnode(). We used to treat the vector like a ring buffer, and start (randomly) someplace in the middle. This turns out to give some bad statistical properties when doing dynamic pclasses, since long chains of disabled pclasses will cause some pclasses to be selected more often. My old hack of just hopping around randomly in the disabled-pclass case was bad, because it's hard to tell when you've actually tried all the pclasses - so, we were getting false negatives where it was looking like there was no place available where we could map a vnode, which turned out to have worse effects than I had thought. So, now, we make a list of all the indices and randomize the order, then just iterate through that list. We also now count the number of pclasses that are enabled at every temperature step, and adjust the neighborhood size to remove them. This makes dynamic pclasses quite a bit faster - it cuts the time by 30% - 50% for my test case. Cleaned up find_pnode() by removing some #ifdef's that we don't use, and probably will never want to again - this makes the function almost readable!
-
Leigh B. Stoller authored
Well, thats the hope. Not sure it will work, but might as well try.
-
Robert Ricci authored
it to the user - it was a source of confusion.
-
Shashi Guruprasad authored
-
Robert Ricci authored
debug problems.
-
Kirk Webb authored
-
Leigh B. Stoller authored
-
Shashi Guruprasad authored
in every routing table except the main before inserting new ones obtained from tmcc. The problem was that even the interface routes that were added when the interfaces were brought up are flushed. Unfortunately these routes weren't getting added again. The solution is to toggle the interfaces i.e. disabling and re-enabling them again. It has the desired effect of flushing all the routes as well. I'm not sure how things worked until now. In all my previous mappings of the testbed/nse10 straight-line topology, things mysteriously worked!
-
- 05 Jan, 2004 3 commits
-
-
Leigh B. Stoller authored
-
Robert Ricci authored
Fix a bug in enum parsing Fix typos that were keeping MySQL errors from coming through to the web interface.
-
Shashi Guruprasad authored
occur if a normal duplex link was created first. The reason is coz the creation of an rlink would also internally create an IPTap agent and when this agent was being attached to the node, classifier entries were being added to the port demultiplexer for all the IP addresses of the simnode. Unfortunately, if an rlink was created first before anything else, the IP address would be set only in the next Tcl statement causing nse to exit prematurely.
-
- 03 Jan, 2004 5 commits
-
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
not skipped in the case of 10Mb 0ms links.
-
Shashi Guruprasad authored
"upleavel 1 eval $script". The latter is wrong and was detected when a for loop inside make-simulated did not work.
-
Kirk Webb authored
-
Kirk Webb authored
* use IP addr rather than finickey hostname when communicating with PLC. * make Node._create() aware of "already assigned" condition. * Bump vnode_setup timeout back to two minutes (for now).
-
- 31 Dec, 2003 5 commits
-
-
Shashi Guruprasad authored
keys. Previosly, I had based the create definition on the virt_nodes table. Unfortunately, that turned out to be incorrect.
-
Kirk Webb authored
-
Kirk Webb authored
mechanism in the service sliver).
-
Kirk Webb authored
-
Mike Hibler authored
-
- 30 Dec, 2003 3 commits
-
-
Kirk Webb authored
vnode_setup for the timeout on waiting for child processes. I've set it to 10 minutes since all ancillary setup programs have their own time bounds (I think - the plab ones do anyway). The function of plabmonitord has changed slightly. Instead of setting up and tearing down vnodes, its job is to just setup the emulab management sliver on plab nodes in hwdown. Once the vserver comes up and reports isalive, it moves the node out of hwdown. Currently, it first tries to tear down the vserver before reinstantiating it. In the future, we could get fancier and try interacting with the service sliver directly before simply tearing it down. All new plab nodes now start life in hwdown, and must be summoned forth into production by plabmonitord. This commit does NOT include support for the node-local httpd. That will come soon.
-
Mike Hibler authored
-
Kirk Webb authored
central. Also, back out Mike's hack, and use the ALLOWED_LIST feature Austin originally had to limit node scope.
-
- 29 Dec, 2003 1 commit
-
-
Shashi Guruprasad authored
some of the tables such as virt_agents and eventlist are not truly virtual tables. That is coz they contain the vnode field which is the same as the vname field in the reserved table. For simulated nodes, the mapping may change across swapins and the event may have to be delivered to a different simhost. Of course this problem isn't there for jail vnodes or pc vnodes.
-