Difference between revisions of "User:Agember"

From Embedded Xinu
Jump to navigation Jump to search
 
(69 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
''Mon 3pm to 5:30pm, 8pm to 9pm (3.5); Tues 2:00pm to 5:30pm, 11pm to 11:30pm (4); Thurs 1:15pm to 5:30pm (4.25); Fri 1:15pm to 5:30pm (4.25); Total 16 hours''
 
''Mon 3pm to 5:30pm, 8pm to 9pm (3.5); Tues 2:00pm to 5:30pm, 11pm to 11:30pm (4); Thurs 1:15pm to 5:30pm (4.25); Fri 1:15pm to 5:30pm (4.25); Total 16 hours''
 
* Reviewed paper: [http://doi.acm.org/10.1145/1452520.1452534 A measurement study of a commercial-grade urban wifi mesh]
 
* Reviewed paper: [http://doi.acm.org/10.1145/1452520.1452534 A measurement study of a commercial-grade urban wifi mesh]
* Read Chapter 11 and 12 in "The Design and Implementation of the 4.4 BSD Operating System" (notes on Trac)
+
* Read Chapters 11 and (part of) 12 in ''The Design and Implementation of the 4.4 BSD Operating System'' (notes on Trac)
 
* Discussed new network stack design (details on Trac)
 
* Discussed new network stack design (details on Trac)
  
Line 20: Line 20:
 
* Discussed new network stack design
 
* Discussed new network stack design
 
* Reviewed paper: [http://doi.acm.org/10.1145/1531793.1531805 Factored operating systems (fos): the case for a scalable operating system for multicores]
 
* Reviewed paper: [http://doi.acm.org/10.1145/1531793.1531805 Factored operating systems (fos): the case for a scalable operating system for multicores]
* Read Chapter 4 (Address Discovery and Binding (ARP)) in "Internetworking With TCP/IP Vol II: Design, Implementation, and Internals"
+
* Read Chapter 4 (Address Discovery and Binding (ARP)) in ''Internetworking With TCP/IP Vol II: Design, Implementation, and Internals''
 
* Cleaned-up and rewrote
 
* Cleaned-up and rewrote
 
** Network stack related headers (<code>net.h</code>, <code>network.h</code>, <code>ethpkt.h</code>)
 
** Network stack related headers (<code>net.h</code>, <code>network.h</code>, <code>ethpkt.h</code>)
Line 26: Line 26:
  
 
=== June 7 - June 13 ===
 
=== June 7 - June 13 ===
''Mon 3:45pm to 6:15pm (2.5); Tues 1:00pm to 8:30pm (7.5) Total: hours''
+
''Mon 3:45pm to 6:15pm (2.5); Tues 1:00pm to 11:00pm (10); Wed 3:15pm to 5:15pm (2); Thurs 1:30pm to 6:00pm (4.5); 4:15pm to 6:15pm (2); Total: 21 hours''
 
* Reviewed paper: [http://doi.acm.org/10.1145/1450135.1450150 Traversal caches: a first step towards FPGA acceleration of pointer-based data structures]
 
* Reviewed paper: [http://doi.acm.org/10.1145/1450135.1450150 Traversal caches: a first step towards FPGA acceleration of pointer-based data structures]
 
* Cleaned-up and rewrote
 
* Cleaned-up and rewrote
** Network stack related headers (<code>arp.h</code>)
+
** Network stack related headers
** <code>arpRecv</code>, <code>arpLookup</code>, <code>arpGetEntry</code>, <code>arpAlloc</code>
+
** Link-level packet processing (<code>network/net*</code>)
 +
** ARP (<code>network/arp/arp*</code>)
 +
* Changed network stack to utilize <code>netaddr</code> structure for all IP and MAC addresses
 
* Assisted with merge of webinterface, agember, and trunk-2.0 branches
 
* Assisted with merge of webinterface, agember, and trunk-2.0 branches
 +
* Read chapter 12 in ''The Design and Implementation of the 4.4 BSD Operating System'' (notes on Trac)
  
 
=== June 14 - June 20 ===
 
=== June 14 - June 20 ===
 +
''Mon 1pm to 3:30pm (2.5); Tues 1:30pm to 6:30pm (5); Wed 1:30pm to 5pm (3.5); Fri 10am to 11am, 7:30pm to 8pm (1.5); Sat 9:30am to 10:30am (1); Total: 13.5 hours''
 +
* Reviewed paper: [http://doi.acm.org/10.1145/1519065.1519095 Dingo: taming device drivers]
 +
* Cleaned-up and rewrote
 +
** Shell function to start network interface
 +
* Assisted with cleanup of IP portions of the network stack
 +
* Read chapter 13 in ''The Design and Implementation of the 4.4 BSD Operating System''
 +
* Read [http://doi.acm.org/10.1145/1140086.1140094 Tmix: a tool for generating realistic TCP application workloads in ns-2]
 +
 
=== June 21 - June 27 ===
 
=== June 21 - June 27 ===
 +
''Sun 10am to 10:30am (0.5); Mon 12:30pm to 3:30pm (3); Tues 1:30pm to 10:30pm (9); Wed 1pm to 4:30pm (3.5); Thurs 3pm to 5:30pm, 7pm to 10pm (5.5); Total: 21.5 hours''
 +
* Read [http://devresources.linux-foundation.org/~shemminger/netem/LCA2005_paper.pdf Network Emulation with NetEm]
 +
* Changed the opening policy of TCP to wait for connection establishment before returning from the call to <code>open</code>
 +
* Reviewed paper: [http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1528453 A Real-Time Software Platform for the Cell Processor]
 +
* Worked on test suite for network stack
 +
 
=== June 28 - July 4 ===
 
=== June 28 - July 4 ===
 +
''Sun: 5:00pm to 8:30pm (3.5); Mon 2:00pm to 6:00pm (4); Tues 1:30pm to 9:00pm; 10:00pm to 10:30pm (8); Wed 1:15pm to 6:15pm (5); Thurs 12:00pm to 10:00pm (10); Total: 30.5 hours''
 +
* Reviewed paper: [http://doi.acm.org/10.1145/1227310.1227372 Mindstorms without robotics: an alternative to simulations in systems courses]
 +
* Read chapters 1 and 2 in ''The Linux Networking Architecture: Design and Implementation of Network Protcols in the Linux Kernel''
 +
* Read [http://recursos.aldabaknocking.com/libpcapHakin9LuisMartinGarcia.pdf Programming with Libpcap - Sniffing the Network From Our Own Application]
 +
* Started implementation of the PCAP library
 +
* Started to construct a testsuite testcase for ARP
 +
* Wrote a testsuite testcase for the network interface; fixed bugs uncovered by the testcase
 +
* Assisted Dan with the cleanup/rewrite of IPv4
 +
* Assisted Paul with the cleanup/rewrite of UDP
 +
* Merged the ethernet loopback device into Zachary's branch
 +
 
=== July 5 - July 11 ===
 
=== July 5 - July 11 ===
 +
''Mon 2:00pm to 6:30pm (4.5); Tues 2:00pm to 10:00pm (8); Wed 3:00pm to 6:00pm (3); Thurs 11:30am to 5:30pm (6); Fri 1:45pm to 6:45pm, 8:00pm to 12:00pm (9); Sat 1:30pm to 7:00pm (5.5); Total: 36 hours''
 +
* Read chapters 3 & 4 in ''The Linux Networking Architecture: Design and Implementation of Network Protocols in the Linux Kernel''
 +
* Continued implementation of PCAP library
 +
* Reviewed paper [http://doi.acm.org/10.1145/1542452.1542461 Eliminating the call stack to save RAM]
 +
 
=== July 12 - July 18 ===
 
=== July 12 - July 18 ===
 +
''Sun 3:45pm to 5:30pm, 10:45pm to 12:00pm (3); Mon 1:30pm to 4:00pm (2.5); Tues 1pm to 9pm (8); Thurs 12:30pm to 4:30pm (4); Total: 22.5 hours''
 +
* Reviewed paper [http://doi.acm.org/10.1145/1460096.1460165 Outdoors augmented reality on mobile phone using loxel-based visual feature organization]
 +
* Completed ARP test case.  The test case covers every line of code in ARP that is feasibly testable.  The only function not covered is arpInit which is called at startup.
 +
* Created a new network branch for completing development of the network stack.
 +
* Merged the network interface, netaddr, and ARP code into trunk.  This includes all functions, header files, and test cases related to these components.
 +
* Started to clean-up/tweak snoop.  I decided PCAP was too large and too time intensive to implement.  I have kept the structures necessary to read PCAP files, but disposed of everything else.  The new snoop system works similar to PCAP - it attaches a structure to a network interface and uses mailboxes for queue packets.  The new snoop shell function has many more arguments including verbose levels, hex dump, and filtering capabilities. I anticipate finishing snoop and merging it into trunk before I leave for my vacations.
 +
 
=== July 19 - July 25 ===
 
=== July 19 - July 25 ===
''Vacation''
+
''Vacation July 19 - July 25''
 +
 
 
=== July 26 - August 1 ===
 
=== July 26 - August 1 ===
''Vacation''
+
''Vacation July 29 - August 1''
 +
 
 
=== August 2 - August 8 ===
 
=== August 2 - August 8 ===
''Vacation''
+
''Vacation August 2 - August 5''
 +
''Tues 7:30pm to 9:30pm (2); Wed 1:30pm to 8:30pm (7); Thurs 1:30pm to 7:30pm (6); Total: hours''
 +
 
 
=== August 9 - August 15 ===
 
=== August 9 - August 15 ===
=== August 16 - August 22 ===
 

Latest revision as of 02:52, 24 August 2009

Summer 2009 Log

May 17 - May 23

Mon 1pm to 5:30pm (4.5); Tues 2:30pm to 7pm (4.5); Wed 2pm to 5pm (3); Thurs 1:30pm to 5pm (3.5); Total: 15.5 hours

  • Discussed projects with undergrads
  • Set projected deadlines
  • Developed telnet proof of concept: spawned shell on TTY opened on TCP
  • Acquired reading material on network stack design in BSD and Linux
    • McKusick, Marshall Kirk, Keith Bostic, Michael J. Karels, John S. Quarterman. The Design and Implementation of the 4.4 BSD Operating System. Reading, MA: Addison-Wesley, 1996.
    • Wehrle, Laus, Frank Pahlke, Hartmut Ritter, Daniel Muller, Marc Bechler. The Linux Networking Architecture: Design and Implementation of Network Protocols in the Linux Kernel. Upper Saddle River, NJ: Pearson Prentice Hall, 2005.
  • Selected paper for Tues, May 26: A measurement study of a commercial-grade urban wifi mesh

May 24 - May 30

Mon 3pm to 5:30pm, 8pm to 9pm (3.5); Tues 2:00pm to 5:30pm, 11pm to 11:30pm (4); Thurs 1:15pm to 5:30pm (4.25); Fri 1:15pm to 5:30pm (4.25); Total 16 hours

May 31 - June 6

Mon 3pm to 6pm (3); Tues 8:30pm to 10pm (1.5); Wed 2:15pm to 5:15pm, 7:00pm to 8:30pm (4.5); Thurs 1:45pm to 5:45pm (4); Fri 2pm to 5pm (3); Total: 16 hours

June 7 - June 13

Mon 3:45pm to 6:15pm (2.5); Tues 1:00pm to 11:00pm (10); Wed 3:15pm to 5:15pm (2); Thurs 1:30pm to 6:00pm (4.5); 4:15pm to 6:15pm (2); Total: 21 hours

  • Reviewed paper: Traversal caches: a first step towards FPGA acceleration of pointer-based data structures
  • Cleaned-up and rewrote
    • Network stack related headers
    • Link-level packet processing (network/net*)
    • ARP (network/arp/arp*)
  • Changed network stack to utilize netaddr structure for all IP and MAC addresses
  • Assisted with merge of webinterface, agember, and trunk-2.0 branches
  • Read chapter 12 in The Design and Implementation of the 4.4 BSD Operating System (notes on Trac)

June 14 - June 20

Mon 1pm to 3:30pm (2.5); Tues 1:30pm to 6:30pm (5); Wed 1:30pm to 5pm (3.5); Fri 10am to 11am, 7:30pm to 8pm (1.5); Sat 9:30am to 10:30am (1); Total: 13.5 hours

June 21 - June 27

Sun 10am to 10:30am (0.5); Mon 12:30pm to 3:30pm (3); Tues 1:30pm to 10:30pm (9); Wed 1pm to 4:30pm (3.5); Thurs 3pm to 5:30pm, 7pm to 10pm (5.5); Total: 21.5 hours

June 28 - July 4

Sun: 5:00pm to 8:30pm (3.5); Mon 2:00pm to 6:00pm (4); Tues 1:30pm to 9:00pm; 10:00pm to 10:30pm (8); Wed 1:15pm to 6:15pm (5); Thurs 12:00pm to 10:00pm (10); Total: 30.5 hours

July 5 - July 11

Mon 2:00pm to 6:30pm (4.5); Tues 2:00pm to 10:00pm (8); Wed 3:00pm to 6:00pm (3); Thurs 11:30am to 5:30pm (6); Fri 1:45pm to 6:45pm, 8:00pm to 12:00pm (9); Sat 1:30pm to 7:00pm (5.5); Total: 36 hours

  • Read chapters 3 & 4 in The Linux Networking Architecture: Design and Implementation of Network Protocols in the Linux Kernel
  • Continued implementation of PCAP library
  • Reviewed paper Eliminating the call stack to save RAM

July 12 - July 18

Sun 3:45pm to 5:30pm, 10:45pm to 12:00pm (3); Mon 1:30pm to 4:00pm (2.5); Tues 1pm to 9pm (8); Thurs 12:30pm to 4:30pm (4); Total: 22.5 hours

  • Reviewed paper Outdoors augmented reality on mobile phone using loxel-based visual feature organization
  • Completed ARP test case. The test case covers every line of code in ARP that is feasibly testable. The only function not covered is arpInit which is called at startup.
  • Created a new network branch for completing development of the network stack.
  • Merged the network interface, netaddr, and ARP code into trunk. This includes all functions, header files, and test cases related to these components.
  • Started to clean-up/tweak snoop. I decided PCAP was too large and too time intensive to implement. I have kept the structures necessary to read PCAP files, but disposed of everything else. The new snoop system works similar to PCAP - it attaches a structure to a network interface and uses mailboxes for queue packets. The new snoop shell function has many more arguments including verbose levels, hex dump, and filtering capabilities. I anticipate finishing snoop and merging it into trunk before I leave for my vacations.

July 19 - July 25

Vacation July 19 - July 25

July 26 - August 1

Vacation July 29 - August 1

August 2 - August 8

Vacation August 2 - August 5 Tues 7:30pm to 9:30pm (2); Wed 1:30pm to 8:30pm (7); Thurs 1:30pm to 7:30pm (6); Total: hours

August 9 - August 15