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
Next revision Both sides next revision
midd:traffic_scheduling:project_log [2009/04/13 21:40]
afbarnard added log entries for last week
midd:traffic_scheduling:project_log [2009/04/30 15:11]
perryk
Line 144: Line 144:
 ==== 04/12 ==== ==== 04/12 ====
  
-Still coding. Added "​runid"​ to the UDP and both TCP plug-ins. The TCP case involved added a preamble (first bytes sent over the socket) so that both sides can have the same runid. I've had enough for today.+Still coding ​(later that day). Added "​runid"​ to the UDP and both TCP plug-ins. The TCP case involved added a preamble (first bytes sent over the socket) so that both sides can have the same runid. I've had enough for today.
  
 +==== 04/13 ====
 +
 +AB - Continued work on basic analysis. Unfortunately not yet ready to commit. Complications,​ bleary eyes, hazy mind, the usual suspects for excuses.
 +
 +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 ====
 +
 +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 ====
 +
 +PK - HTTP plugin giving me more trouble than it's worth. Recoded to hit a single web site per major interval so as to allow finer grained capture filters.
 +
 +==== 04/19 ====
 +
 +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 ====
 +
 +PK - Finally have HTTP plugin where it should be. Added additional capture fields as per Aubrey. ​
 +
 +==== 04/22 ====
 +
 +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.
 +
 +==== 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.
 +
 +==== 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.
midd/traffic_scheduling/project_log.txt ยท Last modified: 2009/05/15 14:55 by afbarnard