Main Page | Class List | File List | Class Members

PseudoScheduler.cc

Go to the documentation of this file.
1.30 00:57:51 A fix for problem reported by Nesime.
Simulatenous processing of the box and enqueing of the tuples caused
statistics to observe some weird numbers.
2004/11/03 alexr Tentative measurement of input rates has been added under the name of
"InputRate"
Specified per box (and works for the port 0 only at the moment) and is
defined in tuples/second.
2004/11/02 alexr
New statistics fix (proper queue lengths are now recorded)
A limit on how many tuples at once a box will processed has been placed
(and set in common.h by a constant TUPLE_PROCESSING_LIMIT)
suspendSubnetwork call added that will merely remove boxes from active
execution but provides no buffering or listener suspention.
Please note the TUPLE_PROCESSING_LIMIT, as it might change the behavior
of your tests. (current implementation limits sum of tuples from all inputs
rather than each input port).
2004/11/01 alexr Small fixes in stats collection (still not perfectly clean, but better).
Added queue length collection under the name of QLength stat. Nesime, stop
by tomorrow to talk about it...
2004/10/26 alexr Sorry about this checkin.
Performance should be back to normal now (accidentally checked in
PseudoScheduler.cc with a relatively high simulated box cost).
2004/10/26 alexr
Statistics collection is finally functional. Scheduler collects per-box
cost as specified in the creation parameters of Stats object in AuroraNode
Nesime (and whoever else plans on using the stats), ask me if you want to
know how to use it.
Selectivity stats maintenance is on the way.
Note that records are not being removed when a box moves, so it will collect
0-s while away.
2004/10/14 alexr
Fixed up the wait used by drain network. Should be waiting properly now.
Uncommented the lines that implement busywait simulating box cost. However,
by default BOX_COST is set to 0, so nothing is happening -- if you want
to have non-zero box cost just change the value.
Note that as of a week now schedule does not use usleep anywhere. use_cpu_time
is honest CPU busywait and not a call to usleep. Thus we should be having
no more confusion with usleep affecting the whole process.
2004/10/13 mbalazin Small fix in punctuating buckets
Bug fix when automatically increasing size of buckets
Also, for pseudoscheduler, I'm committing the version _without_ the sleep so random people using Borealis don't have surprises.
2004/10/11 mbalazin Added an option that allows to configure Borealis with all non-error messages suppressed. Simply configure with:
wtf configure [your usual options] --disable-messages
That will suppress all INFO, DEBUG, WARN, and NOTICE messages.
(I also replaced a few NOTICE with DEBUG so they don't appear by default)
2004/10/08 mbalazin Bug fix in Pseudoscheduler:
- added removeFromSchedule method that ensures all boxes are removed from
_boxes_to_run and from _ext_boxes_to_run before we erase them. Otherwise,
scheduler runs boxes that were already destructed.
2004/10/08 mbalazin setPendingBoxState. No need to re-allocate. Changed to dynamic casts.
2004/10/07 alexr
Several bug fixes.
QueueListners are now properly changed from input listeners to internal
listeners and vice-versa. That should be the proper rewrite replacing
Magda's fix (Magda, thank you for the quick fix! :)
A subtle bug with scheduler not waking up occasionally should be fixed now.
As far as I understand it was an interesting combination of two different
bugs, where each could cause similar behavior involving a non-waking up
scheduler.
Please report to me if scheduler fails to wake up during your runs. This
bug was somewhat non-determenistic and difficult to observe.
2004/09/27 mbalazin Debug messages should use either INFO or DEBUG not NOTICE because then there is no way to disable them.
2004/09/24 mbalazin Added second output to my sunion operator. Operator produces outputs at the correct times and manages its state fine now
(for PseudoScheduler, downgraded a message from NOTICE to INFO so doesn't appear unless debugging)
2004/09/24 yna Moved most of the Aurora code into the Borealis namespace. There are still a few things in util/ that aren't
used that need to be moved.....
2004/09/20 mbalazin Fix in pseudoscheduler: to avoid sleeping forever when moving input boxes.
Now whenever a box adds itself to a list of boxes to run, it wakes up the scheduler... to avoid sleeping forever when we move boxes most upstream... it might be better to transform queue listeners into input queue listeners when we move boxes most upstream.
2004/09/14 alexr Added the use of StatsMgr to the scheduler.
The statistics are being declared and used, but scheduler is not yet
collecting them at proper intervals.
Also fixed the usleep to actually utilize CPU for a box_cost
(Yanif, take note -- I will try to test this soon see if it helped)
Stats in StatisticsTools was renamed to SStats pending the namespace
reconciliation which needs to be negotiated with a few people.
2004/08/03 mbalazin Created a Borealis namespace so we can now use:
BOREALIS_NAMESPACE_BEGIN BOREALIS_NAMESPACE_END
Had to change the client apps to say:
"using namespace Borealis" rather than the old "using namespace SLAM::Medusa" so if my change conflicts with yours then my change was only to the namespace line.
2004/07/18 alexr
drainSubNetwork now works (still disabled by default).
chokeSubNetwork works much better with border cases being taken care of.
TupleQueueListeners are now disabled/enabled properly.
A few subtle bugs fixed.
2004/07/17 alexr A couple of subtle and unpleasant bugs fixed.
drainSubNetwork is still not working (disabled for now) but is a
lot closer to being functional.
2004/07/17 alexr
fixed some minor bugs
worked around empty box state problem
fixed up box-removing flow control
2004/07/16 alexr added a drainSubNetwork call.
2004/07/16 alexr wrote new methods to choke and resume parts of the network.
added the capability to buffer tuples to the Stream class.
writing of subnetwork drain is pending.
2004/06/30 yna Fixed scheduler's removeBoxes, fixed TupleQueueListener's notify method to use try_lock, working movebox_test demo.
2004/06/29 mbalazin commented out 2 unused variable to make compiler happy
2004/06/29 yna Fixed some scheduler removeBoxes stuff. Changed rates in movebox_test to highlight a scheduler bug.
movebox_test is broken for now (simply decrease batch size to run).
2004/06/28 alexr
Made modifications for box movement testing.
Added some debug info.
2004/06/24 alexr Added a to_string method to scheduler.
Also a small fix.
2004/06/16 alexr Added preliminary box-remove code on the scheduler side.
2004/04/14 mbalazin New dir structure

Generated on Thu Jul 22 08:51:53 2004 for Borealis by doxygen 1.3.7-20040704