Blog

  • No Halloween this year I used to love Halloween growing up, not so much the dressing up part but the knocking on doors and getting handed fist fulls of candy. Now, as an adult, I love returning the favor and always think about giving out larger than average candy and chocolate. But not this year,…

    Weekly Review – Week ending in 2020/11/01
  • What a weird morning. Totally forgot the the time changed, the clock moving back an hour (i.e. we gain an hour), and found myself studying and working at 03:30 AM (instead of 04:30 AM). When I first woke up and glanced at my Casio watch, I debated whether to get out of bed or not…

    Daily Review – Day ending in 2020/11/01
  • Overview In this post, I’m sharing five tips that I’ve picked up over the last 2 years in the program. At the time of this writing, I’m wrapping up my 7th course (advanced operating systems) in the OMSCS program. This means that I have 3 more courses to complete until I graduate with my masters…

    Five tips for surviving (or thriving) in the OMSCS program as a computer science graduate student
  • An example Summary Key Words: Conditional variable, pthread_signal, pthread_wait in the concrete example (screenshot below), P1 instructions that update memory (e.g. flag = 1) can be run in parallel with that of P2 because of release consistency model Advantage of RC over SC   Summary In a nutshell, we gain performance in a shared memory…

    Distributed Shared Memory (Part 2 of 2) Notes
  • Introduction Summary Main question is this: can we make a cluster look like a shared memory machine Cluster as a parallel machine (sequential program) Summary One strategy is to not write explicit parallel programs and instead use language assisted features (like pragma) that signal to the compiler that this section be optimized. But, there are…

    Distributed Shared Memory (Part 1 of 2) Notes
  • Introduction Summary Lessons will be broken down into three modules: GMS (i.e. can we use peer memory for paging across LAN) and DSM (i.e. can we make the cluster appear as a shared memory machine) and DFS (i.e. can we use cluster memory for cooperative caching of files) Context for Global Memory Systems Summary Key…

    Global memory systems (part 1 of 2) notes
  • Work Defined a data specification (in the form of a protobuf definition) that’ll be used to help drive the conversation between us and our customer. Our customer (AWS Networking) will be vending us data but its unclear (at the moment) what data they will be providing not only to us but to other teams. So…

    Daily Review: Day Ending in 2020/10/21
  • Introduction Summary How do quickly and reliably route data Routing on the Internet Summary Key Words: active network The idea is that instead of each router performing a simple next hop look up, let’s make the routers smart and inject code in the packet that can influence the flow. How can we do this securely…

    Distributed Systems – Active Networks (notes)
  • Introduction Summary Lamport’s theories provided deterministic execution for non determinism exists due to vagaries of the network. Will discuss techniques to make OS efficient for network communication (interface to kernel and inside the kernel network protocol stack) Latency Quiz Summary What’s the difference between latency and throughput. Latency is 1 minute and throughput is 5…

  • Family and Friends Celebrated Elliott’s 1 year birthday. Jess and I are two weeks late but to be fair, the two of us were in the midst of moving the entire house, making it difficult to celebrate properly. And now that we moved in — but not quite fully unpacked — it’s easy to let…

    Daily Review: Day Ending in 2020/10/18