This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
midd:traffic_scheduling:project_log [2009/04/28 22:56] perryk |
midd:traffic_scheduling:project_log [2009/05/10 16:44] perryk |
||
---|---|---|---|
Line 208: | Line 208: | ||
==== 04/25 ==== | ==== 04/25 ==== | ||
- | PK - Decided to take a chance to write super-TCP. Came up with plan. Spent 24 hours straight on it. Concluded it is too big for this late in the semester. | + | PK - Decided to take a chance to write super-TCP. Came up with plan. Spent 24 hours straight on it. Concluded it is too big for this late in the semester. But will continue thinking about it as developing a framework for this future work would make a nice addition to the project's report. |
==== 04/27 ==== | ==== 04/27 ==== | ||
Line 222: | Line 222: | ||
PK - AB - meet for an hour for code review, status. | PK - AB - meet for an hour for code review, status. | ||
- | PK - a few more hours in. I added three more transmission "models" to the client: load,burst and random. I have replaced the processor based clock and am now using DateTime.Now.Ticks to make the code portable to Linux. This means same-machine/same-subnet RTTs are 0. I added the adapter cumulative loss/ooo counts. I added timestamps in acks. Have conclusive evidence that the blocking socket flag does nothing in UDP. | + | PK - a few more hours in. I added three more transmission "models" to the client: load,burst and random. I have replaced the processor based clock and am now using DateTime.Now.Ticks to make the code portable to Linux. This means same-machine/same-subnet RTTs are 0. I added the adapter cumulative loss/ooo counts. I added timestamps in acks. Have conclusive evidence that the blocking socket flag does nothing in UDP. Forced to put in Thread.SpinWait every N bulk transmissions so that we don't spill so many segments on the floor, even before they've hit the wire. |
+ | ==== 04/29 ==== | ||
+ | |||
+ | PK - Added OpenGL "GUI" to client. | ||
+ | |||
+ | ==== 04/30 ==== | ||
+ | |||
+ | PK - Added Jacobson/Karels Algorithm RTT estimation to adapter code. It furnishes an established idea of current RTT for use by schedulers. Jacobson/Karels Algorithm specification doesn't discuss adding to estimated timeout any effect of actual timeouts. So, I added a penalty to the estimated timeout if an actual timeout occurs (added 0.1 seconds to estimated timeout). Temporarily, I connected the suggested timeout value to the actual timeout value and it worked VERY well. | ||
+ | |||
+ | |||
+ | PK - Later. Improved GUI graphing. Realized there was no way to zero bins for seconds in which no segments were sent. New code has additional benefit of scrolling in new data. | ||
+ | |||
+ | ==== 05/04 ==== | ||
+ | |||
+ | PK - Removed GUI graphing to make it easier to port to Mono. With a little more tinkering with the Tao framework (which IS Mono compatible), the GUI code could be added back in. | ||
+ | |||
+ | ==== 05/06 ==== | ||
+ | |||
+ | PK - Implemented Spaghetti scheduler. Happy birthday to me. | ||
+ | |||
+ | ==== 05/07 ==== | ||
+ | |||
+ | PK - Implemented random scheduler. | ||
+ | |||
+ | ==== 05/09 ==== | ||
+ | |||
+ | PK - Implemented experiment duration timer for Aubrey. | ||
+ | |||
+ | ==== 05/10 ==== | ||
+ | |||
+ | PK - Made code tweaks for Aubrey. Began formal presentation development. | ||