Difference between revisions of "User:Agebhard"
From REU@MU
m |
|||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | == 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) ==== | ||
+ | * 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 | ||
* Read the following papers | * Read the following papers | ||
** 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) | ||
− | ** 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] |
− | ** 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)
- Setup the RISC-V 64-bit compiler and QEMU [1hr]
- Read and took notes on the 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
- Met daily with Dr. Brylow, Alex R., John A., and Rade L. to discuss project ideas for this summer
- Read the following papers
- 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 Parallel Computing in Assembly Programming
- XinuPi3: Teaching Multicore Concepts Using Embedded Xinu
- Attended Dr. Brylow’s talk on good research practices
- 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
- 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
- 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
- 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
- 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:
- 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:
- 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