cs431
cs431 copied to clipboard
Please read carefully for the exam. - **Date and Place** We will conduct the **midterm exam on October 17th (Mon), 13:00-15:00 in the lecture room (N1 102)**. (**No extension** will...
When browsing through the nodes of the linked list, should I make sure the lock I acquire is not null before releasing the lock I had? For example if the...
Implementation in drop function when I wrote the code with ptr::read like ... let next = ptr::read(&node.next); let x = next.lock(); (use x) successfully pass the test case but ......
Actually, I had same problem with [@645](https://github.com/kaist-cp/cs431/issues/645) and changing the order of code solved the problem. Can I know what is the reason for this weird solution?
I found a very new crate called Kanal([github](https://github.com/fereidani/kanal)) on a [reddit article](https://www.reddit.com/r/rust/comments/y5im3n/kanal_channels_80x_faster_than_the_standard/). Its channel claims up to 80x speedup compared to other channels, including crossbeam-channel. Just wanted to share my...
In ticketlock.rs, we define ticketlock struct as below: ```rust pub struct TicketLock { curr: AtomicUsize, next: AtomicUsize, } ``` But why curr and next not cachepadded? As they are modified...
In the lock implementation which use linked list, there is a PhantomData in the Node only in MCS parking lock but not in others such as CLH or MCS lock....
While lcok function of ChlLock spins over node which was allocated by other thread, lock function of McsLock spins over self-allocated node. I've understood that's how McsLock considers NUMA. However,...
I found a interesting article about Rust. [Safe Systems Programming in Rust](https://cacm.acm.org/magazines/2021/4/251364-safe-systems-programming-in-rust/fulltext) Although I haven't finished reading it yet, I wanted to share it because there seemed to be a...
Implement a simplified version of [Arc](https://doc.rust-lang.org/std/sync/struct.Arc.html). - Read [this manual](https://github.com/kaist-cp/cs431/blob/main/homework/README.md) for general advice on homework. - [Documentation & Tips](https://github.com/kaist-cp/cs431/blob/main/homework/doc/arc.md). - Use [skeleton code](https://github.com/kaist-cp/cs431/tree/main/homework/src/arc.rs) as a starting point, and fill out...