User Tools

Site Tools


midd:traffic_scheduling:project_log

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
midd:traffic_scheduling:project_log [2009/04/22 21:00]
perryk
midd:traffic_scheduling:project_log [2009/05/15 14:55] (current)
afbarnard added log entry for handing in
Line 126: Line 126:
 ==== 04/10 ==== ==== 04/10 ====
  
-I was in the process of doing this (see above) when I could not reinstall the Sprint drivers. Looking for a new set of drivers, I found a completely revamped set from Sprint. Installing, and guess what - the NDIS adapter can not be directly seen by winpcap. Successfully sending and receiving via our software over the Sprint card to our server.+I was in the process of doing this (see above) when I could not reinstall the Sprint drivers. Looking for a new set of drivers, I found a completely revamped set from Sprint. Installing, and guess what - the NDIS adapter can now be directly seen by winpcap. Successfully sending and receiving via our software over the Sprint card to our server.
  
 ==== 04/12 ==== ==== 04/12 ====
Line 151: Line 151:
  
 PK - Rewrite of the client UI bringing all plugins and all adapters under a single executable. Very pleased. Captured data on 3 adapters X 5 plugins simultaneously (15 data streams). PK - Rewrite of the client UI bringing all plugins and all adapters under a single executable. Very pleased. Captured data on 3 adapters X 5 plugins simultaneously (15 data streams).
 +
 +==== 04/14 ====
 +
 +AB - Set up Mono and MySQL access from Mono.
  
 ==== 04/15 ==== ==== 04/15 ====
  
 PK - Writing HTTP plugin. Tweaks of capture code to lock resources less often and in shorted intervals. PK - Writing HTTP plugin. Tweaks of capture code to lock resources less often and in shorted intervals.
 +
 +AB - SQL data analysis
 +
 +==== 04/16 ====
 +
 +AB, PK - Meeting to discuss progress and issues. We are slightly behind schedule. AB's fault.
  
 ==== 04/17 ==== ==== 04/17 ====
Line 163: Line 173:
  
 PK - A lot of data capture tests - installed and run on laptop. PK - A lot of data capture tests - installed and run on laptop.
 +
 +AB - Tried to dump project DBs. Decided default number of plugin subsamples. Ping analysis.
 +
 +==== 04/20 ====
 +
 +AB, PK - Meeting. Status and issues. ICMP packet lengths confusing (not adding up).
 +
 +AB - DNS analysis.
  
 ==== 04/21 ==== ==== 04/21 ====
Line 172: Line 190:
 PK - propagated code to correctly extract payloads without control characters. PK - propagated code to correctly extract payloads without control characters.
  
 +AB - Finished client download of server data.
 +
 +==== 04/23 ====
 +
 +AB, PK - Meeting.
 +
 +==== 04/24 ====
 +
 +AB, PK - Meeting with Suman, who advises altering project direction. Thereafter, meeting with ourselves to discuss and start on new project direction. We will focus exclusively on scheduling data to multiple TCP streams from now on. Discussed necessary architecture,​ priorities, collaboration points.
 +
 +AB - Prepare presentation for meeting with Suman.
 +
 +PK - Actually early 04/25. Started from scratch last night. Finished a new server - even added graphing GUI. Architected class hierarchy and implemented round robin scheduler (since it does not require any actual capture or analysis) as a means of exercising the class hierarchy. I like it so far. Very pleased. This screen grab shows the server receiving from a SuperTcpClient with 2 (simulated) adapters with the round robin scheduler. The graph is the last 60 seconds. The dip is the current second.
 +
 +{{:​midd:​traffic_scheduling:​server_snap.jpg|}}
 +
 +==== 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. But will continue thinking about it as developing a framework for this future work would make a nice addition to the project'​s report.
 +
 +AB - Get SharpPcap working on Linux with Mono. Correspond with Perry about project focus, design, cross-platform compatibility.
 +
 +==== 04/27 ====
 +
 +PK, AB - several hour meeting came up with concrete plan for finishing this project. ​
 +
 +PK - started over again. ​
 +
 +==== 04/28 ====
 +
 +PK - experimented with blocking and non-blocking socket member. With non-blocking I crashed my computer every time when I hammered the adapter but did not do this with blocking set. Flag must do something :). Later this day: First fully functioning version of new client / server. ​
 +
 +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. 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.
 +
 +AB - Clean up and commit new code.
 +
 +==== 04/29 ====
 +
 +PK - Added OpenGL "​GUI"​ to client.
 +
 +AB - Look into C# timer resolution issue. Create demo timer application.
 +
 +==== 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/05 ====
 +
 +AB, PK - Meet
 +
 +AB - Write link oracle. Try to run with Tao/OpenGL. Advise removing Tao. Tidy repository.
 +
 +==== 05/06 ====
 +
 +PK - Implemented Spaghetti scheduler. Happy birthday to me.
 +
 +AB - Write link oracle.
 +
 +==== 05/07 ====
 +
 +PK - Implemented random scheduler.
 +
 +==== 05/08 ====
 +
 +AB - Logging of network characteristics,​ scheduling decisions, network activity, etc. for use in experiments.
 +
 +==== 05/09 ====
 +
 +PK - Implemented experiment duration timer for Aubrey.
 +
 +AB - Logging.
 +
 +==== 05/10 ====
 +
 +PK - Made code tweaks for Aubrey. Began formal presentation development.
 +
 +AB - Logging. Fix adapter class. Fix time stamps. Fix link oracle. Proportional scheduler.
 +
 +==== 05/11 ====
 +
 +AB - Revise command line arguments to add options necessary for experiments.
 +
 +PK, AB - met for 6 hours. Made a lot of progress. Reviewed formal presentation. Conceived more fully realized BK Scheduler - an idea that we have bandied back and forth for a long time.
 +
 +==== 05/12 ====
 +
 +PK - starting at 3:30 AM to 9:30 AM - really formalized BK.
 +
 +AB, PK - Met for 8 hours to implement BK scheduler, run experiments,​ fix bugs, rerun experiments,​ finish presentation.
 +
 +==== 05/13 ====
 +
 +AB, PK - Give partial project presentation. Revise and condense remainder of presentation so that it fits into 10 minutes or less.
 +
 +==== 05/14 ====
 +
 +AB, PK - Finish revising presentation. Give director'​s cut condensed version.
 +
 +==== 05/15 ====
 +
 +AB, PK - Upload deliverables to this site.
midd/traffic_scheduling/project_log.1240452052.txt.gz ยท Last modified: 2009/04/22 21:00 by perryk