Difference between revisions of "User:Agebhard"

From REU@MU
Jump to: navigation, search
m
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== 2022 ==
  
== Weekly Logs ==
+
=== Week 1 (5/31 - 6/3) ===
 +
==== Tuesday (5/31) ====
 +
* Attended REU orientation [2hrs]
 +
* Out for the rest of the day
  
 +
==== Wednesday (6/1) ====
 +
* Began to merge branches of past semesters of XINU work [2hrs]
 +
* Attended REU meeting on "How to conduct research" [1.5hrs]
 +
* Lab meeting [3hrs]
 +
 +
==== Thursday (6/2) ====
 +
* Setup the RISC-V 64-bit compiler and QEMU [1hr]
 +
* Read and took notes on the [https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf RISC Unprivileged Spec] [6hrs]
 +
 +
==== Friday (6/3) ====
 +
* Work on writing start.S for RISC-V [2 hrs]
 +
* Team Lunch [2 hrs]
 +
* Team meeting [2 hrs]
 +
 +
=== Week 2 (6/6 - 6/10) ===
 +
==== Monday (6/6) ====
 +
* Finished rough draft of start.S [1 hr]
 +
* Wrote serial driver [5 hrs]
 +
 +
==== Tuesday (6/7) ====
 +
* Began implementing context switch [5 hrs]
 +
 +
==== Wednesday (6/8) ====
 +
* Attended REU group meeting/lunch [2 hrs]
 +
* Discussed project roadmap with Dr. Brylow and Jack [3 hrs]
 +
 +
==== Thursday (6/9) ====
 +
* Finished context switch implementation [5 hrs]
 +
* Tested context switch [1 hr]
 +
 +
==== Friday (6/10) ====
 +
* Minor changes to ensure context switch works with 8+ arguments [1 hr]
 +
* Attended team lunch [2 hrs]
 +
* Attended team meeting to discuss weekly progress with the group [2 hrs]
 +
 +
== 2020 ==
 +
 +
=== Week 1 (6/1 - 6/5) ===
 
* Attended Data Science Bootcamp  
 
* Attended Data Science Bootcamp  
 
* Met daily with Dr. Brylow, Alex R., John A., and Rade L. to discuss project ideas for this summer  
 
* Met daily with Dr. Brylow, Alex R., John A., and Rade L. to discuss project ideas for this summer  
Line 7: Line 49:
 
** Using Embedded Xinu and the Raspberry Pi 3 to Teach Operating Systems (not yet published)  
 
** Using Embedded Xinu and the Raspberry Pi 3 to Teach Operating Systems (not yet published)  
 
** [https://doi.org/10.1109/IPDPSW.2019.00063 Using Embedded Xinu and the Raspberry Pi 3 to Teach Parallel Computing in Assembly Programming]
 
** [https://doi.org/10.1109/IPDPSW.2019.00063 Using Embedded Xinu and the Raspberry Pi 3 to Teach Parallel Computing in Assembly Programming]
** [https://dl.acm.org/authorize?N42082 XinuPi3: Teaching Multicore Concepts Using Embedded Xinu]
+
** [https://dl.acm.org/doi/10.1145/3162087.3162091 XinuPi3: Teaching Multicore Concepts Using Embedded Xinu]
 
* Attended Dr. Brylow’s talk on good research practices  
 
* Attended Dr. Brylow’s talk on good research practices  
 
* Worked on fixing the mailbox system in Xinu for homework assignment #9
 
* Worked on fixing the mailbox system in Xinu for homework assignment #9
 +
 +
 +
=== Week 2 (6/8 - 6/12) ===
 +
* Completed 3 CITI Sessions for RCR
 +
* Attended Dr. Brylow's RCR Training
 +
* Attended Dr. Brylow's Technical Writing discussion
 +
* Read most of the xv6 O/S book
 +
** Looked into how xv6 uses locks and synchronization primitives
 +
* Read the following papers
 +
** [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.8674&rep=rep1&type=pdf Implementing Lock-Free Queues]
 +
** [https://dl.acm.org/doi/10.1145/142111.993246 A Lock-Free Multiprocessor OS Kernel]
 +
* Continued to work on fixing the mailbox system in Xinu for homework assignment #9
 +
** I would like to discuss this more with the team next week
 +
 +
 +
=== Week 3 (6/15 - 6/19) ===
 +
* Looked into core atomic operation we need in Xinu
 +
* Submitted a PR for a race condition semalloc
 +
* Audited the use of synchronization primitives in Xinu
 +
* Read the following papers
 +
** [https://dl.acm.org/doi/10.1145/114005.102808 Wait-Free Synchronization]
 +
** [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.645.4745&rep=rep1&type=pdf Teaching Operating Systems Using Code Review]
 +
** [https://dl.acm.org/doi/10.1145/1930277.1930284 Xest: an automated framework for regression testing of embedded software]
 +
** [https://dl.acm.org/doi/10.1145/1953163.1953283 Hands-on networking labs with embedded routers]
 +
* Weekly Xinu Team Meetings
 +
* Met with Dr. Brylow, John A, and Rade L to discuss the Wait-Free Synchronization paper
 +
 +
 +
=== Week 4 (6/22 - 6/26) ===
 +
* Attempted to implement a lock-free array-based queue in XINU
 +
* Submitted a PR for general code cleanup in various areas of XINU
 +
* Worked on draft of presentation to give next week to fellow REU students
 +
* Read the following papers
 +
** [https://dl.acm.org/doi/10.1145/248052.248106 Simple, fast, and practical non-blocking and blocking concurrent queue algorithms]
 +
** [https://dl.acm.org/doi/pdf/10.1145/3339186.3339191 (Dis)Advantages of Lock-free Synchronization Mechanisms for Multicore Embedded Systems]
 +
** [https://doi.org/10.1016/j.eswa.2014.09.054 Efficient agglomerative hierarchical clustering]
 +
* Weekly Xinu Team Meetings
 +
* Weekly REU Meeting
 +
 +
 +
=== Week 5 (6/29 - 7/3) ===
 +
* Created presentation to give to fellow REU students and mentors regarding my current progress
 +
** Delivered this presentation on Wednesday 5/1
 +
* Researched implementing a dynamic lock-free linked list based queue by Maged Michael and Michael Scott
 +
** Ran into issues with memory reclamation
 +
* Read the following papers
 +
** [https://dl.acm.org/doi/abs/10.1145/248052.248106 Simple, fast, and practical non-blocking and blocking concurrent queue algorithms]
 +
** [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.395.378&rep=rep1&type=pdf Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects]
 +
** Chapters 5 and 6 of [https://pdos.csail.mit.edu/6.828/2019/xv6/book-riscv-rev0.pdf xv6: a simple, Unix-like teaching operating system]
 +
* Weekly Xinu Team Meetings
 +
 +
 +
=== Week 6 (7/6 - 7/10) ===
 +
* Studied XINU's USB subsystem
 +
* Started to convert shell (xhs) to multicore
 +
* Read the following paper:
 +
** [https://www.usenix.org/system/files/conference/nsdi14/nsdi14-paper-jeong.pdf mTCP: a Highly Scalable User-level TCP Stackfor Multicore Systems]
 +
* Weekly Xinu Team Meetings
 +
 +
 +
=== Week 7 (7/13 - 7/17) ===
 +
* Converted XINU's shell and device infrastructure to multicore
 +
** Merged into main branch
 +
* Started to work on poster
 +
* Weekly Xinu Team Meetings
 +
 +
 +
=== Week 8 (7/20 - 7/24) ===
 +
* Replaced current atomic primitives to use compare and swap
 +
** Merged into main branch
 +
* Finished first draft of poster
 +
* Started to convert Xinu's USB subsystem to support multicore
 +
* Created a code map of the USB subsystem
 +
* Read the following paper:
 +
** [https://dl.acm.org/doi/pdf/10.1145/2884781.2884819 Fixing deadlocks via lock pre-acquisitions]
 +
* Weekly Xinu Team Meetings
 +
 +
 +
=== Week 9 (7/20 - 7/24) ===
 +
* Finished poster
 +
* Began revising/editing the paper
 +
* Weekly Xinu Team Meetings
 +
 +
 +
=== Week 10 (8/3 - 8/7) ===
 +
* Presented poster
 +
* Finished paper
 +
* Submitted materials

Latest revision as of 19:52, 14 June 2022

2022

Week 1 (5/31 - 6/3)

Tuesday (5/31)

  • Attended REU orientation [2hrs]
  • Out for the rest of the day

Wednesday (6/1)

  • Began to merge branches of past semesters of XINU work [2hrs]
  • Attended REU meeting on "How to conduct research" [1.5hrs]
  • Lab meeting [3hrs]

Thursday (6/2)

Friday (6/3)

  • Work on writing start.S for RISC-V [2 hrs]
  • Team Lunch [2 hrs]
  • Team meeting [2 hrs]

Week 2 (6/6 - 6/10)

Monday (6/6)

  • Finished rough draft of start.S [1 hr]
  • Wrote serial driver [5 hrs]

Tuesday (6/7)

  • Began implementing context switch [5 hrs]

Wednesday (6/8)

  • Attended REU group meeting/lunch [2 hrs]
  • Discussed project roadmap with Dr. Brylow and Jack [3 hrs]

Thursday (6/9)

  • Finished context switch implementation [5 hrs]
  • Tested context switch [1 hr]

Friday (6/10)

  • Minor changes to ensure context switch works with 8+ arguments [1 hr]
  • Attended team lunch [2 hrs]
  • Attended team meeting to discuss weekly progress with the group [2 hrs]

2020

Week 1 (6/1 - 6/5)


Week 2 (6/8 - 6/12)

  • Completed 3 CITI Sessions for RCR
  • Attended Dr. Brylow's RCR Training
  • Attended Dr. Brylow's Technical Writing discussion
  • Read most of the xv6 O/S book
    • Looked into how xv6 uses locks and synchronization primitives
  • Read the following papers
  • Continued to work on fixing the mailbox system in Xinu for homework assignment #9
    • I would like to discuss this more with the team next week


Week 3 (6/15 - 6/19)


Week 4 (6/22 - 6/26)


Week 5 (6/29 - 7/3)


Week 6 (7/6 - 7/10)


Week 7 (7/13 - 7/17)

  • Converted XINU's shell and device infrastructure to multicore
    • Merged into main branch
  • Started to work on poster
  • Weekly Xinu Team Meetings


Week 8 (7/20 - 7/24)

  • Replaced current atomic primitives to use compare and swap
    • Merged into main branch
  • Finished first draft of poster
  • Started to convert Xinu's USB subsystem to support multicore
  • Created a code map of the USB subsystem
  • Read the following paper:
  • Weekly Xinu Team Meetings


Week 9 (7/20 - 7/24)

  • Finished poster
  • Began revising/editing the paper
  • Weekly Xinu Team Meetings


Week 10 (8/3 - 8/7)

  • Presented poster
  • Finished paper
  • Submitted materials