Difference between revisions of "User:Agember"

From Embedded Xinu
Jump to navigation Jump to search
(New page: I am pursuing a major in Computer Science at Marquette University, graduating in May 2009. My computer skills are very broad, including software development, website design, and deskside s...)
 
 
(107 intermediate revisions by the same user not shown)
Line 1: Line 1:
I am pursuing a major in Computer Science at Marquette University, graduating in May 2009. My computer skills are very broad, including software development, website design, and deskside support. Currently, I am assisting Dr. Brylow with this Xinu research project and I am employed at Marquette University's Information Technology Services. I am involved in the Marquette University Computer Science Club and the Marquette University Linux Users Group (MULUG). After graduation, I plans to pursue a career in business application development.  To learn more about me, visit my website at http://www.gemberdesign.com.
+
== 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: [http://doi.acm.org/10.1145/1452520.1452534 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''
 +
* Reviewed paper: [http://doi.acm.org/10.1145/1452520.1452534 A measurement study of a commercial-grade urban wifi mesh]
 +
* 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)
 +
 
 +
=== 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''
 +
* 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]
 +
* Read Chapter 4 (Address Discovery and Binding (ARP)) in ''Internetworking With TCP/IP Vol II: Design, Implementation, and Internals''
 +
* Cleaned-up and rewrote
 +
** Network stack related headers (<code>net.h</code>, <code>network.h</code>, <code>ethpkt.h</code>)
 +
** <code>netUp</code>, <code>netRecv</code>, <code>netSend</code>, <code>netDown</code>
 +
 
 +
=== 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: [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
 +
** Network stack related headers
 +
** 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
 +
* 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''
 +
* 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 ===
 +
''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 ===
 +
''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 ===
 +
''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 ===
 +
''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 trunkThis 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 ===

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